<SEC-DOCUMENT>0001641172-25-022618.txt : 20250807
<SEC-HEADER>0001641172-25-022618.hdr.sgml : 20250807
<ACCEPTANCE-DATETIME>20250807172414
ACCESSION NUMBER:		0001641172-25-022618
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		79
CONFORMED PERIOD OF REPORT:	20250630
FILED AS OF DATE:		20250807
DATE AS OF CHANGE:		20250807

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Tecnoglass Inc.
		CENTRAL INDEX KEY:			0001534675
		STANDARD INDUSTRIAL CLASSIFICATION:	FLAT GLASS [3211]
		ORGANIZATION NAME:           	04 Manufacturing
		EIN:				000000000
		STATE OF INCORPORATION:			E9
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-35436
		FILM NUMBER:		251195439

	BUSINESS ADDRESS:	
		STREET 1:		3550 NW 49TH STREET,
		CITY:			MIAMI
		STATE:			FL
		ZIP:			33142
		BUSINESS PHONE:		1(305)638-5151

	MAIL ADDRESS:	
		STREET 1:		3550 NW 49TH STREET,
		CITY:			MIAMI
		STATE:			FL
		ZIP:			33142

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Andina Acquisition Corp
		DATE OF NAME CHANGE:	20111110
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>form10-q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:us-gaap="http://fasb.org/us-gaap/2025" xmlns:us-roles="http://fasb.org/us-roles/2025" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2025" xmlns:country="http://xbrl.sec.gov/country/2025" xmlns:srt="http://fasb.org/srt/2025" xmlns:TGLS="http://tecnoglass.com/20250630">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_020_US%2DGAAP%2D2025%2D(with%2DECD) -->
<!-- Field: Set; Name: xdx; ID: xdx_030_TGLS_tecnoglass.com_20250630 -->
<!-- Field: Set; Name: xdx; ID: xdx_041_20250101_20250630 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_05E_edei%2D%2DEntityCentralIndexKey_0001534675 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_064_Integer_5_Integer -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_Segment_0_Segment -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000004" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000005" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000006" name="dei:EntityCentralIndexKey">0001534675</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:AccountsReceivableNetNoncurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl0080" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl0140" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2025-06-30" id="xdx2ixbrl0151" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2024-12-31" id="xdx2ixbrl0152" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2025-06-30" id="xdx2ixbrl0157" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2024-12-31" id="xdx2ixbrl0158" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:OtherOperatingIncomeLoss" contextRef="From2024-04-012024-06-30" id="xdx2ixbrl0264" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:OtherOperatingIncomeLoss" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl0266" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl0375" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl0429" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl0435" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:PaymentsOfNonControllingInterestExpense" contextRef="From2025-01-01to2025-06-30" id="xdx2ixbrl0449" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:AccountPayableForBusinessAcquisition" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl0495" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_ParentMember" id="xdx2ixbrl0502" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0503" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0509" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31_custom_LegalReservesMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0512" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0519" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31_custom_LegalReservesMember" id="xdx2ixbrl0521" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0522" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0523" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0530" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0531" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31_custom_LegalReservesMember" id="xdx2ixbrl0532" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0533" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0539" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0540" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31_custom_LegalReservesMember" id="xdx2ixbrl0541" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0542" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0548" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0549" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_custom_LegalReservesMember" id="xdx2ixbrl0550" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0552" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_ParentMember" id="xdx2ixbrl0553" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0554" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_ParentMember" id="xdx2ixbrl0562" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0563" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0568" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0569" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_custom_LegalReservesMember" id="xdx2ixbrl0570" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0572" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0574" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0579" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30_custom_LegalReservesMember" id="xdx2ixbrl0581" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0582" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0583" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0590" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0591" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30_custom_LegalReservesMember" id="xdx2ixbrl0592" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0593" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0599" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0600" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30_custom_LegalReservesMember" id="xdx2ixbrl0601" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0602" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0608" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0609" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_custom_LegalReservesMember" id="xdx2ixbrl0610" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0612" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_ParentMember" id="xdx2ixbrl0613" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0614" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_ParentMember" id="xdx2ixbrl0622" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0623" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0634" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0639" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0640" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_custom_LegalReservesMember" id="xdx2ixbrl0641" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0643" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0645" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0650" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0651" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_custom_LegalReservesMember" id="xdx2ixbrl0652" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0653" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0656" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0659" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0660" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_custom_LegalReservesMember" id="xdx2ixbrl0661" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0662" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0665" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0668" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0669" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_LegalReservesMember" id="xdx2ixbrl0670" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0672" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0674" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0683" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0694" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0699" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0700" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_custom_LegalReservesMember" id="xdx2ixbrl0701" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0703" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0705" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0721" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0722" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_custom_LegalReservesMember" id="xdx2ixbrl0723" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0724" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0727" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0730" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0731" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_custom_LegalReservesMember" id="xdx2ixbrl0732" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0733" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0736" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0739" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0740" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_custom_LegalReservesMember" id="xdx2ixbrl0741" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0743" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0745" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0754" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0765" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="AsOf2025-06-30" id="xdx2ixbrl0794" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl0968" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl1005" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherLongTermDebtCurrent" contextRef="AsOf2025-06-30" id="xdx2ixbrl1123" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" contextRef="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember" id="xdx2ixbrl1179" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember" id="xdx2ixbrl1183" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" contextRef="AsOf2025-06-30" id="xdx2ixbrl1187" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:EffectOfDilutiveSecuritiesAndStockDividend" contextRef="From2025-04-012025-06-30" id="xdx2ixbrl1454" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:EffectOfDilutiveSecuritiesAndStockDividend" contextRef="From2024-04-012024-06-30" id="xdx2ixbrl1455" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:EffectOfDilutiveSecuritiesAndStockDividend" contextRef="From2025-01-01to2025-06-30" id="xdx2ixbrl1456" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="TGLS:EffectOfDilutiveSecuritiesAndStockDividend" contextRef="From2024-01-012024-06-30" id="xdx2ixbrl1457" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="tgls-20250630.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2025-01-01to2025-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-08-01">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-08-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_NonrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_NonrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_ExternalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_ExternalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_ExternalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ExternalCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_LegalReservesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-04-30_custom_ContiglassAssetAcquisitionLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">TGLS:ContiglassAssetAcquisitionLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-04-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">TGLS:ContiglassAssetAcquisitionLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-04-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-042025-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-04</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_srt_ProFormaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_srt_ProFormaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_srt_ProFormaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_srt_ProFormaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_ContractAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">TGLS:ContractAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_ContractLiabilitiesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">TGLS:ContractLiabilitiesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_FixedPriceContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_FixedPriceContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_FixedPriceContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_FixedPriceContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_ProductSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_ProductSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_ProductSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ProductSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_country_CO">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_country_CO">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_country_CO">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_country_CO">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_country_PA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_country_PA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_country_PA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_country_PA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_OtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_OtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_OtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_OtherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_ResidentialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_ResidentialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_ResidentialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ResidentialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_CommercialMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-12-31_srt_ScenarioForecastMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2026-12-31_srt_ScenarioForecastMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2026-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2027-12-31_srt_ScenarioForecastMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2027-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_TradeNamesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_SoftwareAndLicensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:SoftwareAndLicensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_ContractBacklogMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:ContractBacklogMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_SupplierFinanceProgramMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_SupplierFinanceProgramMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-21</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-21</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_us-gaap_InterestRateSwapMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_AccumulatedOtherComprehensiveLossMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">TGLS:AccumulatedOtherComprehensiveLossMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_OtherCurrentAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_OtherCurrentAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:DueFromOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:DueFromOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_FundacionTecnoglassMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_FundacionTecnoglassMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_FundacionTecnoglassMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_FundacionTecnoglassMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-05-03_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-05-03</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-082020-12-09_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-08</xbrli:startDate>
        <xbrli:endDate>2020-12-09</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-09_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-09</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-10-282020-10-28_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-10-28</xbrli:startDate>
        <xbrli:endDate>2020-10-28</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-28_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-28</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-10-27_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-10-27</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-04-012025-06-30_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-04-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_VidrioAndinoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-30_custom_ZofracostaSAMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:ZofracostaSAMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_ZofracostaSAMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:ZofracostaSAMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-10_custom_QuarterlyRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">TGLS:QuarterlyRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-06-10_custom_AnnualBasisMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">TGLS:AnnualBasisMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-06-10</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">TGLS:NovemberThirtyTwoThousandThirtyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-06-30_srt_MinimumMember_custom_ThroughTwoThousandTwentyEightMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001534675</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">TGLS:ThroughTwoThousandTwentyEightMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Integer">
      <xbrli:measure>TGLS:Integer</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Segment">
      <xbrli:measure>TGLS:Segment</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"></p>

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 4pt solid; font-size: 1pt; border-bottom: Black 1pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>UNITED
STATES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>SECURITIES
AND EXCHANGE COMMISSION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
D.C. 20549</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_908_edei--DocumentType_c20250101__20250630_zR0huK7QHblk"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000014" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(MARK
ONE)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90C_edei--DocumentQuarterlyReport_c20250101__20250630_zjDi17jK6UL9"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:booleantrue" id="Fact000015" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>QUARTERLY
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the quarterly period ended <span id="xdx_90A_edei--DocumentPeriodEndDate_c20250101__20250630_z3SOTM8IoVD"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:datemonthdayyearen" id="Fact000016" name="dei:DocumentPeriodEndDate">June 30, <span id="xdx_904_edei--DocumentFiscalYearFocus_c20250101__20250630_zEA9mNpwM3zi"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000017" name="dei:DocumentFiscalYearFocus">2025</ix:nonNumeric></span></ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90A_edei--DocumentTransitionReport_c20250101__20250630_zngcuJK7vbti"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:booleanfalse" id="Fact000018" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>TRANSITION
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the transition period from to</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Commission
file number: <span style="text-decoration: underline"><span id="xdx_90E_edei--EntityFileNumber_c20250101__20250630_zNx0P41OoJA9"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000019" name="dei:EntityFileNumber">001-35436</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_90B_edei--EntityRegistrantName_c20250101__20250630_zglhMK9oGna6"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000020" name="dei:EntityRegistrantName">TECNOGLASS
INC.</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
Name of Registrant as Specified in Its Charter)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_906_edei--EntityIncorporationStateCountryCode_c20250101__20250630_zBUGFaO3AYbc"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:edgarprovcountryen" id="Fact000021" name="dei:EntityIncorporationStateCountryCode">Cayman
    Islands</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_905_edei--EntityTaxIdentificationNumber_c20250101__20250630_zevNmqsRJax1"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000022" name="dei:EntityTaxIdentificationNumber">98-1271120</ix:nonNumeric></span></b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
                                            or other jurisdiction</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of
    incorporation or organization)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S.
                                            Employer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification
    No.)</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90D_edei--EntityAddressAddressLine1_c20250101__20250630_zaTMGGJ0Y023"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000023" name="dei:EntityAddressAddressLine1">3550
NW 49th Street</ix:nonNumeric></span>, <span id="xdx_901_edei--EntityAddressCityOrTown_c20250101__20250630_ztXycUW9Af3d"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000024" name="dei:EntityAddressCityOrTown">Miami</ix:nonNumeric></span>, <span id="xdx_901_edei--EntityAddressStateOrProvince_c20250101__20250630_zxhpNBKNEcn"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:stateprovnameen" id="Fact000025" name="dei:EntityAddressStateOrProvince">Florida</ix:nonNumeric></span> <span id="xdx_90E_edei--EntityAddressPostalZipCode_c20250101__20250630_zoKwcfluna7a"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000026" name="dei:EntityAddressPostalZipCode">33142</ix:nonNumeric></span>, <span id="xdx_900_edei--EntityAddressCountry_c20250101__20250630_z6fP9bYgn644"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:countrynameen" id="Fact000027" name="dei:EntityAddressCountry">USA</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Avenida
Circunvalar a 100 mts de la Via 40, Barrio Las Flores Barranquilla, Colombia</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
of principal executive offices)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_905_edei--CountryRegion_c20250101__20250630_z1Uz6GV89Ss7"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000028" name="dei:CountryRegion">+1</ix:nonNumeric></span>
<span id="xdx_90E_edei--CityAreaCode_c20250101__20250630_zS6tnqBjBqpl"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000029" name="dei:CityAreaCode">305</ix:nonNumeric></span> <span id="xdx_90E_edei--LocalPhoneNumber_c20250101__20250630_zeYEISGDBYo"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000030" name="dei:LocalPhoneNumber">638 5151</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Issuer&#8217;s
telephone number)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(b) of the Act:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 16%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol(s)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which registered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_edei--Security12bTitle_c20250101__20250630_zAypgMIEg4S4"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000031" name="dei:Security12bTitle">Ordinary
    Shares</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_edei--TradingSymbol_c20250101__20250630_zuioRMnL75ob"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000032" name="dei:TradingSymbol">TGLS</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--SecurityExchangeName_c20250101__20250630_zzIZCUsIVwX2"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:exchnameen" id="Fact000033" name="dei:SecurityExchangeName">The
    New York Stock Exchange</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Exchange Act of 1934
during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject
to such filing requirement for the past 90 days.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--EntityCurrentReportingStatus_c20250101__20250630_zupDN1UDiy6j"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000034" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span>
&#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule
405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant
was required to submit such files).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--EntityInteractiveDataCurrent_c20250101__20250630_zeHEhQv1bud9"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact000035" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span>
&#9746; No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting
company, or an emerging growth company. See definition of &#8220;large accelerated filer&#8221;, &#8220;accelerated filer,&#8221; &#8220;smaller
reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_edei--EntityFilerCategory_c20250101__20250630_zmwswqFlwZS4"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:entityfilercategoryen" id="Fact000036" name="dei:EntityFilerCategory">Large
    accelerated filer</ix:nonNumeric></span> &#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer &#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-accelerated
    filer &#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company <span id="xdx_902_edei--EntitySmallBusiness_c20250101__20250630_zb0xBRD9acTh"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:booleanfalse" id="Fact000037" name="dei:EntitySmallBusiness">&#9744;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company <span id="xdx_90F_edei--EntityEmergingGrowthCompany_c20250101__20250630_zm8gXaaxW878"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:booleanfalse" id="Fact000038" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying
with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Yes
&#9744; No <span id="xdx_906_edei--EntityShellCompany_dbF_c20250101__20250630_zacQ8cKz63wa"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt:booleanfalse" id="Fact000039" name="dei:EntityShellCompany">&#9746;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of August 1, 2025, there were <span id="xdx_90C_edei--EntityCommonStockSharesOutstanding_iI_c20250801_zcW8BeiX1t54"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2025-08-01" id="Fact000040" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,987,148</ix:nonFraction></span> ordinary shares, $<span id="xdx_90F_edei--EntityListingParValuePerShare_c20250101__20250630_zSWx4dTGSMyl"><ix:nonFraction name="dei:EntityListingParValuePerShare" contextRef="From2025-01-01to2025-06-30" id="Fact000041" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></span></span>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">par value per share, outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Rule-Page --><div style="margin-top: 0pt; margin-bottom: 0pt; width: 100%"><div style="border-top: Black 1pt solid; font-size: 1pt; border-bottom: Black 4pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 1 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>TECNOGLASS
INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FORM
10-Q FOR THE PERIOD ENDED JUNE 30, 2025</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>TABLE
OF CONTENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Page</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_016">Part I. Financial Information</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_017">Item 1. Financial Statements (Unaudited)</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_001">Condensed Consolidated Balance Sheets</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_002">Condensed Consolidated Statements of Operations and Other Comprehensive Income</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_003">Condensed Consolidated Statements of Cash Flows</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_004">Condensed Consolidated Statements of Shareholders&#8217; Equity</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="#sk_005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notes to Condensed Consolidated Financial Statements</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_006">Item 2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_007">Item 3. Quantitative and Qualitative Disclosures about Market Risk</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">24</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_008">Item 4. Controls and Procedures</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_009">Part II. Other Information</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_010">Item 1. Legal Proceedings</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_012">Item 2. Unregistered Sales of Equity Securities and Use of Proceeds</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_013">Item 5. Other Information</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_014">Item 6. Exhibits</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: #CCEEFF">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#sk_015">Signatures</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">28</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_016"></span>PART
I - FINANCIAL INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_017"></span>Item
1. Financial Statements </b>(Unaudited).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Tecnoglass
Inc. and Subsidiaries</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_001"></span>Condensed
Consolidated Balance Sheets</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(In
thousands, except share and per share data)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_300_111_pn3n3_zYwyfdq5L6p3" summary="xdx: Statement - Condensed Consolidated Balance Sheets (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zXfdqH6KVfN" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20241231_zlyoXTiEWYXi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--AssetsAbstract_iB_zJ7BodERhf86" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: center">ASSETS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AssetsCurrentAbstract_i01B_zzdV9fHBReQ" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Current assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i02I_maACz8C3_zBpKX3ZvBD0l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Cash and cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2025-06-30" id="Fact000049" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">137,907</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-12-31" id="Fact000050" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">134,882</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShortTermInvestments_i02I_maACz8C3_zsncORoE7OO3" style="vertical-align: bottom; background-color: White">
    <td>Investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2025-06-30" id="Fact000052" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,947</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2024-12-31" id="Fact000053" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,645</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccountsReceivableNetCurrent_i02I_maACz8C3_zVORr8BJoDZ8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Trade accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2025-06-30" id="Fact000055" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">227,589</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-12-31" id="Fact000056" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">202,915</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_i02I_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_maACz8C3_zurOGTYFfjza" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Due from related parties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember" id="Fact000058" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,345</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember" id="Fact000059" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,674</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--InventoryNet_i02I_maACz8C3_zEwG5aWqmUQ1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2025-06-30" id="Fact000061" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">176,521</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" id="Fact000062" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">139,642</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--ContractWithCustomerAssetNetCurrent_i02I_maACz8C3_zji4c8YEoAca" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract assets &#8211; current portion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2025-06-30" id="Fact000064" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,768</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-12-31" id="Fact000065" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,920</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OtherAssetsCurrent_i02I_maACz8C3_zp1oUN9HLQ2a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Other current assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2025-06-30" id="Fact000067" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">60,322</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2024-12-31" id="Fact000068" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">54,332</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AssetsCurrent_i02TI_maCznLt_mtACz8C3_zuABJxBz6fM5" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total current assets</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2025-06-30" id="Fact000070" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">639,399</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2024-12-31" id="Fact000071" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">560,010</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AssetsNoncurrentAbstract_i01B_zL5LkKwu4ooe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PropertyPlantAndEquipmentNet_i02I_maANzD1T_zrcLcxbjd5Kh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Property, plant and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2025-06-30" id="Fact000076" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">421,954</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31" id="Fact000077" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">344,433</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsReceivableNetNoncurrent_i02I_maANzD1T_zhV3npQGJcJe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term account receivables</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetNoncurrent" contextRef="AsOf2025-06-30" id="Fact000079" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,597</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0080">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxAssetsNet_i02I_maANzD1T_zIyGF8NBvj1b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2025-06-30" id="Fact000082" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">475</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2024-12-31" id="Fact000083" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">285</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNetNoncurrent_i02I_maANzD1T_zqAdgAMmCoEk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract assets &#8211; non-current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2025-06-30" id="Fact000085" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,405</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2024-12-31" id="Fact000086" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15,208</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i02I_maANzD1T_zETrkIJcPiS5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Intangible assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2025-06-30" id="Fact000088" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,775</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-12-31" id="Fact000089" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,389</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--Goodwill_i02I_maANzD1T_z1E8UmMBvAi4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2025-06-30" id="Fact000091" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,178</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-12-31" id="Fact000092" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,561</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermInvestments_i02I_maANzD1T_zCtb3rtbzwm3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermInvestments" contextRef="AsOf2025-06-30" id="Fact000094" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">56,635</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermInvestments" contextRef="AsOf2024-12-31" id="Fact000095" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">63,264</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherAssetsNoncurrent_i02I_maANzD1T_zjPvtMuMPuQe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Other long-term assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2025-06-30" id="Fact000097" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,791</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2024-12-31" id="Fact000098" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,498</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--AssetsNoncurrent_i02TI_maCznLt_mtANzD1T_zD9GmavQPqj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total long-term assets</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsNoncurrent" contextRef="AsOf2025-06-30" id="Fact000100" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">541,810</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsNoncurrent" contextRef="AsOf2024-12-31" id="Fact000101" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">456,638</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--Assets_i01TI_mtCznLt_zFktzPVP8534" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total assets</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2025-06-30" id="Fact000103" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,181,209</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31" id="Fact000104" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,016,648</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zJVOVxvVpsmk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: center">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LiabilitiesCurrentAbstract_i01B_zBR9ImVcU2D2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Current liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DebtCurrent_i02I_maLCzCS5_zSWA1r9RbwRl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Short-term debt and current portion of long-term debt</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DebtCurrent" contextRef="AsOf2025-06-30" id="Fact000112" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">587</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DebtCurrent" contextRef="AsOf2024-12-31" id="Fact000113" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,087</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_i02I_maLCzCS5_zxelVniwtUrk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" contextRef="AsOf2025-06-30" id="Fact000115" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">138,608</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" contextRef="AsOf2024-12-31" id="Fact000116" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">98,843</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherLiabilitiesCurrent_i02I_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_maLCzCS5_zcBGc8qCgoTg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Due to related parties</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember" id="Fact000118" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,714</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember" id="Fact000119" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,864</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DividendsPayableCurrent_i02I_maLCzCS5_zCjpDFpI2mv" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dividends payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DividendsPayableCurrent" contextRef="AsOf2025-06-30" id="Fact000121" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,068</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DividendsPayableCurrent" contextRef="AsOf2024-12-31" id="Fact000122" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,074</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_maLCzCS5_zcKW0gDKDHW4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract liability &#8211; current portion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2025-06-30" id="Fact000124" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">128,306</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-12-31" id="Fact000125" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">97,979</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherLiabilitiesCurrent_i02I_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--NonrelatedPartyMember_maLCzCS5_zeC6JZe3XPTi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Other current liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_us-gaap_NonrelatedPartyMember" id="Fact000127" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">36,198</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_us-gaap_NonrelatedPartyMember" id="Fact000128" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">50,979</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LiabilitiesCurrent_i02TI_maCzaEB_mtLCzCS5_zjmGBhse647c" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total current liabilities</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2025-06-30" id="Fact000130" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">320,481</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-12-31" id="Fact000131" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">265,826</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LiabilitiesNoncurrentAbstract_i01B_zhSnzvsYSsIg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Long-term liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i02I_maLNzyf9_zVlnW2CTS06f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2025-06-30" id="Fact000136" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15,945</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2024-12-31" id="Fact000137" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">11,419</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ContractWithCustomerLiabilityNoncurrent_i02I_maLNzyf9_zHrRupap8tmk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract liability &#8211; non-current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2025-06-30" id="Fact000139" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">140</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0140">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtNoncurrent_i02I_maLNzyf9_zArjMRv7ncHf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Long-term debt</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2025-06-30" id="Fact000142" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,642</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-12-31" id="Fact000143" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,220</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LiabilitiesNoncurrent_i02TI_maCzaEB_mtLNzyf9_zFqVaWRXCUsi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total long-term liabilities</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2025-06-30" id="Fact000145" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">124,727</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2024-12-31" id="Fact000146" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">119,639</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--Liabilities_i01TI_mtCzaEB_maLASEzTlo_zNYdme4aBU6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total liabilities</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2025-06-30" id="Fact000148" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">445,208</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2024-12-31" id="Fact000149" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">385,465</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CommitmentsAndContingencies_i01I_maLASEzTlo_zB86ohX09bci" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">COMMITMENTS AND CONTINGENCIES</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0151">-</span></span></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0152">-</span></span></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--StockholdersEquityAbstract_i01B_zCq71smwb0Qh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">SHAREHOLDERS&#8217; EQUITY</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--PreferredStockValue_i02I_maSEIPAzZFB_zLzlZmBbpqB6" style="vertical-align: bottom; background-color: White">
    <td>Preferred shares, $<span id="xdx_90D_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20250630_zbtACtdg7fNi" title="Preferred shares, par value"><span id="xdx_904_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20241231_zMnTJjNqHT09" title="Preferred shares, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2025-06-30" id="Fact000160" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-12-31" id="Fact000162" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value, <span id="xdx_901_eus-gaap--PreferredStockSharesAuthorized_iI_pid_c20250630_zPmXCVv4Q0xd" title="Preferred shares, shares authorized"><span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_iI_pid_c20241231_z6kJVIrNhM1" title="Preferred shares, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2025-06-30" id="Fact000164" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-12-31" id="Fact000166" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized, <span id="xdx_901_eus-gaap--PreferredStockSharesIssued_iI_pid_c20250630_zg3uC2Hb8NXf" title="Preferred shares, shares issued"><span id="xdx_905_eus-gaap--PreferredStockSharesOutstanding_iI_pid_c20250630_zZd1iBzPv55c" title="Preferred shares, shares outstanding"><span id="xdx_900_eus-gaap--PreferredStockSharesIssued_iI_pid_c20241231_zO0TIrwcclVa" title="Preferred shares, shares issued"><span id="xdx_903_eus-gaap--PreferredStockSharesOutstanding_iI_pid_c20241231_zFc68hveEjOi" title="Preferred shares, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2025-06-30" id="Fact000168" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2025-06-30" id="Fact000170" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-12-31" id="Fact000172" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-12-31" id="Fact000174" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0157">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0158">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CommonStockValue_i02I_maSEIPAzZFB_zByhGaDPtk0i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Ordinary shares, $<span id="xdx_907_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20250630_zXY3xPuJ7Izd" title="Ordinary shares, par value"><span id="xdx_900_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20241231_zhIALV7LD9Ai" title="Ordinary shares, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2025-06-30" id="Fact000179" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-12-31" id="Fact000181" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.0001</ix:nonFraction></ix:nonFraction></span></span> par value, <span id="xdx_90B_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20250630_z3wzrWMnXuCj" title="Ordinary shares, shares authorized"><span id="xdx_907_eus-gaap--CommonStockSharesAuthorized_iI_pid_c20241231_zOI7eaA6b2u7" title="Ordinary shares, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2025-06-30" id="Fact000183" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-12-31" id="Fact000185" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">100,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized, <span id="xdx_903_eus-gaap--CommonStockSharesIssued_iI_pid_c20250630_zd5DHHPkpguj" title="Ordinary shares, shares issued"><span id="xdx_906_eus-gaap--CommonStockSharesOutstanding_iI_pid_c20250630_ztduxOTpxg6c" title="Ordinary shares, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2025-06-30" id="Fact000187" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2025-06-30" id="Fact000189" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,987,148</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_900_eus-gaap--CommonStockSharesIssued_iI_pid_c20241231_zUQSe1Ybmsb2" title="Ordinary shares, shares issued"><span id="xdx_906_eus-gaap--CommonStockSharesOutstanding_iI_pid_c20241231_z0eT0z1gWclh" title="Ordinary shares, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-12-31" id="Fact000191" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-12-31" id="Fact000193" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,991,558</ix:nonFraction></ix:nonFraction></span></span> shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2025-06-30" id="Fact000176" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-12-31" id="Fact000177" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--LegalReserves_i02I_maSEIPAzZFB_znCSoD3LyBjk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Legal Reserves</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:LegalReserves" contextRef="AsOf2025-06-30" id="Fact000195" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:LegalReserves" contextRef="AsOf2024-12-31" id="Fact000196" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AdditionalPaidInCapital_i02I_maSEIPAzZFB_zTCSv51MVTJ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2025-06-30" id="Fact000198" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">191,755</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-12-31" id="Fact000199" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,094</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maSEIPAzZFB_zLErIZ7jGRc3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Retained earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2025-06-30" id="Fact000201" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">610,960</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-12-31" id="Fact000202" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">538,787</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maSEIPAzZFB_zysKRGhOmUNd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Accumulated other comprehensive loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2025-06-30" id="Fact000204" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">68,177</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-12-31" id="Fact000205" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">101,161</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--StockholdersEquity_i02TI_mtSEIPAzZFB_maLASEzTlo_z7oQQ11VIIGc" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total shareholders&#8217; equity</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30" id="Fact000207" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">736,001</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31" id="Fact000208" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">631,183</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_mtLASEzTlo_zwHegRpzlWBf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total liabilities and shareholders&#8217; equity</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2025-06-30" id="Fact000210" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,181,209</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-12-31" id="Fact000211" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,016,648</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: center; text-indent: -0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying notes are an integral part of these condensed consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: center; text-indent: -0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 3; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Tecnoglass
Inc. and Subsidiaries</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_002"></span>Condensed
Consolidated Statements of Operations and Other Comprehensive Income</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(In
thousands, except share and per share data)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_305_113_pn3n3_zURZz7ihPncb" summary="xdx: Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250401__20250630_zfzkpDpbyyi7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20240401__20240630_zD6m2dZ4xT27" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20250101__20250630_zWafcs1wWi0j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_498_20240101__20240630_zxZgC3Ng1VTh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--RevenueFromContractWithCustomerAbstract_iB_zNFOli6rIHu2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating revenues:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_i01_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ExternalCustomersMember_zvW7DUhowTXh" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">External customers</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_ExternalCustomersMember" id="Fact000218" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">254,145</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_ExternalCustomersMember" id="Fact000219" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">218,928</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_ExternalCustomersMember" id="Fact000220" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">475,417</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_ExternalCustomersMember" id="Fact000221" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">411,017</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_i01_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zUGZYlkdUHzf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember" id="Fact000223" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,401</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_us-gaap_RelatedPartyMember" id="Fact000224" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">726</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember" id="Fact000225" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,417</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_us-gaap_RelatedPartyMember" id="Fact000226" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,264</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_i01_maGPzmCy_zc2IdQaDyqSj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Total operating revenues</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30" id="Fact000228" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">255,546</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000229" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">219,654</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-01to2025-06-30" id="Fact000230" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">477,834</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30" id="Fact000231" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">412,281</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CostOfGoodsAndServicesSold_iN_di_msGPzmCy_z0xEebxywhQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Cost of sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2025-04-012025-06-30" id="Fact000233" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">141,211</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-04-012024-06-30" id="Fact000234" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">130,077</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2025-01-01to2025-06-30" id="Fact000235" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">265,974</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-06-30" id="Fact000236" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">248,044</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--GrossProfit_iT_mtGPzmCy_maOILzLZV_zn7xYrX6oHdk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Gross profit</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2025-04-012025-06-30" id="Fact000238" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">114,335</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-04-012024-06-30" id="Fact000239" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">89,577</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2025-01-01to2025-06-30" id="Fact000240" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">211,860</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-012024-06-30" id="Fact000241" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">164,237</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OperatingExpensesAbstract_iB_z5XJhqy3BUl8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating expenses:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SellingExpense_i01N_di_maCzjQt_zBb00YPyk4Ci" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Selling expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:SellingExpense" contextRef="From2025-04-012025-06-30" id="Fact000248" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">29,730</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:SellingExpense" contextRef="From2024-04-012024-06-30" id="Fact000249" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">20,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:SellingExpense" contextRef="From2025-01-01to2025-06-30" id="Fact000250" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">53,347</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:SellingExpense" contextRef="From2024-01-012024-06-30" id="Fact000251" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">37,583</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--GeneralAndAdministrativeExpense_i01N_di_maCzjQt_z2B2B2WYg6ff" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">General and administrative expense</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2025-04-012025-06-30" id="Fact000253" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,405</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2024-04-012024-06-30" id="Fact000254" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">18,443</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2025-01-01to2025-06-30" id="Fact000255" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">42,260</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2024-01-012024-06-30" id="Fact000256" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">34,498</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingExpenses_i01NT_di_mtCzjQt_msOILzLZV_zYosyBbkrli5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2025-04-012025-06-30" id="Fact000258" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">53,135</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2024-04-012024-06-30" id="Fact000259" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">38,443</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2025-01-01to2025-06-30" id="Fact000260" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">95,607</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2024-01-012024-06-30" id="Fact000261" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">72,081</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_ecustom--OtherOperatingIncomeLoss_i01_maOILzLZV_z7WL9dHbueVk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Other Operating income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="TGLS:OtherOperatingIncomeLoss" contextRef="From2025-04-012025-06-30" id="Fact000263" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0264">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="TGLS:OtherOperatingIncomeLoss" contextRef="From2025-01-01to2025-06-30" id="Fact000265" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,280</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0266">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingIncomeLoss_iT_maILFCOzLQ6_mtOILzLZV_zKVgUGSRzMBe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating income</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2025-04-012025-06-30" id="Fact000268" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">61,204</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000269" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">51,134</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2025-01-01to2025-06-30" id="Fact000270" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">120,533</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-012024-06-30" id="Fact000271" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">92,156</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NonoperatingGainsLosses_maILFCOzLQ6_zVdDPF1VCHH6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Non-operating income, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NonoperatingGainsLosses" contextRef="From2025-04-012025-06-30" id="Fact000273" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">588</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NonoperatingGainsLosses" contextRef="From2024-04-012024-06-30" id="Fact000274" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,731</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NonoperatingGainsLosses" contextRef="From2025-01-01to2025-06-30" id="Fact000275" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,604</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NonoperatingGainsLosses" contextRef="From2024-01-012024-06-30" id="Fact000276" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,811</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--EquityMethodIncome_maILFCOzLQ6_zCtlqReeXJg8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity method income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:EquityMethodIncome" contextRef="From2025-04-012025-06-30" id="Fact000278" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">942</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:EquityMethodIncome" contextRef="From2024-04-012024-06-30" id="Fact000279" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,237</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:EquityMethodIncome" contextRef="From2025-01-01to2025-06-30" id="Fact000280" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,286</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:EquityMethodIncome" contextRef="From2024-01-012024-06-30" id="Fact000281" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,283</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_maILFCOzLQ6_zyhX4shqZdF9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Foreign currency transactions (loss) gains</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2025-04-012025-06-30" id="Fact000283" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">847</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2024-04-012024-06-30" id="Fact000284" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">5,575</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2025-01-01to2025-06-30" id="Fact000285" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">338</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2024-01-012024-06-30" id="Fact000286" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">5,728</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_ecustom--InterestExpenseAndDeferredCostOfFinancing_iN_di_msILFCOzLQ6_z8jDhsSARfvk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Interest expense and deferred cost of financing</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="TGLS:InterestExpenseAndDeferredCostOfFinancing" contextRef="From2025-04-012025-06-30" id="Fact000288" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,350</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="TGLS:InterestExpenseAndDeferredCostOfFinancing" contextRef="From2024-04-012024-06-30" id="Fact000289" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,006</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="TGLS:InterestExpenseAndDeferredCostOfFinancing" contextRef="From2025-01-01to2025-06-30" id="Fact000290" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,681</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="TGLS:InterestExpenseAndDeferredCostOfFinancing" contextRef="From2024-01-012024-06-30" id="Fact000291" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,112</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOzLQ6_maPLzWTQ_znPHI3lDAvM3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Income before taxes</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2025-04-012025-06-30" id="Fact000293" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">62,231</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-04-012024-06-30" id="Fact000294" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">47,521</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2025-01-01to2025-06-30" id="Fact000295" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">122,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-012024-06-30" id="Fact000296" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">88,410</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_iN_di_msPLzWTQ_zxg9HNjuoRb9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Income tax provision</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30" id="Fact000298" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">18,148</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact000299" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,493</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2025-01-01to2025-06-30" id="Fact000300" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,808</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30" id="Fact000301" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,652</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--NetIncomeLoss_iT_mtPLzWTQ_maCINOTzHgW_zDr6VN5oO6gc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30" id="Fact000303" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">44,083</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000304" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,028</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-01to2025-06-30" id="Fact000305" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">86,272</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-06-30" id="Fact000306" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">64,758</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--EarningsPerShareBasic_pid_zBrF5OWrcprc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic income per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2025-04-012025-06-30" id="Fact000308" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.94</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-04-012024-06-30" id="Fact000309" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.75</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2025-01-01to2025-06-30" id="Fact000310" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.84</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-012024-06-30" id="Fact000311" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.38</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--EarningsPerShareDiluted_pid_z4efCQTeOHjj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted income per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2025-04-012025-06-30" id="Fact000313" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.94</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-04-012024-06-30" id="Fact000314" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.75</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2025-01-01to2025-06-30" id="Fact000315" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.84</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-012024-06-30" id="Fact000316" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.38</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zAAAWCE491sk" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Basic weighted average common shares outstanding</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2025-04-012025-06-30" id="Fact000318" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,988,155</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-04-012024-06-30" id="Fact000319" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,705</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2025-01-01to2025-06-30" id="Fact000320" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,989,650</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-012024-06-30" id="Fact000321" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,706</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_z6THdJmtnfk3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Diluted weighted average common shares outstanding</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2025-04-012025-06-30" id="Fact000323" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,988,155</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-04-012024-06-30" id="Fact000324" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,705</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2025-01-01to2025-06-30" id="Fact000325" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,989,650</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-012024-06-30" id="Fact000326" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,706</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ComprehensiveIncomeNetOfTaxAbstract_iB_zSyxvgwz9CI2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other comprehensive income:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_maOCIzqBr_z7OucJ6jYOG7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Foreign currency translation adjustments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2025-04-012025-06-30" id="Fact000333" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">13,260</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2024-04-012024-06-30" id="Fact000334" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,321</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2025-01-01to2025-06-30" id="Fact000335" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">32,836</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2024-01-012024-06-30" id="Fact000336" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,291</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_i01_maOCIzqBr_z0hrU5zl3dtb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Change in fair value of derivative contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30" id="Fact000338" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30" id="Fact000339" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">342</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-01to2025-06-30" id="Fact000340" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">148</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-06-30" id="Fact000341" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">694</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_i01T_mtOCIzqBr_maCINOTzHgW_zW031cxwe3Uk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Other comprehensive income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30" id="Fact000343" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">14,045</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30" id="Fact000344" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,663</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="From2025-01-01to2025-06-30" id="Fact000345" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">32,984</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-06-30" id="Fact000346" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">27,597</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCINOTzHgW_zJGNZXV7N39a" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Comprehensive income</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2025-04-012025-06-30" id="Fact000348" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">58,128</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2024-04-012024-06-30" id="Fact000349" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,365</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2025-01-01to2025-06-30" id="Fact000350" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">119,256</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2024-01-012024-06-30" id="Fact000351" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">37,161</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying notes are an integral part of these condensed consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 4; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Tecnoglass
Inc. and Subsidiaries</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_003"></span>Condensed
Consolidated Statements of Cash Flows</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Amounts
in thousands)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30E_112_pn3n3_zgXYksBw35j4" summary="xdx: Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630_zdnYNEmnaEE1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240630_zRv6ZlchSxfb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_ziQAKgnbFNlh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">CASH FLOWS FROM OPERATING ACTIVITIES</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--NetIncomeLoss_i01_maNCPBUzfrb_zCD9WzeLhqha" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left">Net income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-01to2025-06-30" id="Fact000356" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">86,272</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-06-30" id="Fact000357" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">64,758</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zh3bq41ZsWq8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Adjustments to reconcile net income to net cash provided by operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProvisionForDoubtfulAccounts_i02_maNCPBUzfrb_z8kzc8o0fHV4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2025-01-01to2025-06-30" id="Fact000362" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">987</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2024-01-012024-06-30" id="Fact000363" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DepreciationAndAmortization_i02_maNCPBUzfrb_zxSIN59pqBrj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2025-01-01to2025-06-30" id="Fact000365" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">16,479</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-012024-06-30" id="Fact000366" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,788</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredIncomeTaxesAndTaxCredits_i02_maNCPBUzfrb_zSdBqojpo3Uh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" contextRef="From2025-01-01to2025-06-30" id="Fact000368" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,002</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxesAndTaxCredits" contextRef="From2024-01-012024-06-30" id="Fact000369" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,456</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncomeLossFromEquityMethodInvestments_i02N_di_msNCPBUzfrb_zmUpRTjBx5Ik" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Equity method income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2025-01-01to2025-06-30" id="Fact000371" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,286</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2024-01-012024-06-30" id="Fact000372" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,283</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--GainLossOnDispositionOfAssets1_i02N_di_msNCPBUzfrb_zL0QdXT785fa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain on disposal of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2025-01-01to2025-06-30" id="Fact000374" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,254</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0375">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_ecustom--DeferredCostOfFinancing_i02_maNCPBUzfrb_z2sr5tQXnDaa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred cost of financing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:DeferredCostOfFinancing" contextRef="From2025-01-01to2025-06-30" id="Fact000377" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">556</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:DeferredCostOfFinancing" contextRef="From2024-01-012024-06-30" id="Fact000378" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">640</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherNoncashIncomeExpense_i02N_di_msNCPBUzfrb_z709AAhpjC5c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other non-cash adjustments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="From2025-01-01to2025-06-30" id="Fact000380" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">391</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherNoncashIncomeExpense" contextRef="From2024-01-012024-06-30" id="Fact000381" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">32</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ForeignCurrencyTransactionGainLossUnrealized_i02N_di_msNCPBUzfrb_zp2mDOcx8Pce" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Unrealized currency translation loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" contextRef="From2025-01-01to2025-06-30" id="Fact000383" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">8,718</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" contextRef="From2024-01-012024-06-30" id="Fact000384" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">741</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zz7SPxd65JD2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Changes in operating assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msNCPBUzfrb_zt8Eb5QJwlsf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Trade accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2025-01-01to2025-06-30" id="Fact000389" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">20,376</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-012024-06-30" id="Fact000390" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,913</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msNCPBUzfrb_z38GHu55mWHd" style="vertical-align: bottom; background-color: White">
    <td>Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2025-01-01to2025-06-30" id="Fact000392" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,996</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-012024-06-30" id="Fact000393" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">14,395</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_di_msNCPBUzfrb_zj3fbyiS97d3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Prepaid expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2025-01-01to2025-06-30" id="Fact000395" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,529</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2024-01-012024-06-30" id="Fact000396" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,743</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--IncreaseDecreaseInOtherOperatingAssets_i03N_di_msNCPBUzfrb_zxDPFEMgDrZa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="From2025-01-01to2025-06-30" id="Fact000398" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,248</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="From2024-01-012024-06-30" id="Fact000399" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">8,827</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzfrb_zEAHsN0VxY04" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2025-01-01to2025-06-30" id="Fact000401" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">21,802</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2024-01-012024-06-30" id="Fact000402" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,695</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maNCPBUzfrb_zFTUzQnP22t5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2025-01-01to2025-06-30" id="Fact000404" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">18,513</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2024-01-012024-06-30" id="Fact000405" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">36,961</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--IncreaseDecreaseInEmployeeRelatedLiabilities_i03_maNCPBUzfrb_zLbE21FGr7m2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Labor liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" contextRef="From2025-01-01to2025-06-30" id="Fact000407" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">87</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" contextRef="From2024-01-012024-06-30" id="Fact000408" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">121</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncreaseDecreaseInOtherOperatingLiabilities_i03_maNCPBUzfrb_zAOpIuz3RxXe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" contextRef="From2025-01-01to2025-06-30" id="Fact000410" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" contextRef="From2024-01-012024-06-30" id="Fact000411" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">42</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInCommodityContractAssetsAndLiabilities_i03N_di_msNCPBUzfrb_zigGV0eXV5Gf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract assets and liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities" contextRef="From2025-01-01to2025-06-30" id="Fact000413" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">21,387</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities" contextRef="From2024-01-012024-06-30" id="Fact000414" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,192</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--IncreaseDecreaseInDueToRelatedParties_i03_maNCPBUzfrb_zAS1KNqikC5f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDueToRelatedParties" contextRef="From2025-01-01to2025-06-30" id="Fact000416" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">1,298</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDueToRelatedParties" contextRef="From2024-01-012024-06-30" id="Fact000417" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,509</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzfrb_maCCERCz0Iz_zmGdAMJts1j8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">CASH PROVIDED BY OPERATING ACTIVITIES</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2025-01-01to2025-06-30" id="Fact000419" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">64,760</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-012024-06-30" id="Fact000420" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">67,945</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zJPTomJ1vwFa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">CASH FLOWS FROM INVESTING ACTIVITIES</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--PaymentsToAcquireInvestments_i01N_di_msNCPBUz4vH_zfrLvpXBEXo4" style="vertical-align: bottom; background-color: White">
    <td>Purchase of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2025-01-01to2025-06-30" id="Fact000425" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">73</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2024-01-012024-06-30" id="Fact000426" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">317</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--PaymentsToAcquireBusinessesNetOfCashAcquired_i01N_di_msNCPBUz4vH_zCMUOskMWFg5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Business acquisition</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2025-01-01to2025-06-30" id="Fact000428" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,841</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0429">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_i01_maNCPBUz4vH_zQtjabLTO9Ge" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Dividends received</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" contextRef="From2025-01-01to2025-06-30" id="Fact000431" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">8,914</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" contextRef="From2024-01-012024-06-30" id="Fact000432" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,703</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--ProceedsFromSaleOfPropertyPlantAndEquipment_i01_maNCPBUz4vH_zKKuCBV7MC1f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sale of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="From2025-01-01to2025-06-30" id="Fact000434" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,312</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0435">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msNCPBUz4vH_zzFfVKWFfEBl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Acquisition of property and equipment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2025-01-01to2025-06-30" id="Fact000437" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">62,939</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-06-30" id="Fact000438" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,188</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_maCCERCz0Iz_mtNCPBUz4vH_zpTV17EzvTc3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">CASH USED IN INVESTING ACTIVITIES</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2025-01-01to2025-06-30" id="Fact000440" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">48,627</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-012024-06-30" id="Fact000441" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">27,802</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_z1r4VNxUDkh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">CASH FLOWS FROM FINANCING ACTIVITIES</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsOfDividends_i01N_di_msNCPBUzQP9_zy0oedDHjul6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash dividend</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2025-01-01to2025-06-30" id="Fact000446" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">14,095</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2024-01-012024-06-30" id="Fact000447" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,407</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--PaymentsOfNonControllingInterestExpense_i01N_di_msNCPBUzQP9_zuzkmX0UeITe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Non-controlling interest purchase</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0449">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="TGLS:PaymentsOfNonControllingInterestExpense" contextRef="From2024-01-012024-06-30" id="Fact000450" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,500</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsForRepurchaseOfEquity_i01N_di_msNCPBUzQP9_z4uiW27NBfef" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stock buyback</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="From2025-01-01to2025-06-30" id="Fact000452" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">339</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfEquity" contextRef="From2024-01-012024-06-30" id="Fact000453" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--ProceedsFromIssuanceOfDebt_i01_maNCPBUzQP9_zoC59bIuP1ih" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfDebt" contextRef="From2025-01-01to2025-06-30" id="Fact000455" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,613</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfDebt" contextRef="From2024-01-012024-06-30" id="Fact000456" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,571</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RepaymentsOfDebt_i01N_di_msNCPBUzQP9_zeuJQBpaDzM7" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Repayments of debt</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfDebt" contextRef="From2025-01-01to2025-06-30" id="Fact000458" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,103</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfDebt" contextRef="From2024-01-012024-06-30" id="Fact000459" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,986</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_maCCERCz0Iz_mtNCPBUzQP9_z1diGdu0SWgh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">CASH USED IN FINANCING ACTIVITIES</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2025-01-01to2025-06-30" id="Fact000461" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">14,924</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-012024-06-30" id="Fact000462" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">40,327</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_maCCERCz0Iz_zSPraeB3D4fi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Effect of exchange rate changes on cash and cash equivalents</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2025-01-01to2025-06-30" id="Fact000464" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,816</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2024-01-012024-06-30" id="Fact000465" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">2,519</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCz0Iz_zwyIUGizBhda" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2025-01-01to2025-06-30" id="Fact000467" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,025</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2024-01-012024-06-30" id="Fact000468" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">2,703</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_znxTMiG1QVu7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">CASH AND CASH EQUIVALENTS - Beginning of period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-12-31" id="Fact000470" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">134,882</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000471" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">129,508</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_z3OGr9syOHzc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">CASH AND CASH EQUIVALENTS - End of period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2025-06-30" id="Fact000473" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">137,907</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-06-30" id="Fact000474" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">126,805</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zJq4BhQUXmx1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--CashPaidDuringPeriodForInterestAndTaxesAbstract_i01B_zMjyCUeuVZH2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash paid during the period for:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InterestPaidNet_i02_zWlTDt5JDd5l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2025-01-01to2025-06-30" id="Fact000482" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,343</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2024-01-012024-06-30" id="Fact000483" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,559</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxesPaidNet_i02_zXuiyM4hTzw" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income Tax</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2025-01-01to2025-06-30" id="Fact000485" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">47,360</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-012024-06-30" id="Fact000486" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">59,607</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NoncashInvestingAndFinancingItemsAbstract_iB_zihA7cGkBjJ7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">NON-CASH INVESTING AND FINANCING ACTIVITIES:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--FairValueOfAssetsAcquired_i01_z2ooLQMALdzh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired under credit or debt</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FairValueOfAssetsAcquired" contextRef="From2025-01-01to2025-06-30" id="Fact000491" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,663</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FairValueOfAssetsAcquired" contextRef="From2024-01-012024-06-30" id="Fact000492" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,572</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--AccountPayableForBusinessAcquisition_i01_zT9fmWFGTgh6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Account payable for business acquisition</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="TGLS:AccountPayableForBusinessAcquisition" contextRef="From2025-01-01to2025-06-30" id="Fact000494" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,588</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0495">-</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying notes are an integral part of these condensed consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 5; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Tecnoglass
Inc. and Subsidiaries</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_004"></span>Condensed
Consolidated Statements of Shareholders&#8217; Equity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Amounts
in thousands, except share and per share data)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_309_114_pn3n3_zoEbrH1eETof" summary="xdx: Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zoqaANu8iZzk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_za41vpZUC4j8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4BE_us-gaap--StatementEquityComponentsAxis_custom--LegalReservesMember_zpL1Gyvw0KGg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Reserve</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_znWylE7kT1cl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_z7Cb9tmAmWJg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Loss</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td>
    <td id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_zcoBYbrm7J3f">&#160;</td><td id="xdx_4B5_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_zJQgZ2Ui82T2" style="display: none; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B9_zOlBhK1TUzGk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Ordinary Shares, $0.0001 <br/> Par Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Additional<br/>
 Paid in</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Legal</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Retained</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Accumulated<br/>
 Other<br/>
 Comprehensive</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Total<br/>
 Shareholders&#8217;</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Reserve</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Loss</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_437_c20250101__20250331_eus-gaap--StockholdersEquity_iS_zocrXnOcZZWg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; font-weight: bold; padding-bottom: 2.5pt; padding-left: 0pt">Balance at December 31, 2024</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharesOutstanding_iS_pid_c20250101__20250331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_ze2GF7Mebzge" title="Balance, shares" style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000506" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,991,558</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000497" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000498" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,094</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_custom_LegalReservesMember" id="Fact000499" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember" id="Fact000500" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">538,787</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 1%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000501" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">101,161</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">)<span style="display: none; font-family: Times New Roman, Times, Serif"></span></td>
    <td style="width: 1%"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0502">-</span></span></td><td style="display: none; width: 1%; font-weight: bold; padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0503">-</span></span></td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31" id="Fact000504" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">631,183</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-left: 0pt">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td title="Balance, shares" style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--DividendsCommonStock_iN_di_zo6sfr9NaqWk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt">Dividend ($<span id="xdx_90C_eus-gaap--SharePrice_iI_pid_c20250331_zyIxV0Fap6Mb" title="Dividend per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2025-03-31" id="Fact000517" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.15</ix:nonFraction></span> per share)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0508">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0509">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0510">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember" id="Fact000511" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,050</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0512">-</span></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-01-012025-03-31" id="Fact000515" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,050</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--StockRepurchasedDuringPeriodValue_iN_di_zmaz8djI16af" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt">Share Repurchase</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockRepurchasedDuringPeriodShares_iN_pid_di_c20250101__20250331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvCZcclsNCIc" title="Share Repurchase, shares" style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember" id="Fact000528" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,610</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0519">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000520" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">124</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0521">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0522">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0523">-</span></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-01-012025-03-31" id="Fact000526" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">124</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_zMDG4CAUwdq5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Derivative financial instruments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0530">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0531">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0532">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0533">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000534" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">637</ix:nonFraction></td><td style="text-align: left">)</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-01-012025-03-31" id="Fact000537" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">637</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zexovUXYsYA1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Foreign currency translation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0539">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0540">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0541">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0542">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000543" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">19,576</ix:nonFraction></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-01-012025-03-31" id="Fact000546" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">19,576</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_zR0qau2Bi27h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0548">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0549">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0550">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember" id="Fact000551" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">42,189</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0552">-</span></td><td style="text-align: left"><span style="display: none; font-family: Times New Roman, Times, Serif"></span></td>
    <td><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0553">-</span></span></td><td style="display: none; font-weight: bold"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0554">-</span></span></td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-012025-03-31" id="Fact000555" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">42,189</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td title="Balance, shares" style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_43F_c20250401__20250630_eus-gaap--StockholdersEquity_iS_zGSxu0y8ndCh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt; padding-left: 0pt">Balance at March 31, 2025</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharesOutstanding_iS_pid_c20250401__20250630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zGZ5nIJKMqs8" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2025-03-31_us-gaap_CommonStockMember" id="Fact000566" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,989,948</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_CommonStockMember" id="Fact000557" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000558" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">191,970</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_custom_LegalReservesMember" id="Fact000559" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_RetainedEarningsMember" id="Fact000560" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">573,926</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000561" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">82,222</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td>
    <td><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0562">-</span></span></td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0563">-</span></span></td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-03-31" id="Fact000564" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">685,137</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-left: 0pt">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td title="Balance, shares" style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--DividendsCommonStock_iN_di_zlO4by2mB6Wh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt">Dividend ($<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20250630_zXlfBu7jrwkd" title="Dividend per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2025-06-30" id="Fact000577" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.15</ix:nonFraction></span> per share)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0568">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0569">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0570">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember" id="Fact000571" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,049</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0572">-</span></td><td style="text-align: left"><span style="display: none; font-family: Times New Roman, Times, Serif">-</span></td>
    <td>&#160;</td><td style="display: none; font-weight: bold"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0574">-</span></span></td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2025-04-012025-06-30" id="Fact000575" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,049</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--StockRepurchasedDuringPeriodValue_iN_di_zQOEL6lFkBCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt">Share Repurchase</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--StockRepurchasedDuringPeriodShares_iN_pid_di_c20250401__20250630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zjB13q52iQdh" title="Share Repurchase, shares" style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember" id="Fact000588" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,800</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0579">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000580" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">215</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0581">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0582">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0583">-</span></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2025-04-012025-06-30" id="Fact000586" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">215</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_z0yUdKNjN0Ra" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Derivative financial instruments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0590">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0591">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0592">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0593">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000594" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2025-04-012025-06-30" id="Fact000597" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zZhWiNL0yzo2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Foreign currency translation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0599">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0600">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0601">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0602">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000603" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">13,260</ix:nonFraction></td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2025-04-012025-06-30" id="Fact000606" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">13,260</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_zDqWEN46faKg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td title="Balance, shares" style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0608">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0609">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0610">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember" id="Fact000611" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">44,083</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0612">-</span></td><td style="text-align: left"><span style="display: none; font-family: Times New Roman, Times, Serif"></span></td>
    <td><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0613">-</span></span></td><td style="display: none; font-weight: bold"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0614">-</span></span></td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30" id="Fact000615" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">44,083</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td title="Balance, shares" style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td>
    <td>&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">&#160;</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_43A_c20250401__20250630_eus-gaap--StockholdersEquity_iE_zzLD7L5tHeje" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt; padding-left: 0pt">Balance at Jun 30, 2025</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--SharesOutstanding_iE_pid_c20250401__20250630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z4ZkC8ukNrS5" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2025-06-30_us-gaap_CommonStockMember" id="Fact000626" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,987,148</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_CommonStockMember" id="Fact000617" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000618" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">191,755</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_custom_LegalReservesMember" id="Fact000619" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_RetainedEarningsMember" id="Fact000620" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">610,960</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000621" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">68,177</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)<span style="display: none; font-family: Times New Roman, Times, Serif"></span></td>
    <td><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0622">-</span></span></td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0623">-</span></span></td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2025-06-30" id="Fact000624" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">736,001</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B9_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zKR9NFydB5li" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B1_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zSp0mUq6QSJl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B0_us-gaap--StatementEquityComponentsAxis_custom--LegalReservesMember_zsCfyQ8bfmPl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Reserve</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B6_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zVmYVzKsLABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B5_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_zkddeRcmUJFc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Loss</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_zGWhOoitrkxl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B5_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_zmXGQPCdYNTk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_4B6_z5emLzAk2wSk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Ordinary Shares, $0.0001 <br/> Par Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center">Additional<br/>
 Paid in</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center">Legal</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center">Retained</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Accumulated<br/>
 Other</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comprehensive</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center">Total<br/>
 Shareholders&#8217;</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center">Non-Controlling</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Shareholders&#8217; Equity and Non- Controlling</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Amount</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Capital</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Reserve</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Earnings</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Loss</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Equity</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Interest</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_433_c20240101__20240331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zJdRfOVBSIU7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; font-weight: bold; padding-bottom: 2.5pt">Balance at December 31, 2023</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--SharesOutstanding_iS_pid_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zmdF806U0pN1" title="Balance, shares" style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000637" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,708</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000628" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000629" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,385</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_LegalReservesMember" id="Fact000630" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000631" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">400,035</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000632" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">45,863</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000633" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">548,020</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0634">-</span></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; width: 4%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000635" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">548,020</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DividendsCommonStock_iN_di_z2tpXNd2Rufl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Dividend ($<span id="xdx_908_eus-gaap--SharePrice_iI_pid_c20240331_zVZRpgW0Ayi1" title="Dividend per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2024-03-31" id="Fact000648" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.11</ix:nonFraction></span> per share)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0639">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0640">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0641">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="Fact000642" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,169</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0643">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000644" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,169</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0645">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-01-012024-03-31" id="Fact000646" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,169</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_zAon0a8Agzgd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Derivative financial instruments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0650">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0651">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0652">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0653">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000654" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,036</ix:nonFraction></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000655" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,036</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0656">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-01-012024-03-31" id="Fact000657" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,036</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_z5lkbYd3CePl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Foreign currency translation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0659">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0660">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0661">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0662">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000663" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30</ix:nonFraction></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000664" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0665">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31" id="Fact000666" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--NetIncomeLoss_znXscDLnD0ab" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">-</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0668">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0669">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0670">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="Fact000671" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">29,730</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0672">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000673" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">29,730</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0674">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31" id="Fact000675" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">29,730</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_437_c20240401__20240630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zFikRUpdwM2j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance at March 31, 2024</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharesOutstanding_iS_pid_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zBaRMhS9GHK5" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000686" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,708</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000677" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000678" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,385</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_custom_LegalReservesMember" id="Fact000679" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember" id="Fact000680" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">424,596</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000681" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">44,797</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_ParentMember" id="Fact000682" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">573,647</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0683">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31" id="Fact000684" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">573,647</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_43E_c20240401__20240630_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zXfZdZTgEiw7" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharesOutstanding_iS_pid_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zTBEkEl303kl" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000697" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,708</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000688" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000689" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,385</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_custom_LegalReservesMember" id="Fact000690" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember" id="Fact000691" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">424,596</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000692" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">44,797</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_ParentMember" id="Fact000693" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">573,647</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0694">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31" id="Fact000695" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">573,647</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DividendsCommonStock_iN_di_z8cYGkfZeF0a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Dividend ($<span id="xdx_904_eus-gaap--SharePrice_iI_pid_c20240630_zaipDnoT643j" title="Dividend per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2024-06-30" id="Fact000708" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.11</ix:nonFraction></span> per share)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0699">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0700">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0701">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="Fact000702" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,168</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0703">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30_us-gaap_ParentMember" id="Fact000704" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,168</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0705">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:DividendsCommonStock" contextRef="From2024-04-012024-06-30" id="Fact000706" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,168</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--StockRepurchasedDuringPeriodValue_iN_di_zD52JM7wcqQ7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Share Repurchase</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--StockRepurchasedDuringPeriodShares_iN_pid_di_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zxE3krWDWYP" title="Share Repurchase, shares" style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="Fact000719" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">100</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000711" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2024-04-012024-06-30_us-gaap_ParentMember" id="Fact000715" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="From2024-04-012024-06-30" id="Fact000717" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_zAqyUt9X7kr7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Derivative financial instruments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0721">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0722">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0723">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0724">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000725" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">342</ix:nonFraction></td><td style="text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30_us-gaap_ParentMember" id="Fact000726" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">342</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0727">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" contextRef="From2024-04-012024-06-30" id="Fact000728" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">342</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zDF0SxabIj4i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Foreign currency translation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0730">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0731">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0732">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0733">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000734" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,321</ix:nonFraction></td><td style="text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30_us-gaap_ParentMember" id="Fact000735" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,321</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0736">-</span></td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-04-012024-06-30" id="Fact000737" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">28,321</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NetIncomeLoss_zuelhOe9lM74" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">-</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0739">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0740">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0741">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="Fact000742" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,028</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0743">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_ParentMember" id="Fact000744" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,028</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0745">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000746" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,028</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_43F_c20240401__20240630_eus-gaap--StockholdersEquity_iE_z6imqsEToFd5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance at June 30, 2024</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--SharesOutstanding_iE_pid_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zFINzMJEkgf3" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000757" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,608</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000748" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000749" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,380</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_custom_LegalReservesMember" id="Fact000750" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember" id="Fact000751" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">454,456</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000752" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">73,460</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_ParentMember" id="Fact000753" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">574,839</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0754">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30" id="Fact000755" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">574,839</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_431_c20240401__20240630_eus-gaap--StockholdersEquity_iE_zMGPowPiYRG5" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--SharesOutstanding_iE_pid_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKGYbLh62aYc" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000768" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,608</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000759" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000760" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">192,380</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_custom_LegalReservesMember" id="Fact000761" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,458</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember" id="Fact000762" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">454,456</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000763" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">73,460</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_ParentMember" id="Fact000764" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">574,839</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0765">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30" id="Fact000766" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">574,839</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 40pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying notes are an integral part of these condensed consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 6; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Tecnoglass
Inc. and Subsidiaries</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_005"></span>Notes
to Condensed Consolidated Financial Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Amounts
in thousands, except share and per share data)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Unaudited)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000770" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"><p id="xdx_805_eus-gaap--OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_z75kyX3HWfy4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1. <span id="xdx_821_z8OzFZCKsfva">General</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Business
Description</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tecnoglass
Inc., a Cayman Islands exempted company (the &#8220;Company&#8221;, &#8220;Tecnoglass&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;)
manufactures hi-specification, architectural glass and windows for the global residential and commercial construction industries. Currently
the Company offers design, production, marketing, and installation of architectural systems for buildings of high, medium and low elevation
size. Products include windows and doors in glass, aluminum, and vinyl, office partitions and interior divisions, floating facades and
commercial window showcases. The Company sells to customers in North, Central and South America.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company manufactures glass, aluminum, and vinyl products. Its glass products include tempered glass, laminated glass, thermo-acoustic
glass, curved glass, silk-screened glass, acoustic glass and digital print glass. Its Alutions plant produces mill finished, anodized,
painted aluminum profiles and rods, tubes, bars and plates. Alutions&#8217; operations include extrusion, smelting, painting and anodizing
processes, and exporting, importing and marketing aluminum products. Its newly installed vinyl assembling lines manufacture and distributes
cutting-edge vinyl windows for new and existing customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also designs, manufactures, markets and installs architectural systems for high, medium and low-rise construction, glass, aluminum
and vinyl windows and doors, office dividers and interiors, floating facades and commercial display windows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000772" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_808_eus-gaap--SignificantAccountingPoliciesTextBlock_zBtZs0fnk6Ag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2. <span id="xdx_822_zdOexDH2Zd19">Basis of Presentation and Summary of Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000774" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zahypv3cMjJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zGoquekU3sL1">Basis
of Presentation and Use of Estimates</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally
accepted in the United States of America (&#8220;US GAAP&#8221;) and pursuant to the accounting and disclosure rules and regulations
of the Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting purposes. The results reported in these unaudited
condensed consolidated financial statements are not necessarily indicative of results that may be expected for the entire year. These
unaudited condensed consolidated financial statements should be read in conjunction with the information contained in the Company&#8217;s
Annual Report on Form 10-K for the year ended December 31, 2024. The year-end condensed balance sheet data was derived from the audited
financial statements in the Annual Report on Form 10-K but does not include all disclosures required by US GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of these unaudited condensed consolidated financial statements requires the Company to make estimates and judgments that
affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities
at the date of the Company&#8217;s financial statements. Actual results may differ from these estimates under different assumptions and
conditions. Estimates utilized in the preparation of these unaudited condensed consolidated financial statements relate to the collectability
of account receivables, the valuation of inventories, estimated earnings on uncompleted contracts, useful lives and potential impairment
of long-lived assets. Changes in estimates are reflected in the periods during which they become known. Actual amounts may differ from
these estimates and could differ materially. These financial statements reflect all adjustments that in the opinion of management are
necessary for a fair statement of the financial position, results of operations and cash flows for the period presented, and are of a
normal, recurring nature.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has one operating segment, Architectural Glass and Windows, which is also its reporting segment. The segment comprises the design,
manufacturing, distribution, marketing and installation of high-specification architectural glass and window products sold to residential
and commercial markets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
chief operating decision maker (&#8220;CODM&#8221;) assesses performance and decides how to allocate resources based on gross profit
and net income that also is reported on the income statement as consolidated net income, cash flows from operations which are reported
on the consolidated statement of cash flows, along with certain non-G.A.A.P metrics. Significant segment expenses include cost of sales,
selling expense, and general and administrative expenses. Other segment items included in consolidated net income are interest expense,
other expense, net and the provision for income taxes, which are reflected in the consolidated statements of comprehensive income. These
metrics are used to monitor budgeted versus actual results, and competitive analysis by benchmarking to the Company&#8217;s competitors.
The Company&#8217;s CODM are Company&#8217;s Chief Executive Officer and Chief Operating Officer acting together as a group.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company performs intra-entity sales and transfers within its single segment comprised of several vertically integrated processes including
its main manufacturing operations in Colombia and distribution and installation in the United States. The Company considers its operations
to be a single reporting segment because it only produces architectural glass and window systems to serve similar markets in a vertically
integrated platform.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 7; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000776" name="us-gaap:ConsolidationPolicyTextBlock"><p id="xdx_84B_eus-gaap--ConsolidationPolicyTextBlock_zdWvJAKXdlg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zIBQPs4XUQk9">Principles
of Consolidation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
unaudited consolidated financial statements consolidate Tecnoglass, its subsidiaries Tecnoglass S.A.S (&#8220;TG&#8221;), C.I. Energ&#237;a
Solar S.A.S E.S. Windows (&#8220;ES&#8221;), ES Windows LLC (&#8220;ESW LLC&#8221;), Tecnoglass LLC, Tecno RE LLC, GM&amp;P Consulting
and Glazing Contractors (&#8220;GM&amp;P&#8221;), Componenti USA LLC, ES Metals SAS (&#8220;ES Metals&#8221;), Ventanas Solar S.A (&#8220;VS&#8221;),
which are entities wholly owned by Tecnoglass. To determine if we hold a controlling financial interest in an entity, we first evaluate
if we are required to apply the variable interest entity (&#8220;VIE&#8221;) model to the entity, otherwise the entity is evaluated under
the voting interest model. All significant intercompany accounts and transactions are eliminated in consolidation, including unrealized
intercompany profits and losses. The equity method of accounting is used for investments in affiliates and other joint ventures over
which the Company has significant influence but does not have effective control.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000778" name="us-gaap:DerivativesPolicyTextBlock"><p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zLc5dECQ57X" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zbgfqcdleg83">Derivative
Financial Instruments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes all derivative financial instruments as either assets or liabilities at fair value on the condensed consolidated balance
sheet. The unrealized gains or losses arising from changes in fair value of derivative instruments that are designated and qualify as
cash flow hedges, are recorded in the condensed consolidated statement of comprehensive income. Amounts in accumulated other comprehensive
loss on the condensed consolidated balance sheet are reclassified into the condensed consolidated statement of income in the same period
or periods during which the hedged transactions are settled.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000780" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_843_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_ztnfoLhO8eMf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zeHQaoB60cE6">Recently
Issued Accounting Pronouncements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, &#8220;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures (Subtopic
220-40)&#8221;. The Board is issuing this Update to improve the disclosures about a public business entity&#8217;s expenses and address
requests from investors for more detailed information about the types of expenses (including purchases of inventory, employee compensation,
depreciation, amortization, and depletion) in commonly presented expense captions (such as cost of sales, SG&amp;A, and research and
development). The amendments in this Update are effective for annual reporting periods beginning after December 15, 2026, and interim
reporting periods beginning after December 15, 2027. Early adoption is permitted. The Company is currently evaluating the potential effect
of this ASU on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The Board
is issuing the amendments in this Update to enhance the transparency and decision usefulness of income tax disclosures. Investors, lenders,
creditors, and other allocators of capital (collectively, &#8220;investors&#8221;) indicated that the existing income tax disclosures
should be enhanced to provide information to better assess how an entity&#8217;s operations and related tax risks and tax planning and
operational opportunities affect its tax rate and prospects for future cash flows. Investors currently rely on the rate reconciliation
table and other disclosures, including total income taxes paid, to evaluate income tax risks and opportunities. While investors find
these disclosures helpful, they suggested possible enhancements to better (1) understand an entity&#8217;s exposure to potential changes
in jurisdictional tax legislation and the ensuing risks and opportunities, (2) assess income tax information that affects cash flow forecasts
and capital allocation decisions, and (3) identify potential opportunities to increase future cash flows. The amendments in this Update
address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily
related to the rate reconciliation and income taxes paid information. This Update also includes certain other amendments to improve the
effectiveness of income tax disclosures. Specifically, the amendments require annual disclosure of: (i) a detailed rate reconciliation
table that includes specific categories with separate disclosure of items that are equal to or greater than 5% of the statutory tax applied
to pretax income; (ii) income taxes paid (net of refunds received), disaggregated by federal, state, and foreign amounts; and (iii) income
taxes paid (net) further disaggregated by individual jurisdiction when such amounts are equal to or greater than 5% of total income taxes
paid. Additionally, the Company must disclose pretax income (or loss) from continuing operations and income tax expense (or benefit)
from continuing operations, each disaggregated between domestic and foreign. The amendments in this Update are effective for annual periods
beginning after December 15, 2024, with early adoption permitted, and should be applied on a prospective basis and retrospective application
is permitted.</span></p>

</ix:nonNumeric><p id="xdx_85C_zsVJSD94k055" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 8; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000782" name="us-gaap:BusinessCombinationDisclosureTextBlock"><p id="xdx_805_eus-gaap--BusinessCombinationDisclosureTextBlock_zXctuaCpZ9H" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3. <span id="xdx_82F_zOAFuvVmVCXc">Acquisitions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Contiglass
Asset Acquisition, LLC</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
April 3, 2025, Tecnoglass acquired certain assets and assumed liabilities of Florida-based Continental Glass Systems, LLC., a premier
provider of innovative architectural glass and glazing solutions in the Southeast U.S., to create wholly owned Contiglass Asset Acquisition,
LLC (&#8220;Contiglass). This acquisition included a manufacturing plant, various intangibles, and a substantial project backlog in both
execution and pipeline phases. This transaction is considered a business combination under U.S. GAAP. Continental&#8217;s production
capabilities, high-quality product portfolio, and reputation for excellence strengthens Tecnoglass&#8217; U.S. market presence, broadens
its client reach, and creates synergies that reinforce Tecnoglass&#8217; leadership position in the architectural glass industry. Additionally,
the Company anticipates operational benefits as it integrates Continental&#8217;s supply chains into its existing manufacturing operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
purchase price for the acquisition was $<span id="xdx_90C_eus-gaap--BusinessCombinationPriceOfAcquisitionExpected_pn3n3_c20250401__20250430__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zp2q1yOm5gp7"><ix:nonFraction name="us-gaap:BusinessCombinationPriceOfAcquisitionExpected" contextRef="From2025-04-012025-04-30_custom_ContiglassAssetAcquisitionLLCMember" id="Fact000783" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,429</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
of which $<span id="xdx_90A_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zFmMJTsUqjri"><ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember" id="Fact000784" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,588</ix:nonFraction></span></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of
the purchase price was paid in cash by the Company on April 3, 2025, post-acquisition working capital adjustment of $<span id="xdx_904_ecustom--WorkingCapitalAdjustment_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zfxzLZwjGlLi"><ix:nonFraction name="TGLS:WorkingCapitalAdjustment" contextRef="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember" id="Fact000785" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">253</ix:nonFraction></span></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">was
paid 45 days after transaction closing date, with the remaining amount to be payable by the Company in cash within 365 days after
closing date. The total amount of acquisition-related costs was $<span id="xdx_902_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250630_z2l1psS1NfC"><ix:nonFraction name="us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" contextRef="AsOf2025-06-30" id="Fact000786" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">588</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
which are included within general and administrative expenses in the Statement of operations for the period ending June 30,
2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total consideration transferred is $<span id="xdx_902_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zUKpR4dRsGG4" title="Total consideration transferred"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2025-01-01to2025-06-30" id="Fact000788" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,429</ix:nonFraction></span>. Under ASC 805, a company can apply measurement period adjustments during the
twelve-month period after the date of acquisition. During this period, the acquirer may adjust preliminary amounts recognized at the
acquisition date to their subsequently determined final fair values. The allocation of the consideration transferred was based on management&#8217;s
judgment after evaluation of several factors, including a preliminary valuation assessment. Finalization of the analysis has not been
completed and could result in measurement periods adjustments that could change the composition of current assets, fixed assets, intangible
assets, goodwill, and liabilities. Goodwill is not expected to be deductible for tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000790" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"><p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zQvblDMZ5js5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the purchase price allocation of the total consideration transferred:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zW7xFR80ON23" style="display: none">Schedule
of Purchase Price Allocation Consideration Transferred</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="text-decoration: underline">Consideration Transferred:</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20250630_zLnsxgAWiGe6" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Total purchase price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zDA4t2YJ8oT8" title="Total purchase price" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2025-01-01to2025-06-30" id="Fact000792" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,429</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Recognized amounts of identifiable assets acquired and liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_maBCRIAzx6E_zpLM52YPsks7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash and equivalents</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0794">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_maBCRIAzx6E_zXS1MugMdv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accounts Receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="AsOf2025-06-30" id="Fact000796" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,814</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_maBCRIAzx6E_zoOU9iDPRN94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" contextRef="AsOf2025-06-30" id="Fact000798" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">585</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_maBCRIAzx6E_zLa6VCJC5yB2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant, and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="AsOf2025-06-30" id="Fact000800" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">826</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_maBCRIAzx6E_zHsADtJNKNPl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Trade Name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" contextRef="AsOf2025-06-30" id="Fact000802" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">170</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_maBCRIAzx6E_zanLF1TWNi3h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" contextRef="AsOf2025-06-30" id="Fact000804" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">670</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_maBCRIAzx6E_zF5RLL0OkLlg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Notice of Acceptance and FBC permits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" contextRef="AsOf2025-06-30" id="Fact000806" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,260</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_maBCRIAzx6E_zR4qbVSqOHM6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Right-of-use assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" contextRef="AsOf2025-06-30" id="Fact000808" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,192</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_iI_pn3n3_msBCRIAzx6E_zWye5XMxo8L1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Account payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" contextRef="AsOf2025-06-30" id="Fact000810" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">2,890</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_msBCRIAzx6E_zhm4JGZZrSJh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" contextRef="AsOf2025-06-30" id="Fact000812" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">81</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_msBCRIAzx6E_zXlCamXKz8we" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Service revenue deposit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" contextRef="AsOf2025-06-30" id="Fact000814" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">518</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_msBCRIAzx6E_zbVbEcyUX1Wc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" contextRef="AsOf2025-06-30" id="Fact000816" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">1,229</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_msBCRIAzx6E_zmbQouW0Idii" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Billings in excess of cost and profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" contextRef="AsOf2025-06-30" id="Fact000818" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">5,987</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_mtBCRIAzx6E_zZu3tG4jVkie" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total identifiable net assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" contextRef="AsOf2025-06-30" id="Fact000820" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,812</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_pn3n3_z4um2rxzjyFc" style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="AsOf2025-06-30" id="Fact000822" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,617</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>



</ix:nonNumeric><p id="xdx_8AA_zy6E4VPl2f56" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
excess of the consideration transferred over the estimated fair values of assets acquired and liabilities assumed was recorded as
goodwill. The identifiable intangible asset subject to amortization was the tradename, backlog of projects, and certain Notice of
Acceptance and Florida Building Code permits, which have a remaining useful life of <span style="display: none"><span id="xdx_90F_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20250630__srt--RangeAxis__srt--MinimumMember_zAJGsM52VLOf" title="Remaining useful life"><ix:nonNumeric contextRef="AsOf2025-06-30_srt_MinimumMember" format="ixt-sec:duryear" id="Fact000824" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">2</ix:nonNumeric></span></span> two to <span id="xdx_907_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dc_c20250630__srt--RangeAxis__srt--MaximumMember_zga7O4nlOOR8" title="Remaining useful life"><ix:nonNumeric contextRef="AsOf2025-06-30_srt_MaximumMember" format="ixt-sec:durwordsen" id="Fact000826" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">five years</ix:nonNumeric></span>. See Note 7 &#8211; Goodwill
and Intangible Assets for additional information.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 9; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The acquired business contributed revenues of $<span id="xdx_90E_eus-gaap--Revenues_c20250404__20250630_zIcE19LQ8M0b" title="Revenues"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-042025-06-30" id="Fact000828" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,296</ix:nonFraction></span> and a net loss of $<span id="xdx_90B_eus-gaap--ProfitLoss_c20250404__20250630_zznGaIvnoHkg" title="Net loss"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2025-04-042025-06-30" id="Fact000830" format="ixt:numdotdecimal" decimals="0" unitRef="USD">962</ix:nonFraction></span> to the Company for the period from April
4, 2025 to June 30, 2025. The
following unaudited pro forma financial information assumes the business acquisition had occurred at the beginning of the earliest period
presented. Pro forma results have been prepared by adjusting our historical results to include the results from Continental Glass Systems&#8217;
acquired assets and assumed liabilities to reflect the amortization expense related to the intangible assets arising from the acquisition.
The unaudited pro forma results below do not necessarily reflect the results of operations that would have resulted if the acquisition
had been completed at the beginning of the earliest periods presented, nor does it indicate the results of operations in future periods.
The unaudited pro forma results do not include the impact of synergies, nor any potential impacts on current or future market conditions
which could alter the following unaudited pro forma results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000832" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock"><p id="xdx_898_eus-gaap--BusinessAcquisitionProFormaInformationTextBlock_zRCC8BMbrgr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zP1Xww20lzha" style="display: none">Schedule
of Unaudited Pro Forma Financial Information</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250401__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zOCJvB7svKPd" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Pro-Forma</b></p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zBX6FPw5qXj9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zW5VF6mn9CF8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zqWNKQ2QlvK9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-style: italic"/><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June
30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Pro Forma Results</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--BusinessAcquisitionsProFormaRevenue_pn3n3_zg9XrOXSv92d" style="vertical-align: bottom; background-color: White">
    <td style="width: 38%; text-align: left; padding-bottom: 2.5pt">Net sales</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="From2025-04-012025-06-30_srt_ProFormaMember" id="Fact000834" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">255,692</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="From2024-04-012024-06-30_srt_ProFormaMember" id="Fact000835" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">228,409</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="From2025-01-012025-06-30_srt_ProFormaMember" id="Fact000836" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">482,220</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaRevenue" contextRef="From2024-01-012024-06-30_srt_ProFormaMember" id="Fact000837" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">429,125</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessAcquisitionsProFormaNetIncomeLoss_pn3n3_zHlull7IrMzh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="From2025-04-012025-06-30_srt_ProFormaMember" id="Fact000839" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">44,108</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="From2024-04-012024-06-30_srt_ProFormaMember" id="Fact000840" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">34,156</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="From2025-01-012025-06-30_srt_ProFormaMember" id="Fact000841" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">83,548</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" contextRef="From2024-01-012024-06-30_srt_ProFormaMember" id="Fact000842" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">63,022</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zaTzqA3gu6th" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000844" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_805_eus-gaap--InventoryDisclosureTextBlock_zOhewSW5zDWd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4. - <span id="xdx_822_zlCYqE6LyY22">Inventories, net</span></b></span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000846" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_89B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z4ERmRRmT6v1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zni7nrhgTEXd" style="display: none">Schedule of Inventories</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20250630_zlJ2vhLwCNhg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zxHNQ8BPzIO8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zYXJQC35NErc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2025-06-30" id="Fact000848" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">128,670</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2024-12-31" id="Fact000849" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">98,336</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryWorkInProcess_iI_pn3n3_maIGzzds_zjAeVHbFrFOc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Work in process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2025-06-30" id="Fact000851" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">18,284</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2024-12-31" id="Fact000852" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">16,891</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryFinishedGoods_iI_pn3n3_maIGzzds_z0Fz3XcxHiM4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2025-06-30" id="Fact000854" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,629</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2024-12-31" id="Fact000855" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,248</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherInventoriesSpareParts_iI_pn3n3_maIGzzds_zqXh8mTUGeJi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Spares and accessories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherInventoriesSpareParts" contextRef="AsOf2025-06-30" id="Fact000857" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">25,607</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherInventoriesSpareParts" contextRef="AsOf2024-12-31" id="Fact000858" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--InventoryPackingMaterialGross_iI_pn3n3_maIGzzds_zpfxlwNnwYog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Packing material</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="TGLS:InventoryPackingMaterialGross" contextRef="AsOf2025-06-30" id="Fact000860" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,666</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="TGLS:InventoryPackingMaterialGross" contextRef="AsOf2024-12-31" id="Fact000861" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,220</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryGross_iTI_pn3n3_mtIGzzds_maINzh7N_zHIae4JqKLH4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total Inventories, gross</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2025-06-30" id="Fact000863" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">176,856</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:InventoryGross" contextRef="AsOf2024-12-31" id="Fact000864" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">139,910</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iNI_pn3n3_di_msINzh7N_zMb04VQ34VH4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Inventory allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2025-06-30" id="Fact000866" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">335</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="AsOf2024-12-31" id="Fact000867" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">268</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryNet_iTI_pn3n3_mtINzh7N_zjzKyXEWiqNl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total inventories, net</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2025-06-30" id="Fact000869" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">176,521</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" id="Fact000870" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">139,642</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zFREr02HGt7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000872" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zBA3VCpWKQ5c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5. &#8211; <span id="xdx_82A_zchaCB6yMfu3">Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Total Net Sales</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000874" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zyrb1AEFypK9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors
affect the nature, amount, timing and uncertainty of the Company&#8217;s revenue and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zEzE6TV4o3o9" style="display: none">Schedule
of Disaggregation by Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250401__20250630_zHmcyRQec4fc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240401__20240630_zFCFcVifeaqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250101__20250630_zzUrx5PqsH07" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240630_ztGzFhQbuLti" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_zwqN0WVbWcfh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Fixed price contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_FixedPriceContractsMember" id="Fact000876" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">61,228</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_FixedPriceContractsMember" id="Fact000877" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">31,422</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_FixedPriceContractsMember" id="Fact000878" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">114,202</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_FixedPriceContractsMember" id="Fact000879" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">64,054</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zLIid8wSwCIc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Product sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_ProductSalesMember" id="Fact000881" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">194,318</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_ProductSalesMember" id="Fact000882" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">188,232</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_ProductSalesMember" id="Fact000883" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">363,632</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_ProductSalesMember" id="Fact000884" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">348,227</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zF3mp1ahpHwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30" id="Fact000886" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">255,546</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000887" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">219,654</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-01to2025-06-30" id="Fact000888" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">477,834</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30" id="Fact000889" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">412,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8AC_zUCr7QDsVyj3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000891" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_zL4cs4M5Hyh5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by geographical location:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zr5qdreW2tNl" style="display: none">Schedule of Geographic Information</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250401__20250630_zpR4f00nN6o8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zMmaLkjOj0yl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250101__20250630_zLD1zbyFsL57" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20240630_zOHGcn4u0hI" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_zb0hkZbzwmv" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Colombia</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_country_CO" id="Fact000893" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,621</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_country_CO" id="Fact000894" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,830</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_country_CO" id="Fact000895" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">13,035</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_country_CO" id="Fact000896" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">11,069</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_z9A50Aag6Vl7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_country_US" id="Fact000898" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">242,347</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_country_US" id="Fact000899" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">209,698</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_country_US" id="Fact000900" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">454,801</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_country_US" id="Fact000901" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">393,701</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--PA_zo8grYtOghCa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Panama</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_country_PA" id="Fact000903" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">54</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_country_PA" id="Fact000904" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">434</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_country_PA" id="Fact000905" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">509</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_country_PA" id="Fact000906" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">528</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_ze3lggE61pWj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_OtherMember" id="Fact000908" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,524</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_OtherMember" id="Fact000909" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,692</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_OtherMember" id="Fact000910" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,489</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_OtherMember" id="Fact000911" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,983</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zS9Wdy3b4Yha" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30" id="Fact000913" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">255,546</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000914" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">219,654</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-01to2025-06-30" id="Fact000915" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">477,834</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30" id="Fact000916" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">412,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_zrHRnu8Ortpj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 10; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000918" name="TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock"><p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zNHD1rDz72F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by market:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zhHlgqGz7mYg" style="display: none">Schedule
of Revenues Distribution By End Market</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250401__20250630_zBqQR36grob" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630_zULhTsNYkIO3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630_zmYjZth4TlYa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630_zZPshmDQj2X1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_zRZrs4eUOrQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Residential</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_ResidentialMember" id="Fact000920" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">109,598</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_ResidentialMember" id="Fact000921" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">95,749</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_ResidentialMember" id="Fact000922" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">198,527</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_ResidentialMember" id="Fact000923" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">168,903</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zCsGFvsvJ2qj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Commercial</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30_custom_CommercialMember" id="Fact000925" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">145,948</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_CommercialMember" id="Fact000926" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">123,905</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-012025-06-30_custom_CommercialMember" id="Fact000927" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">279,307</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_CommercialMember" id="Fact000928" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">243,378</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zgL8lm0U35Rj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-04-012025-06-30" id="Fact000930" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">255,546</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000931" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">219,654</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2025-01-01to2025-06-30" id="Fact000932" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">477,834</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30" id="Fact000933" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">412,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AC_zHExG957vS6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Trade
Accounts Receivable</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we extend credit to customers on a generally non-collateralized basis. The Company maintains an allowance
for expected credit losses which is based on management&#8217;s assessments of the amount which may become uncollectible in the future
and is determined through consideration of our write-off history, specific identification of uncollectible accounts based in part on
the customer&#8217;s past due balance (based on contractual terms), and consideration of prevailing economic and industry conditions.
Uncollectible accounts are written off after repeated attempts to collect from the customer have been unsuccessful.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000935" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zWxH3UeWBvI9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable consists of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zenLAJkB3Ytg" style="display: none">Schedule of Trade Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zT2WlstFcB6h" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_zWtnbvBgRWNf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AccountsReceivableGross_iI_pn3n3_maARNCzixK_zgy5KiWSXhql" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left; padding-bottom: 1pt">Trade accounts receivable</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2025-06-30" id="Fact000937" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">230,327</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2024-12-31" id="Fact000938" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">205,730</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzixK_zjvFkJ63bU9k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Allowance for credit losses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2025-06-30" id="Fact000940" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,738</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2024-12-31" id="Fact000941" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,815</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--AccountsReceivableNetCurrent_iTI_pn3n3_mtARNCzixK_zUor2N4ReAHe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2025-06-30" id="Fact000943" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">227,589</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-12-31" id="Fact000944" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">202,915</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zceKroMeGHkd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000946" name="TGLS:ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock"><p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_z0jY2dyidyee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes in the allowance for credit losses for the six months ended June 30, 2025, are:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_z9jNQswrd3Og" style="display: none">Schedule of Changes in Allowance for Doubtful Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250101__20250630_zPURWQB6lEb9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months<br/> ended<br/> June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iS_pn3n3_zYPjfVtrYSkd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2024-12-31" id="Fact000948" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,815</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_pn3n3_zEKrw7CSDr7b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Provisions for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2025-01-01to2025-06-30" id="Fact000950" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">987</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AllowanceForDoubtfulAccountsReceivableWriteOffs_iN_pn3n3_di_zDOi4wLPdPQ6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deductions and write-offs, net of foreign currency adjustment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="From2025-01-01to2025-06-30" id="Fact000952" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,064</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_z6b3Fa5sjvcl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance at end of period</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2025-06-30" id="Fact000954" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,738</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A4_zDvXoM9ryYUh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Contract
Assets and Liabilities</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
assets represent accumulated incurred costs and earned profits on contracts with customers that have been recorded as sales but have
not been billed to customers and are classified as current. In addition, a portion of the amounts billed on certain fixed price contracts
that are withheld by the customer as a retainage until a final good receipt of the complete project to the customers satisfaction. Contract
liabilities consist of advance payments and billings in excess of costs incurred and deferred revenue, and represent amounts received
in excess of sales recognized on contracts. The Company classifies advance payments and billings in excess of costs incurred as current,
and deferred revenue as current or non-current based on the expected timing of sales recognition. Contract assets and contract liabilities
are determined on a contract-by-contract basis at the end of each reporting period. The non-current portion of contract liabilities is
included in long-term liabilities in the Company&#8217;s condensed consolidated balance sheets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 11; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact000956" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zAKE7yj7Ollg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below presents the components of net contract assets (liabilities):</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_z4VKU0aVsWgk" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250630_za3Fyptdc7Z1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20241231_zCWSLztV0ABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zwFHMoWfQzSh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Contract assets &#8212; current</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2025-06-30" id="Fact000958" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,768</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-12-31" id="Fact000959" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,920</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_maNCLAzcHD_zwa5htMaM0M" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract assets &#8212; non-current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2025-06-30" id="Fact000961" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,405</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2024-12-31" id="Fact000962" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15,208</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerLiabilityCurrent_iNI_pn3n3_di_msNCLAzcHD_zpiuFaFcgks2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract liabilities &#8212; current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2025-06-30" id="Fact000964" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">128,306</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-12-31" id="Fact000965" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">97,979</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iNI_pn3n3_di_msNCLAzcHD_zSvEjWLkc41j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Contract liabilities &#8212; non-current</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2025-06-30" id="Fact000967" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">140</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0968">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_z0NPxFpVNsok" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net contract liability</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="TGLS:NetContractLiabilitiesAssets" contextRef="AsOf2025-06-30" id="Fact000970" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">85,273</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="TGLS:NetContractLiabilitiesAssets" contextRef="AsOf2024-12-31" id="Fact000971" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">59,851</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A9_zOaVRsrH2kki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-012025-06-30_custom_ContractAssetsMember" escape="true" id="Fact000973" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_890_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zrU8jB4RxhCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract assets are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zKNkmT3MLlp6" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250630_zasUp5msLqX4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20241231_zAS5iVLOJSBh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_z7bbkKsBrm2b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unbilled contract receivables, gross</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:UnbilledReceivablesCurrent" contextRef="AsOf2025-06-30" id="Fact000975" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,807</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:UnbilledReceivablesCurrent" contextRef="AsOf2024-12-31" id="Fact000976" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,584</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ConstructionContractorReceivableRetainage_iI_pn3n3_maCWCAGz5IH_zQ8hmnEvMr05" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Retainage</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ConstructionContractorReceivableRetainage" contextRef="AsOf2025-06-30" id="Fact000978" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">37,366</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ConstructionContractorReceivableRetainage" contextRef="AsOf2024-12-31" id="Fact000979" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">31,544</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetGrossCurrent_iTI_pn3n3_mtCWCAGz5IH_zQMOWXkv0yw9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetGrossCurrent" contextRef="AsOf2025-06-30" id="Fact000981" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">43,173</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetGrossCurrent" contextRef="AsOf2024-12-31" id="Fact000982" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">38,128</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_zuUbFt0ViH0f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2025-06-30" id="Fact000984" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,768</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-12-31" id="Fact000985" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,920</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_zDyQLihHINHf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2025-06-30" id="Fact000987" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,405</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" contextRef="AsOf2024-12-31" id="Fact000988" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15,208</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A4_zJkPqFb7426k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-012025-06-30_custom_ContractLiabilitiesMember" escape="true" id="Fact000990" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zEoOET2l1V4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract liabilities are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zqzycaZtR1Ti" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250630_zJ2gL7JlWi3j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zvXxWjDYX7O3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_ecustom--BillingsInExcessOfCosts_iI_pn3n3_maCWCLzMYb_zPi9aNt6wu58" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Billings in excess of costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="TGLS:BillingsInExcessOfCosts" contextRef="AsOf2025-06-30" id="Fact000992" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">81,324</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="TGLS:BillingsInExcessOfCosts" contextRef="AsOf2024-12-31" id="Fact000993" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">58,708</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_maCWCLzMYb_zo9xJbHlQozj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Advances from customers on uncompleted contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" contextRef="AsOf2025-06-30" id="Fact000995" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">47,122</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" contextRef="AsOf2024-12-31" id="Fact000996" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">39,271</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--ContractWithCustomerLiability_iTI_pn3n3_mtCWCLzMYb_zJAvqu8dnSS4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2025-06-30" id="Fact000998" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">128,446</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-12-31" id="Fact000999" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">97,979</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pn3n3_zryvS1oFfwu2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2025-06-30" id="Fact001001" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">128,306</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-12-31" id="Fact001002" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">97,979</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iI_pn3n3_z3eJuByT13Z1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract liabilities &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" contextRef="AsOf2025-06-30" id="Fact001004" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">140</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zYtbAiQwFIH" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three and six months ended June 30, 2025, the Company recognized $<span id="xdx_907_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250401__20250630_z6RUQEgYwnEg" title="Sales related to contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2025-04-012025-06-30" id="Fact001007" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,314</ix:nonFraction></span> and $<span id="xdx_906_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250101__20250630_zwayhz405kji" title="Sales related to contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2025-01-01to2025-06-30" id="Fact001009" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">16,858</ix:nonFraction></span> of sales related to its contract liabilities
on January 1, 2025, respectively. During the three and six months ended June 30, 2024, the Company recognized $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240401__20240630_zsQwHTAapQnc" title="Sales related to contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2024-04-012024-06-30" id="Fact001011" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,613</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240101__20240630_zVovSerWhVta" title="Sales related to contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2024-01-012024-06-30" id="Fact001013" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,344</ix:nonFraction> </span>of sales
related to its contract liabilities on January 1, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Remaining
Performance Obligations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the Company had $<span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20250630_z44zr8g3GUFb" title="Remaining performance obligation"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2025-06-30" id="Fact001015" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">820.0</ix:nonFraction></span> million of remaining performance obligations, which represents the transaction price of firm
orders minus sales recognized from inception to date. Remaining performance obligations exclude unexercised contract options, verbal
commitments, Letters of Intent or written mandates, and potential orders under basic ordering agreements. The Company expects to recognize
<span id="xdx_907_eus-gaap--RevenueRemainingPerformanceObligationPercentage_iI_pid_dp_uPure_c20250630_zqF5kbFjVtH9" title="Performance obligation, percentage"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligationPercentage" contextRef="AsOf2025-06-30" id="Fact001017" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% of sales relating to existing performance obligations within three years, of which $<span id="xdx_902_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20251231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zLNKFgNQm1y3" title="Remaining performance obligation"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2025-12-31_srt_ScenarioForecastMember" id="Fact001019" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">285.3</ix:nonFraction></span> million are expected to be recognized during
the year ending December 31, 2025, $<span id="xdx_90E_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20261231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zFf03wP21tu5" title="Remaining performance obligation"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2026-12-31_srt_ScenarioForecastMember" id="Fact001021" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">326.4</ix:nonFraction></span> million during the year ending December 31, 2026, and $<span id="xdx_90F_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20271231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zBqFExbrwBti" title="Remaining performance obligation"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2027-12-31_srt_ScenarioForecastMember" id="Fact001023" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">208.3</ix:nonFraction></span> million during the year ending December
31, 2027.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 12; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001025" name="us-gaap:IntangibleAssetsDisclosureTextBlock"><p id="xdx_80C_eus-gaap--IntangibleAssetsDisclosureTextBlock_z1VdNT5EKjSk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6. <span id="xdx_82F_zU2PIZlNQEs6">Intangible Assets and Goodwill</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Intangible
Assets</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets include Miami-Dade County Notices of Acceptances (NOA&#8217;s), which are certificates issued for approved products and required
to market hurricane-resistant glass in Florida. Intangibles assets also include the intangibles acquired during the acquisition of Continental
Glass Systems LLC.</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001027" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"><p id="xdx_89F_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zbA9zaN3Kznc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z90kaSqQmlIj" style="display: none">Schedule
of Finite-Lived Intangible Assets, Net</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left; padding-left: 0pt">Trade Names</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zOrPLnW0K2x4" title="Finite-Lived Intangible Assets, Gross" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember" id="Fact001029" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">170</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z1sAm0PTlJ1j" title="Accumulated Amortization" style="width: 16%; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember" id="Fact001031" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zbEbUW1PeBi4" title="Intangible assets, net" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember" id="Fact001033" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">163</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0pt">Software and licenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z15OthIXufg4" title="Finite-Lived Intangible Assets, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember" id="Fact001035" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">15,152</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z8fot14ubwj4" title="Accumulated Amortization" style="text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember" id="Fact001037" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,172</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zGTneYqNmdIl" title="Intangible assets, net" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember" id="Fact001039" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,980</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zilcTJ8nINgi" title="Finite-Lived Intangible Assets, Gross" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001041" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,260</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_ziAccv8yDJU3" title="Accumulated Amortization" style="text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001043" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">261</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zVHpXh9rwb8f" title="Intangible assets, net" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001045" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,999</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 0pt">Contract Backlog</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ziG5xMIhidW3" title="Finite-Lived Intangible Assets, Gross" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2025-06-30_custom_ContractBacklogMember" id="Fact001047" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">670</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zty4z9XXhlc6" title="Accumulated Amortization" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2025-06-30_custom_ContractBacklogMember" id="Fact001049" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">37</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_znLolmdeega7" title="Intangible assets, net" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30_custom_ContractBacklogMember" id="Fact001051" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">633</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630_zPQDRBr4cgpj" title="Finite-Lived Intangible Assets, Gross" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2025-06-30" id="Fact001053" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,252</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630_zht6XScLPg3e" title="Accumulated Amortization" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2025-06-30" id="Fact001055" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,477</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630_zjURkUTpPg6l" title="Intangible assets, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30" id="Fact001057" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,775</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIoOUgPZE6bb" title="Finite-Lived Intangible Assets, Gross" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001059" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">14,263</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIxZ7N3XJXuh" title="Accumulated Amortization" style="width: 16%; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001061" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,874</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_z5IXjo3B3PQk" title="Intangible assets, net" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" id="Fact001063" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,389</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AC_zOSTbgmrMT16" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted average amortization period is<span id="xdx_90A_eus-gaap--AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_dtY_c20250101__20250630_zvSzwBJJCMqd" title="Weighted average amortization period"> <ix:nonNumeric contextRef="From2025-01-01to2025-06-30" format="ixt-sec:duryear" id="Fact001065" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">2.02</ix:nonNumeric> </span>years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three and six months ended June 30, 2025, the amortization expense amounted to $<span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250401__20250630_zG1DVF3HBbv8" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2025-04-012025-06-30" id="Fact001067" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">645</ix:nonFraction></span> and $<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250101__20250630_zfNeOLzLcGgc" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2025-01-01to2025-06-30" id="Fact001069" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">950</ix:nonFraction></span>, respectively, and was included within
the general and administration expenses in our unaudited Condensed Consolidated Statement of Operations. Similarly, during the three
and six months ended June 30, 2024, the amortization expense amounted to $<span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240401__20240630_zCVHBYyrH271" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-04-012024-06-30" id="Fact001071" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">342</ix:nonFraction></span> and $<span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240101__20240630_zq2ewviAOPsl" title="Amortization expense"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-01-012024-06-30" id="Fact001073" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">684</ix:nonFraction></span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001075" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zdkFEEeobpX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
estimated aggregate amortization expense for each of the five succeeding years as of June 30, 2025, is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zDUxkFHnknO9" style="display: none">Schedule
of Finite Lived Intangible Assets Future Amortization Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Year ending December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20250630_zslxqOWgV8f5">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_pn3n3_maFLIANz7hA_zlDqKIsq4fEg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center; padding-left: 0pt">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" contextRef="AsOf2025-06-30" id="Fact001077" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,718</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pn3n3_maFLIANz7hA_zfc9NifHbuEc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2025-06-30" id="Fact001079" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,095</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pn3n3_maFLIANz7hA_zyFjkLB7DUhh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2025-06-30" id="Fact001081" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,956</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pn3n3_maFLIANz7hA_zEUlfotqZnl6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2025-06-30" id="Fact001083" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,619</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pn3n3_maFLIANz7hA_zJKi7Ea7akpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2025-06-30" id="Fact001085" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,341</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_iI_pn3n3_maFLIANz7hA_zyfFq4coBTPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt; padding-left: 0pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="TGLS:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" contextRef="AsOf2025-06-30" id="Fact001087" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,046</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pn3n3_mtFLIANz7hA_zRfKfDpUocr" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2025-06-30" id="Fact001089" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,775</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_z0AUghTSM3Gc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Goodwill</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below provides a reconciliation of the beginning and ending balances of Goodwill recorded on the Company&#8217;s balance sheet:</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001091" name="us-gaap:BusinessCombinationSegmentAllocationTableTextBlock"><p id="xdx_89F_eus-gaap--BusinessCombinationSegmentAllocationTableTextBlock_z2us1GnCx1D4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zG4ZWr5tQD8f" style="display: none">Schedule
of Goodwill</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20250101__20250630_z8sI8YZMe5yf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--Goodwill_iS_pn3n3_zWCNZd4WkeOh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Beginning balance - December 31, 2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-12-31" id="Fact001093" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,561</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GoodwillAcquiredDuringPeriod_pn3n3_zzg11H91tT0k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Continental Glass Acquisition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:GoodwillAcquiredDuringPeriod" contextRef="From2025-01-01to2025-06-30" id="Fact001095" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,617</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--Goodwill_iE_pn3n3_zqtbkxEkp9w2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Ending balance &#8211; June 30, 2025</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2025-06-30" id="Fact001097" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">30,178</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AA_zmSMyTSA9ayg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001099" name="us-gaap:SupplierFinanceProgramTextBlock"><p id="xdx_804_eus-gaap--SupplierFinanceProgramTextBlock_zoqv8ZY0kkk7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7. <span id="xdx_821_zBPPTPBcfdl1">Supplier Finance Program</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tecnoglass,
Inc. has established payment terms to suppliers for the purchase of goods and services, which normally range between 30 and 60 days.
In the normal course of business, suppliers may require liquidity and manage, through third parties, the advanced payment of invoices.
The Company allows its suppliers the option to payments in advance of an invoice due date, through a third-party finance provider or
intermediary, with the purpose of allowing suppliers to obtain the required liquidity. For these purposes, suppliers present to Tecnoglass,
Inc. the third-party finance provider or intermediary with whom they will carry out the finance program and establish an agreement, through
which the invoices will be paid by the third-party finance provider or intermediary once Tecnoglass, Inc. has confirmed the invoices
as valid. Once the Company confirms the invoices are valid, the third-party finance provider or intermediary proceeds with the payment
to the supplier. Subsequently, Tecnoglass, Inc. pays the invoices for goods or services to the third-party finance provider or intermediary
selected by the supplier. Payment times do not vary from those initially agreed with the supplier, as stated in the invoices factored
by the supplier (i.e. between 30 and 60 days). Pursuant to the supplier finance programs, the Company has not been required to pledge
any assets as security nor to provide any guarantee to third-party finance provider or intermediary.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the obligations outstanding related to the supplier finance program amounted to $<span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zcb79pHsSSGi" title="Current liabilities"><ix:nonFraction name="us-gaap:ProgramRightsObligationsCurrent" contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember" id="Fact001101" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">21,088</ix:nonFraction></span> recorded as current liabilities,
with $<span id="xdx_906_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zzm1u3em8UAk" title="Trade accounts payable and accrued expenses"><ix:nonFraction name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember" id="Fact001103" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">20,671</ix:nonFraction></span> classified as trade accounts payable and accrued expenses and $<span id="xdx_901_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zDAclpWStU25" title="Due to related parties"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember" id="Fact001105" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">417</ix:nonFraction></span> classified as due to related parties. As of December
31, 2024, the obligations outstanding related to the supplier finance program amounted to $<span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zZiW4CaZ4aR6" title="Current liabilities"><ix:nonFraction name="us-gaap:ProgramRightsObligationsCurrent" contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember" id="Fact001107" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,852</ix:nonFraction></span>, recorded as current liabilities, with
$<span id="xdx_90E_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zk8qvKaEtO0h" title="Trade accounts payable and accrued expenses"><ix:nonFraction name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember" id="Fact001109" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,338</ix:nonFraction></span> classified as trade accounts payable and accrued expenses and $<span id="xdx_903_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zFtne8vMSll5" title="Due to related parties"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember" id="Fact001111" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">514</ix:nonFraction></span> classified as due to related parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 13; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001113" name="us-gaap:DebtDisclosureTextBlock"><p id="xdx_809_eus-gaap--DebtDisclosureTextBlock_zZ3aNRvhrsJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8. <span id="xdx_829_zfwhMPsoMXK3">Debt</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001115" name="us-gaap:ScheduleOfDebtTableTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zvI0df5v8aVi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s debt is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zr1gIXuCVNXj" style="display: none">Schedule
of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250630_zt03FMNK10T1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zCiLRaWtTBu7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_z5DwDBP2DL6b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Revolving lines of credit</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2025-06-30" id="Fact001117" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">507</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2024-12-31" id="Fact001118" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">600</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--FinanceLeaseDebt_iI_pn3n3_maDICAz25p_zGgJAn1CXcd5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finance lease</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:FinanceLeaseDebt" contextRef="AsOf2025-06-30" id="Fact001120" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">80</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:FinanceLeaseDebt" contextRef="AsOf2024-12-31" id="Fact001121" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">111</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zOZymwlbCqv2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other current debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1123">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLongTermDebtCurrent" contextRef="AsOf2024-12-31" id="Fact001124" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">378</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zXcPHJivgN6c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Senior Secured Credit Facility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:SeniorSecuredCreditFacility" contextRef="AsOf2025-06-30" id="Fact001126" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">110,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="TGLS:SeniorSecuredCreditFacility" contextRef="AsOf2024-12-31" id="Fact001127" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">110,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredCostsCurrent_iNI_pn3n3_di_msDICAz25p_zOXYUy3vSuv9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Deferred cost of financing</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredCostsCurrent" contextRef="AsOf2025-06-30" id="Fact001129" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,358</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredCostsCurrent" contextRef="AsOf2024-12-31" id="Fact001130" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,782</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DebtInstrumentCarryingAmount_iTI_pn3n3_mtDICAz25p_z4xG5kph7wz3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total obligations under borrowing arrangements</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="AsOf2025-06-30" id="Fact001132" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">109,229</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="AsOf2024-12-31" id="Fact001133" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">109,307</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_iI_pn3n3_zympKhE5LrOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Current portion of long-term debt and other current borrowings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2025-06-30" id="Fact001135" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">587</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2024-12-31" id="Fact001136" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,087</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zwUvjCXYVUbc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2025-06-30" id="Fact001138" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,642</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-12-31" id="Fact001139" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,220</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A5_zGfa4A9WvF15" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s debt is primarily comprised of a Senior Secured Credit Facility with maturity in late 2026, an outstanding balance of
$<span id="xdx_902_eus-gaap--LineOfCredit_iI_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z7orv805DhQ6" title="Line of credit facility"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember" id="Fact001141" format="ixt:numdotdecimal" decimals="0" unitRef="USD">110,000</ix:nonFraction></span> as of June 30, 2025, and a committed line of credit of $<span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zIyjd9V8hqpf" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember" id="Fact001143" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">150</ix:nonFraction></span> million. Borrowings under the credit facility bear interest at a
rate of SOFR plus a spread of <span id="xdx_90E_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z8TRqAqfZaad" title="Debt instrument basis spread on variable rate"><ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember" id="Fact001145" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.50</ix:nonFraction></span>%, based on the Company&#8217;s net leverage ratio. The effective interest rate for this credit facility
including deferred issuance costs is <span id="xdx_90A_eus-gaap--LineOfCreditFacilityInterestRateDuringPeriod_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zwZpUWi7eYXg" title="Line of credit interest rate"><ix:nonFraction name="us-gaap:LineOfCreditFacilityInterestRateDuringPeriod" contextRef="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember" id="Fact001147" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.77</ix:nonFraction></span>%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001149" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock"><p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_z0SntajItUx6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Maturities
of long-term debt and other current borrowings as of June 30, 2025, are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zfI0pgrStoJj" style="display: none">Schedule
of Maturities of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49C_20250630_zg6Wg74PGfgi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_pn3n3_maLTDz5iw_zYjMaPOD0s0h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center">2026</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" contextRef="AsOf2025-06-30" id="Fact001151" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">587</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_zEJRi6LcL4Rh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" contextRef="AsOf2025-06-30" id="Fact001153" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">110,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zWYW5Md4M2si" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2025-06-30" id="Fact001155" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">110,587</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zWSsMrLL4JU1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s loans have maturities ranging from <span id="xdx_90D_eus-gaap--DebtInstrumentMaturityDateDescription_c20250101__20250630_z9ELywlGG9D1" title="Loan maturity period description"><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" id="Fact001157" name="us-gaap:DebtInstrumentMaturityDateDescription">several weeks to 2 years</ix:nonNumeric></span>. Our credit facilities bore a weighted average interest rate
of <span id="xdx_90E_eus-gaap--DebtWeightedAverageInterestRate_iI_pid_dp_uPure_c20250630_zSLtUmDSUpc7" title="Debt, weighted average interest rate"><ix:nonFraction name="us-gaap:DebtWeightedAverageInterestRate" contextRef="AsOf2025-06-30" id="Fact001159" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.87</ix:nonFraction></span>% as of June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001161" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock"><p id="xdx_80B_eus-gaap--DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_zpA0sPUdIA8d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9. <span id="xdx_82C_zkk0pV61GDJ5">Hedging Activity and Fair Value Measurements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Hedging
Activity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the quarter ended June 30, 2022, we entered into several interest rate swap contracts to hedge the interest rate fluctuations related
to our outstanding debt. The effective date of the contract is December 31, 2022 and, thus, we shall have payment dates each quarter,
commencing March, 31 2023. During the quarter ended December 31, 2024, we entered into several foreign currency non-delivery option contracts
to hedge the fluctuations in the exchange rate between the Colombian Peso and the U.S. Dollar. Our contracts are designated as cash flow
hedges since they are highly effective in offsetting changes in the cash flows attributable to forecasted LIBOR and Colombian Peso denominated
costs and expenses, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
record our hedge contracts at fair value and consider our credit risk for contracts in a liability position, and our counter-party&#8217;s
credit risk for contracts in an asset position, in determining fair value. We assess our counter-party&#8217;s risk of non-performance
when measuring the fair value of financial instruments in an asset position by evaluating their financial position, including cash on
hand, as well as their credit ratings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Due
to the Libor discontinuation, on June 21, 2023, the Company amended the Interest Rate Swap contract from Libor 1 Month plus spread to
SOFR 3 Months plus spread. The settlements of the instruments remain under the existing conditions; however, the fixed leg goes from
<span id="xdx_90A_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MinimumMember_zE9eh5FEVpuh" title="Derivative fixed interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MinimumMember" id="Fact001163" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.93</ix:nonFraction></span>% to <span id="xdx_901_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MaximumMember_zPoqMdgYk113" title="Derivative fixed interest rate"><ix:nonFraction name="us-gaap:DerivativeFixedInterestRate" contextRef="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MaximumMember" id="Fact001165" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.87</ix:nonFraction></span>%. Regarding the conditions of our outstanding debt, only Libor was replaced by SOFR, maintaining the other initial conditions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 14; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the fair value of our interest rate swap and foreign currency non-delivery option contracts was in a net asset position
of $<span id="xdx_90B_eus-gaap--DerivativeAssets_iI_pn5n6_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zHtVPFi4MhW2" title="Derivative assets"><ix:nonFraction name="us-gaap:DerivativeAssets" contextRef="AsOf2025-06-30_us-gaap_InterestRateSwapMember" id="Fact001167" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">5.5</ix:nonFraction></span> million. We had 6 outstanding interest rate swap contracts to hedge $<span id="xdx_909_eus-gaap--InterestEarningAssetsAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zE8zczCTNdQ7" title="Interest earning assets average outstanding"><ix:nonFraction name="us-gaap:InterestEarningAssetsAverageAmountOutstanding" contextRef="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember" id="Fact001169" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">110</ix:nonFraction></span> million related to our outstanding debt through November
2026 and 6 non-delivery option contracts to exchange $<span id="xdx_904_eus-gaap--LongTermDebtAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zPE3c7x9g4Di" title="Debt outstanding amount"><ix:nonFraction name="us-gaap:LongTermDebtAverageAmountOutstanding" contextRef="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember" id="Fact001171" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">45</ix:nonFraction></span> million U.S. Dollars to Colombian Pesos through December 2025. We assessed the
risk of non-performance of the Company to these contracts and determined it was insignificant and, therefore, did not record any adjustment
to fair value as of June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
assess the effectiveness of our interest rate swap and foreign currency non-delivery option contracts by comparing the change in the
fair value of the interest rate swap and foreign currency non-delivery option contracts to the change in the expected cash to be paid
for the hedged item. The effective portion of the gain or loss on our interest rate swap and foreign currency non-delivery option contracts
is reported as a component of accumulated other comprehensive income and is reclassified into earnings in the same line item in the income
statement as the hedged item in the same period or periods during which the transaction affects earnings. The amount of gains, net, recognized
in the &#8220;accumulated other comprehensive income&#8221; line item in the accompanying consolidated balance sheet as of June 30, 2025,
that we expect will be reclassified to earnings within the next twelve months, is $<span id="xdx_904_ecustom--ReclassifiedEarningsExpected_iI_pn5n6_c20250630__us-gaap--BalanceSheetLocationAxis__custom--AccumulatedOtherComprehensiveLossMember_z7H16mgjc7G8" title="Reclassified earnings, expected"><ix:nonFraction name="TGLS:ReclassifiedEarningsExpected" contextRef="AsOf2025-06-30_custom_AccumulatedOtherComprehensiveLossMember" id="Fact001173" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">5.0</ix:nonFraction> </span>million.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001175" name="TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock"><p id="xdx_891_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zyJkoh8PwfDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of our interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2025, as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zNtvyTYRhFdf" style="display: none">Schedule
of Fair Value of Foreign Currency Hedges</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Assets</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Liabilities</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">Derivatives designated as hedging instruments</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">under Subtopic 815-20:</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Derivative instruments:</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 31%; text-align: left; padding-left: 10pt">Interest Rate Swap Contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: left">Other current assets</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zOg4uN3hky17" title="Total derivative assets" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedges" contextRef="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_OtherCurrentAssetsMember" id="Fact001177" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,606</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 13%; text-align: right"><span id="xdx_900_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zDdnWG7VjPh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1179">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">foreign currency non-delivery forwards</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zxvAZElhpIK1" title="Total derivative assets" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedges" contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_OtherCurrentAssetsMember" id="Fact001181" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,868</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_902_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_z8dUK87zojIh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1183">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total derivative instruments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630_zoDYAErRSzbi" title="Total derivative assets" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedges" contextRef="AsOf2025-06-30" id="Fact001185" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,474</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630_zazF9cf7iM5g" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1187">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zXQ0eXXdODzi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
ending accumulated balance for the interest rate swap and foreign currency non-delivery option contracts included in accumulated other
comprehensive income, net of tax, was $<span id="xdx_90E_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zklA5wNftUc6" title="Accumulated other comprehensive income net of tax"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2025-06-30_us-gaap_InterestRateSwapMember" id="Fact001189" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,470</ix:nonFraction></span> as of June 30,2025, comprised of a derivative gain of $<span id="xdx_90A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember_z7GFnbmmcWbe" title="Accumulated other comprehensive income net of tax"><ix:nonFraction name="us-gaap:DerivativeInstrumentsAndHedges" contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember" id="Fact001191" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,474</ix:nonFraction></span> and an associated net tax liability
of $<span id="xdx_90A_eus-gaap--DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_pn3n3_c20250101__20250630_zTUQkfKEMu2c" title="Derivatives used in net investment hedge, tax (benefit)"><ix:nonFraction name="us-gaap:DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" contextRef="From2025-01-01to2025-06-30" id="Fact001193" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,004</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001195" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock"><p id="xdx_894_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zkBYSyyOFyg1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the three months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z1AEfUF5gQW4" style="display: none">Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zb5YyI3puP3j" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives" style="text-align: right"><ix:nonFraction name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001197" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zA8nhxHM7pKd" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives" style="text-align: right">(<ix:nonFraction name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001199" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">342</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zSFZp28giw57" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income" style="text-align: right"><ix:nonFraction name="TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" contextRef="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001201" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,250</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zgZHr1mR6Gaf" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income" style="text-align: right"><ix:nonFraction name="TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" contextRef="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001203" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,084</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the six months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zmS7vJ8MDXra" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives" style="text-align: right"><ix:nonFraction name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001205" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">148</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z3YVMpL85YLi" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives" style="text-align: right"><ix:nonFraction name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001207" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">694</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zcC0SfrSwoo7" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income" style="text-align: right"><ix:nonFraction name="TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" contextRef="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001209" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,242</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zPfgPggbdv4a" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income" style="text-align: right"><ix:nonFraction name="TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" contextRef="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" id="Fact001211" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,183</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A8_zMx6fO3bOZHe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 15; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value Measurements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for financial assets and liabilities in accordance with accounting standards that define fair value and establish a
framework for measuring fair value. The hierarchy prioritizes the inputs into three broad levels. Level 1 inputs are quoted prices (unadjusted)
in active markets for identical assets or liabilities. Level 2 inputs are quoted prices for similar assets and liabilities in active
markets or inputs that are observable for the asset or liability, either directly or indirectly through market corroboration, for substantially
the full term of the financial instrument. Level 3 inputs are unobservable inputs based on the Company&#8217;s assumptions used to measure
assets and liabilities at fair value. A financial asset&#8217;s or liability&#8217;s classification within the hierarchy is determined
based on the lowest level input that is significant to the fair value measurement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of the Company&#8217;s financial instruments, including cash and cash equivalents, accounts receivable, accounts payable
and advances from customers approximate their fair value due to their relatively short-term maturities. The Company bases its fair value
estimate for long term debt obligations on its internal valuation that all debt is floating rate debt based on current interest rates
in Colombia.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of derivatives used to manage interest rate risks are based on SOFR rates and interest rate swap curves. Measurement of our
derivative assets and liabilities is considered a level 2 measurement. To carry out the swap valuation, the definition of the fixed leg
(obligation) and variable leg (right) is used. Once the projected flows are obtained in both fixed and variable rates, the regression
analysis is performed for prospective effectiveness test. The projection curve contains the forward interest rates to project flows at
a variable rate and the discount curve contains the interest rates to discount future flows, using the one-month USD Libor curve.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, financial instruments carried at amortized cost that do not approximate fair value consist of long-term debt. See Note
8 &#8211; Debt. The fair value of long-term debt was calculated based on an analysis of future cash flows discounted at current market
rates (which are level 2 inputs).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001213" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock"><p id="xdx_89A_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_z1BxGVLh2hod" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the fair value and carrying amounts of our long-term debt:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zrWzehFPbjff" style="display: none">Schedule
of Fair Value and Carrying Amounts of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zKSFfjpgxTHj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zylaaA0znO3i" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zHgIaoPXtv5f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Fair Value</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtFairValue" contextRef="AsOf2025-06-30" id="Fact001215" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">106,361</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtFairValue" contextRef="AsOf2024-12-31" id="Fact001216" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">109,341</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_z0gDt86oJFNg" style="vertical-align: bottom; background-color: White">
    <td>Carrying Value</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2025-06-30" id="Fact001218" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,642</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-12-31" id="Fact001219" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">108,220</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_zfV2xNQRYgB5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001221" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_z1Ys1rfkb3Xd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10. <span id="xdx_82C_zTubXLwW6vli">Income Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company files income tax returns for TG, ES and ES Metals in the Republic of Colombia. GM&amp;P, Componenti and ESW LLC are U.S. entities
based in Florida subject to U.S. federal and state income taxes. Tecnoglass as well as the Company&#8217;s other subsidiaries in the
Cayman Islands do not currently have any tax obligations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">On July 4, 2025, the One Big Beautiful Bill Act (&#8220;OBBBA&#8221;)
was signed into law. The OBBBA permanently establishes key elements of the Tax Cuts and Jobs Act, and also introduces modifications to
certain international tax provisions. These provisions have various effective dates, some of which extended into 2027. The Company is
assessing the effects that the OBBBA may have on the Company&#8217;s consolidated financial statements.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 16; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001223" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"><p id="xdx_899_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zQfoqzcffNe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of income tax expense are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z8axA28Osoef" style="display: none">Schedule
of Components of Income Tax Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zXjFIVlNoGKi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zF8XPmlKeUy2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_z4oojgzwYYGb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240630_zsPWUzPu4Cge" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Current income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zWDjDQtJhZoi" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30_country_US" id="Fact001225" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">8,286</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30_country_US" id="Fact001226" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,775</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-01-012025-06-30_country_US" id="Fact001227" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">11,920</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30_country_US" id="Fact001228" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">8,607</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zMJPpoaAVidb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Colombia</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30_country_CO" id="Fact001230" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,329</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30_country_CO" id="Fact001231" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,774</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-01-012025-06-30_country_CO" id="Fact001232" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">21,881</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30_country_CO" id="Fact001233" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">13,582</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_zseIQhhkO6da" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Panama</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30_country_PA" id="Fact001235" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30_country_PA" id="Fact001236" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-01-012025-06-30_country_PA" id="Fact001237" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30_country_PA" id="Fact001238" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zxw7YMgN5W9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total current income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30" id="Fact001240" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">18,616</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact001241" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">14,554</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2025-01-01to2025-06-30" id="Fact001242" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">33,806</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30" id="Fact001243" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">22,195</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income Tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zGM3ptZOQoWa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30_country_US" id="Fact001245" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">58</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30_country_US" id="Fact001246" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">929</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-01-012025-06-30_country_US" id="Fact001247" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,355</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30_country_US" id="Fact001248" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">249</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_z3p45wBD3UA" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Colombia</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30_country_CO" id="Fact001250" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">410</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30_country_CO" id="Fact001251" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">1,132</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-01-012025-06-30_country_CO" id="Fact001252" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">647</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30_country_CO" id="Fact001253" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,208</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zqohWn0MTOJc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total deferred income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30" id="Fact001255" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">468</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact001256" format="ixt:numdotdecimal" decimals="-3" scale="3" sign="-" unitRef="USD">2,061</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2025-01-01to2025-06-30" id="Fact001257" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,002</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30" id="Fact001258" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,457</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_zlrVkpugucCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income provision</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2025-04-012025-06-30" id="Fact001260" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">18,148</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact001261" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">12,493</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2025-01-01to2025-06-30" id="Fact001262" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,808</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-012024-06-30" id="Fact001263" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23,652</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zb9EbSeVHb52" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Effective tax rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2025-04-012025-06-30" id="Fact001265" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29.2</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2024-04-012024-06-30" id="Fact001266" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26.3</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2025-01-01to2025-06-30" id="Fact001267" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29.3</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2024-01-012024-06-30" id="Fact001268" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26.8</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zrPT7FnLKWGj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the three and six months ended June 30, 2025, of <span id="xdx_903_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250401__20250630_zW7bpVMBHYLe" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2025-04-012025-06-30" id="Fact001270" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29.7</ix:nonFraction></span>% and <span id="xdx_901_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250101__20250630_z6xZxa6W3Szj" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2025-01-01to2025-06-30" id="Fact001272" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29.6</ix:nonFraction></span>%, respectively, approximates the weighted
average statutory rate of <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_pid_dp_uPure_c20250101__20250630_zj7Y3Yh2EN5k" title="Weighted average statutory rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="From2025-01-01to2025-06-30" id="Fact001274" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29.1</ix:nonFraction></span>%. The effective income tax rate for the three and six months ended June 30, 2024, of <span id="xdx_905_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240401__20240630_zkjBTX7f7lxi" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-04-012024-06-30" id="Fact001276" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26.3</ix:nonFraction></span>% and <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zafXuIBrwwXg" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-012024-06-30" id="Fact001278" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26.8</ix:nonFraction></span>% are
below the weighted average statutory rate as the Colombian subsidiaries which bear a higher corporate income tax rate recorded a proportionally
lower share of the consolidated income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001280" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock"><p id="xdx_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zIJEW2fEcbNe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11. <span id="xdx_825_zKxztDXXIMo9">Related Parties</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001282" name="us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock"><p id="xdx_896_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_z6zD4EULDjEk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a summary of assets, liabilities, and income transactions with all related parties:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zl8yH0nFXpf6" style="display: none">Schedule of Related Parties</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250630_zkBEHl6ZSlbk" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2025</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20241231_zUQWOGbb5M3e" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due from related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZzH24vfehXf" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left">Fundaci&#243;n Tecnoglass-ESWindows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember" id="Fact001284" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">921</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember" id="Fact001285" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">809</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zjwqPLU25a6e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Prisma-Glass LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001287" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">808</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001288" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">375</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8awo4liwvn" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001290" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">594</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001291" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">629</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zU8D5UPZ6Qk9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001293" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">409</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001294" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">301</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIyrNmZtnEDj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Due from other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001296" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">613</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001297" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">560</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZHjclP3si95" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due from related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember" id="Fact001299" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,345</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember" id="Fact001300" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,674</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zc2pE8gL2hwj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Vidrio Andino</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember" id="Fact001302" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,619</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember" id="Fact001303" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,660</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlV2Vc1kDQtd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Due to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001305" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">3,095</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001306" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">4,204</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNeR63q9q6k7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due to related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember" id="Fact001308" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,714</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember" id="Fact001309" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">9,864</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A7_zBehgbPNiHhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001311" name="TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock"><p id="xdx_890_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zbhvOvYOiFD6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zlBnj5Z4z0N2" style="display: none">Schedule of Sale to Related Parties</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250401__20250630_zPGRmHkYMAbf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240401__20240630_zIsB1dnJXVMl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_zB6XFsfatFFg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20240630_zFsLO0kfIGai" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3P9f4TbRDz1" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">Prisma Glass LLC</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001313" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001314" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">315</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001315" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,168</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001316" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">508</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z61DuR6IyMn3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001318" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">230</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001319" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">239</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001320" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">587</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001321" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">378</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zVvB5kvVngVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001323" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">294</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001324" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">149</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001325" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">532</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001326" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">345</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3JEas7aVDV9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sales to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001328" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">93</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001329" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">23</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001330" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">131</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember" id="Fact001331" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">33</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zu0qQVgBqf27" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales to related parties</span></td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember" id="Fact001333" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,401</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_us-gaap_RelatedPartyMember" id="Fact001334" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">726</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember" id="Fact001335" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,417</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_us-gaap_RelatedPartyMember" id="Fact001336" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,264</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A9_zRAPjFX9znLb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<ix:exclude><!-- Field: Page; Sequence: 17; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Alutrafic
Led SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Alutrafic Led SAS (&#8220;Alutrafic&#8221;), a fabricator of electrical lighting
equipment. Affiliates of Jose Daes and Christian Daes, the Company&#8217;s Chief Executive Officer and Chief Operating Officer, respectively,
have an ownership stake in Alutrafic. During the three and six months ended June 30, 2025, we sold $<span id="xdx_90B_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z986HCjvsYyg" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001338" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">230</ix:nonFraction></span> and $<span id="xdx_902_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3myU4JM0Mfi" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001340" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">587</ix:nonFraction></span> to Alutrafic, respectively,
compared to $<span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zULtjzEwxEGk" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001342" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">239</ix:nonFraction></span> and $<span id="xdx_90E_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zO1tmFXAd7Wa" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001344" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">378</ix:nonFraction></span> during the three and six months ended June 30, 2024, respectively. Additionally, we had outstanding accounts
receivable from Alutrafic of $<span id="xdx_902_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_znfWKhpqG936" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001346" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">594</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zHcvO9wQxb81" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember" id="Fact001348" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">629</ix:nonFraction></span> as of June 30, 2025, and December 31, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Fundacion
Tecnoglass-ESWindows</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fundacion
Tecnoglass-ESWindows is a non-for-profit entity set up by the Company to carry out social causes in the communities around where we operate.
We made charitable contributions during the three and six months ended June 30, 2025, of $<span id="xdx_907_ecustom--CashContributionsForSocialCauses_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zUhUy8tyleGg" title="Cash contributions for social causes"><ix:nonFraction name="TGLS:CashContributionsForSocialCauses" contextRef="From2025-04-012025-06-30_custom_FundacionTecnoglassMember" id="Fact001350" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">998</ix:nonFraction></span> and $<span id="xdx_90F_ecustom--CashContributionsForSocialCauses_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_z3kowrpuJnJk" title="Cash contributions for social causes"><ix:nonFraction name="TGLS:CashContributionsForSocialCauses" contextRef="From2025-01-012025-06-30_custom_FundacionTecnoglassMember" id="Fact001352" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,046</ix:nonFraction></span>, respectively, compared to $<span id="xdx_90E_ecustom--CashContributionsForSocialCauses_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zLMyEoeohcq4" title="Cash contributions for social causes"><ix:nonFraction name="TGLS:CashContributionsForSocialCauses" contextRef="From2024-04-012024-06-30_custom_FundacionTecnoglassMember" id="Fact001354" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">821</ix:nonFraction></span>
and $<span id="xdx_905_ecustom--CashContributionsForSocialCauses_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zgS8pW3auoYl" title="Cash contributions for social causes"><ix:nonFraction name="TGLS:CashContributionsForSocialCauses" contextRef="From2024-01-012024-06-30_custom_FundacionTecnoglassMember" id="Fact001356" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,570</ix:nonFraction></span> during the three and six months ended June 30, 2024, respectively. Additionally, Fundaci&#243;n Tecnoglass-ESWindows received
$<span id="xdx_905_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z7gJaKsaOMAi"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember" id="Fact001357" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">921</ix:nonFraction></span> and $<span id="xdx_902_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zXgJgUNpazRj"><ix:nonFraction name="us-gaap:OtherReceivablesNetCurrent" contextRef="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember" id="Fact001358" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">809</ix:nonFraction></span> from us as of June 30, 2025, and December 31, 2024, respectively, from advances on future contributions we made to them
for the construction of a school in the local community where we operate.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Prisma-Glass
LLC</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Prisma-Glass LLC, a distributer and installer of architectural systems in Florida
that is owned and controlled by family members of Christian Daes. We sold $<span id="xdx_908_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z18Vj9AGlfdi" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001360" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">785</ix:nonFraction></span> and $<span id="xdx_909_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zwneoyUisXl2" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001362" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,168</ix:nonFraction></span> to Prisma-Glass LLC during the three and six
months ended June 30, 2025, respectively, compared to $<span id="xdx_904_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zOOTddcbV39l" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001364" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">315</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNydhwYw8wui" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001366" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">508</ix:nonFraction></span> during the three and six months ended June 30, 2024, respectively.
The Company had outstanding accounts receivable from Prisma-Glass of $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zQw0XtawMDa" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001368" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">808</ix:nonFraction> </span>and $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zcOFfI5yY1p3" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember" id="Fact001370" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">375</ix:nonFraction></span> as of June 30, 2025, and December 31, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Santa
Maria del Mar SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we purchase fuel for use at our manufacturing facilities from Estaci&#243;n Santa Maria del Mar SAS,
a gas station located in the vicinity of our manufacturing campus which is owned by affiliates of Jose Daes and Christian Daes. During
the three and six months ended June 30, 2025, we purchased $<span id="xdx_903_ecustom--PurchasePriceOfFuel_pn3n3_c20250401__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zso7wzA3Mx07" title="Purchases of fuel"><ix:nonFraction name="TGLS:PurchasePriceOfFuel" contextRef="From2025-04-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember" id="Fact001372" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">131</ix:nonFraction></span> and $<span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20250101__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZC5NvvKTCp6" title="Purchases of fuel"><ix:nonFraction name="TGLS:PurchasePriceOfFuel" contextRef="From2025-01-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember" id="Fact001374" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">719</ix:nonFraction></span>, respectively, compared to $<span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20240401__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zH1kvSIo5Lja" title="Purchases of fuel"><ix:nonFraction name="TGLS:PurchasePriceOfFuel" contextRef="From2024-04-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember" id="Fact001376" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">110</ix:nonFraction></span> and $<span id="xdx_90D_ecustom--PurchasePriceOfFuel_pn3n3_c20240101__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIRy79A2lqJe" title="Purchases of fuel"><ix:nonFraction name="TGLS:PurchasePriceOfFuel" contextRef="From2024-01-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember" id="Fact001378" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">261</ix:nonFraction></span> purchased during the
three and six months ended June 30, 2024, respectively. Additionally, we finalized the purchase of a lot of land adjacent to our manufacturing
facilities for $<span id="xdx_908_eus-gaap--PaymentsToAcquireLandHeldForUse_pn3n3_c20250101__20250331__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvF2N6oTUcyj" title="Payment for acquisition, land"><ix:nonFraction name="us-gaap:PaymentsToAcquireLandHeldForUse" contextRef="From2025-01-012025-03-31_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember" id="Fact001380" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">334</ix:nonFraction></span> during the three months ended March 31, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Studio
Avanti SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Studio Avanti SAS (&#8220;Avanti&#8221;), a distributer and installer of architectural
systems in Colombia. Avanti is owned and controlled by Alberto Velilla, who is director of Energy Holding Corporation, the controlling
shareholder of the Company. As of June 30, 2025, and December 31, 2024, the Company had outstanding accounts receivable from Avanti of
$<span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z6HXdiN71li" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001382" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">409</ix:nonFraction></span> and $<span id="xdx_90D_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zqr6uiKlzqj3" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001384" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">301</ix:nonFraction></span>, respectively. During the three and six months ended June 30, 2025, we sold $<span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zkuFZZENPIIl" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001386" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">294</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zd0ZCtZK3fJh" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001388" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">532</ix:nonFraction></span> of products to Avanti, respectively,
compared to $<span id="xdx_908_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zPh32tSSrXbd" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001390" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">149</ix:nonFraction></span> and $<span id="xdx_909_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zRP1ZQYmGtv6" title="Revenue from related parties"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember" id="Fact001392" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">345</ix:nonFraction></span> during the three and six months ended June 30, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Vidrio
Andino Joint Venture</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
May 3, 2019, we consummated a joint venture agreement with Saint-Gobain, a world leader in the production of float glass, a key component
of our manufacturing process, whereby we acquired a <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_c20190503__srt--OwnershipAxis__custom--VidrioAndinoMember_z9OlDkCCAj95" title="Minority interest ownership"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2019-05-03_custom_VidrioAndinoMember" id="Fact001394" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25.8</ix:nonFraction></span>% minority ownership interest in Vidrio Andino, a Colombia-based subsidiary of
Saint-Gobain. The purchase price for our interest in Vidrio Andino was $<span id="xdx_907_eus-gaap--BusinessCombinationConsiderationTransferred1_pn6n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_z1ppXNkovUN5" title="Purchase price of interest"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember" id="Fact001396" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">45</ix:nonFraction></span> million, of which $<span id="xdx_90A_eus-gaap--PaymentsToAcquireBusinessesGross_pn5n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zVye7PqvyoRl" title="Payment of cash"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesGross" contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember" id="Fact001398" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">34.1</ix:nonFraction> </span>million was paid in cash and $<span id="xdx_901_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iI_pn5n6_c20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zaPS1FeyKSAl" title="Land contribution value"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" contextRef="AsOf2020-12-09_custom_VidrioAndinoMember" id="Fact001400" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">10.9</ix:nonFraction></span>
million paid through the contribution of land on December 9, 2020. On October 28, 2020, we acquired said land from a related party and
paid for it with the issuance of an aggregate of <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_pid_c20201028__20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zs5l4vPU3eEb" title="Shares issued during acquisition"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="From2020-10-282020-10-28_custom_VidrioAndinoMember" id="Fact001402" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,557,142</ix:nonFraction></span> ordinary shares of the Company, valued at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_pid_c20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zWx9gNc8vvRd" title="Shares issued, price per share"><ix:nonFraction name="us-gaap:SharesIssuedPricePerShare" contextRef="AsOf2020-10-28_custom_VidrioAndinoMember" id="Fact001404" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">7.00</ix:nonFraction></span> per share, which represented
an approximate <span id="xdx_90D_ecustom--PremiumClosingStockPercentage_iI_pid_dp_uPure_c20201027__srt--OwnershipAxis__custom--VidrioAndinoMember_z1QRgr0QdXJ9" title="Premium closing stock, percent"><ix:nonFraction name="TGLS:PremiumClosingStockPercentage" contextRef="AsOf2020-10-27_custom_VidrioAndinoMember" id="Fact001406" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">33</ix:nonFraction></span>% premium based on the closing stock price as of October 27, 2020.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
land will serve the purpose of developing a second float glass plant nearby our existing manufacturing facilities which we expect will
carry significant efficiencies for us once it becomes operative, in which we will also have a <span id="xdx_90C_ecustom--ExpectedOwnershipPercentage_pid_dp_uPure_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zBgk2NMyjKzd" title="Expected ownership percentage"><ix:nonFraction name="TGLS:ExpectedOwnershipPercentage" contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember" id="Fact001408" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25.8</ix:nonFraction></span>% interest. The new plant will be funded
with proceeds from the original cash contribution made by the Company, operating cashflows from the Bogota plant, debt incurred at the
joint venture level that will not consolidate into the Company and an additional contribution by us of approximately $<span id="xdx_90C_ecustom--FutureAdditionalContributionAmount_pn5n6_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zsGjL7OvlBoi" title="Additional contribution amount"><ix:nonFraction name="TGLS:FutureAdditionalContributionAmount" contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember" id="Fact001410" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">12.5</ix:nonFraction> </span>million if
needed (based on debt availability as a first option).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"></p>

<ix:exclude><!-- Field: Page; Sequence: 18; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we purchased $<span id="xdx_905_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zUkphiM5TcJi" title="Purchase from related party"><ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember" id="Fact001412" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">10,633</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zFOEvWE796P2" title="Purchase from related party"><ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember" id="Fact001414" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">19,678</ix:nonFraction></span> of materials from Vidrio Andino during the three and six months ended
June 30, 2025, respectively, compared to $<span id="xdx_90E_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zRcFlO7W9Hi1" title="Purchase from related party"><ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="From2024-04-012024-06-30_custom_VidrioAndinoMember" id="Fact001416" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">7,214</ix:nonFraction></span> and $<span id="xdx_903_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zrClPWmJa8D6" title="Purchase from related party"><ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="From2024-01-012024-06-30_custom_VidrioAndinoMember" id="Fact001418" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">14,095</ix:nonFraction></span> during the three and six months ended June 30, 2024, respectively. We also
had outstanding payables to Vidrio Andino of $<span id="xdx_908_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20250630__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zhR0H8xpKhf9" title="Payable outstanding"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531" id="Fact001420" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">6,619</ix:nonFraction></span> and $<span id="xdx_902_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20241231__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlzpWH8tujvi" title="Payable outstanding"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531" id="Fact001422" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">5,660</ix:nonFraction></span> as of June 30, 2025, and December 31, 2024, respectively. We recorded
equity method income of $<span id="xdx_90B_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zEoZ2sY8ary6" title="Equity method income"><ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember" id="Fact001424" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">941</ix:nonFraction></span> and $<span id="xdx_903_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zCorjHDCVL87" title="Equity method income"><ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember" id="Fact001426" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,285</ix:nonFraction></span> on our Consolidated Statement of Operations during the three and six months ended June 30, 2025,
compared to $<span id="xdx_908_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zAZWCfkkysih" title="Equity method income"><ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2024-04-012024-06-30_custom_VidrioAndinoMember" id="Fact001428" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">1,120</ix:nonFraction></span> and $<span id="xdx_90C_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zVsDDwTUoj5i" title="Equity method income"><ix:nonFraction name="us-gaap:IncomeLossFromEquityMethodInvestments" contextRef="From2024-01-012024-06-30_custom_VidrioAndinoMember" id="Fact001430" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">2,568</ix:nonFraction></span> recorded during the three and six months ended June 30, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Zofracosta
SA</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have an investment in Zofracosta SA, a real estate holding company located in the vicinity of the proposed glass plant being built through
our Vidrio Andino joint venture, recorded at $<span id="xdx_904_eus-gaap--Investments_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zaONNeANX898" title="Investments"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2025-06-30_custom_ZofracostaSAMember" id="Fact001432" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">748</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--Investments_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zPMaM0Ihw6Nj" title="Investments"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_custom_ZofracostaSAMember" id="Fact001434" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">690</ix:nonFraction></span> as of June 30, 2025, and December 31, 2024, respectively. Affiliates of Jose
Daes and Christian Daes have a majority ownership stake in Zofracosta SA.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001436" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_803_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z1sAc7aKmy0l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12. <span id="xdx_82F_z66Xw3aZhdFj">Shareholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dividends</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
June 10, 2025, the Company declared a regular quarterly dividend of $<span id="xdx_90A_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--QuarterlyRateMember_zpio3SAeYiel" title="Declared per share"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2025-06-10_custom_QuarterlyRateMember" id="Fact001438" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.15</ix:nonFraction> </span>per share, or $<span id="xdx_906_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--AnnualBasisMember_z9YG6cNleBZj" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2025-06-10_custom_AnnualBasisMember" id="Fact001440" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.60</ix:nonFraction></span> per share on an annualized basis. The dividend
was paid on July 31, 2025, to shareholders of record as of the close of business on June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Earnings
per Share</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001442" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_89C_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJSlii5mLPQ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the computation of the basic and diluted earnings per share for the three and six months ended June 30, 2025,
and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zgBdR67uCrY2" style="display: none">Schedule of Earnings Per Share, Basic and Diluted</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zFLeVfXJ1gi1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240401__20240630_zGpuToK8KU7k" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250101__20250630_zT79QgeDdJW5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240630_zoVCAOIjtodk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Numerator for basic and diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_pn3n3_zdCIU5cyRAok" style="vertical-align: bottom; background-color: White">
    <td style="width: 40%; text-align: left">Net Income attributable to parent</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-04-012025-06-30" id="Fact001444" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">44,083</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact001445" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">35,028</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2025-01-01to2025-06-30" id="Fact001446" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">86,272</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-06-30" id="Fact001447" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">64,758</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zYfqe25g7wf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator for basic earnings per ordinary share - weighted average shares outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2025-04-012025-06-30" id="Fact001449" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,988,155</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-04-012024-06-30" id="Fact001450" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,705</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2025-01-01to2025-06-30" id="Fact001451" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,989,650</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-012024-06-30" id="Fact001452" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,706</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zLJj07wPPSbg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Effect of dilutive securities and stock dividend</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1454">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1456">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1457">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zuKikMXcuhpl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Denominator for diluted earnings per ordinary share - weighted average shares outstanding</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2025-04-012025-06-30" id="Fact001459" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,988,155</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-04-012024-06-30" id="Fact001460" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,705</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2025-01-01to2025-06-30" id="Fact001461" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,989,650</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-012024-06-30" id="Fact001462" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">46,996,706</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pid_z4JGLFO7f1o7" style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2025-04-012025-06-30" id="Fact001464" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.94</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-04-012024-06-30" id="Fact001465" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.75</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2025-01-01to2025-06-30" id="Fact001466" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.84</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-012024-06-30" id="Fact001467" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.38</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EarningsPerShareDiluted_pid_zq6WgLPRLmOe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Diluted earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2025-04-012025-06-30" id="Fact001469" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.94</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-04-012024-06-30" id="Fact001470" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.75</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2025-01-01to2025-06-30" id="Fact001471" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.84</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-012024-06-30" id="Fact001472" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.38</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A9_zFjttEyfiiLe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2025-01-01to2025-06-30" escape="true" id="Fact001474" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z8D8qe9D2v2e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13. <span id="xdx_822_zLQ3zyI4Zrig">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Commitments</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the Company had outstanding obligations to purchase an aggregate of at least $<span id="xdx_906_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--NovemberThirtyTwoThousandThirtyMember_zygNdgfEtqj1" title="Purchase of aggregate raw material"><ix:nonFraction name="us-gaap:LongTermPurchaseCommitmentAmount" contextRef="From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember" id="Fact001476" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">85,735</ix:nonFraction></span> of certain raw materials from
a specific supplier before February 28, 2030, and an aggregate of at least $<span id="xdx_90C_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--ThroughTwoThousandTwentyEightMember_zLiPIwv3hQC4" title="Purchase of aggregate raw material"><ix:nonFraction name="us-gaap:LongTermPurchaseCommitmentAmount" contextRef="From2025-01-012025-06-30_srt_MinimumMember_custom_ThroughTwoThousandTwentyEightMember" id="Fact001478" format="ixt:numdotdecimal" decimals="-3" scale="3" unitRef="USD">8,062</ix:nonFraction></span> of certain raw materials from a specific supplier through
2028.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General
Legal Matters</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, the Company is involved in legal matters arising in the regular course of business. Some disputes are derived directly
from our construction projects, related to supply and installation, and even though deemed ordinary, they may involve significant monetary
damages. We are also subject to other type of litigations arising from employment practices, worker&#8217;s compensation, automobile
claims and general liability. It is very difficult to predict precisely what the outcome of these litigations might be. However, with
the information at our disposition as this time, there are no indications that such claims will result in a material adverse effect on
the business, financial condition or results of operations of the Company.</span></p>

</ix:nonNumeric><p id="xdx_817_zaLqsEkXF92e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 27.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"></p>

<!-- Field: Page; Sequence: 19; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_006"></span>Item
2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Forward-Looking
Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Quarterly Report on Form 10-Q includes forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as
amended, and Section 21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). We have based these forward-looking
statements on our current expectations and projections about future events. These forward-looking statements are subject to known and
unknown risks, uncertainties and assumptions about us that may cause our actual results, levels of activity, performance or achievements
to be materially different from any future results, levels of activity, performance or achievements expressed or implied by such forward-looking
statements. In some cases, you can identify forward-looking statements by terminology such as &#8220;may,&#8221; &#8220;should,&#8221;
&#8220;could,&#8221; &#8220;would,&#8221; &#8220;expect,&#8221; &#8220;plan,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221;
&#8220;estimate,&#8221; &#8220;continue,&#8221; or the negative of such terms or other similar expressions. Factors that might cause
or contribute to such a discrepancy include, but are not limited to, those described in our other Securities and Exchange Commission
(&#8220;SEC&#8221;) filings. References to &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221; are to Tecnoglass Inc., except where
the context requires otherwise. The following discussion should be read in conjunction with our unaudited condensed consolidated financial
statements and related notes thereto included elsewhere in this report.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Overview</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are experienced and highly skilled in the vertical integration of architectural glass manufacturing, distribution, and professional fitting.
Our expertise extends to the production of top-quality windows, as well as the supply of aluminum, vinyl, and other components. Our dedicated
and knowledgeable team serves a diverse range of commercial and residential construction projects worldwide, guaranteeing outstanding
products and seamless installation services. With a focus on innovation, combined with providing highly specified products with the highest
quality standards at competitive prices, we have earned #1 spot in the Forbe&#8217;s list of America&#8217;s 100 most successful small-cap
companies for 2024, and developed a leadership position in each of our core markets. In the United States, which is our largest market,
we were ranked as the third largest glass fabricator serving the United States in 2023 by Glass Magazine. In addition, we believe we
are the leading glass transformation company in Colombia. Our customers, which include developers, general contractors or installers
for hotels, office buildings, shopping centers, airports, universities, hospitals and multi-family and residential buildings, look to
us as a value-added partner based on our product development capabilities, our high-quality products and our unwavering commitment to
exceptional service.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">With
over 40 years of experience in architectural glass and aluminum assembly, we specialize in transforming various glass products. Our offerings
include tempered safety glass, double thermo-acoustic glass, and laminated glass. Our wide range of finished glass products are utilized
in diverse buildings for floating facades, curtain walls, windows, doors, handrails, as well as interior and bathroom spatial dividers.
In addition to glass, we manufacture aluminum and vinyl products such as profiles, rods, bars, plates, and other hardware specifically
designed for window manufacturing.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
products are manufactured in a 5.6 million square foot, state-of-the-art manufacturing complex in Barranquilla, Colombia that provides
easy access to North, Central and South America, the Caribbean and the Pacific. Our products can be found on some of the most distinctive
buildings in these regions, including 100 Hood Park Drive (Boston), 601 West 29<sup>th</sup> St (New York). Norwegian Cruise Line Terminal
B (Miami), Paramount Miami Worldcenter (Miami), Via 57 West (New York), One65 Main (Cambridge), AE&#8217;O Tower (Honolulu), Salesforce
Tower (San Francisco), and One Thousand Museum (Miami). Our track record of successfully delivering high profile projects has earned
us an increasing number of opportunities across the United States, evidenced by our expanding backlog and overall revenue growth.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
structural competitive advantage is underpinned by our low-cost manufacturing footprint, vertically integrated business model and geographic
location. Our integrated facilities in Colombia and distribution and services operations in Florida provide us with a significant cost
advantage in both manufacturing and distribution, and we continue to invest in these operations to expand our operational capabilities.
Our lower cost manufacturing footprint allows us to offer competitive prices for our customers, while also providing innovative, high
quality and high value-added products, together with consistent and reliable service. We have historically generated high margin organic
growth based on our position as a value-added solutions provider for our customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have a strong presence in the Florida market, which represents a substantial portion of our revenue stream and backlog. Our success in
Florida has primarily been achieved through sustained organic growth, with further penetration now taking place into other highly populated
areas of the United States. As part of our strategy to become a fully vertically integrated company, we have supplemented our organic
growth with some acquisitions that have allowed us added control over our supply chain allowed for further vertical integration of our
business and will act as a platform for our future expansion in the United States. In 2016, we completed the acquisition of ESW, which
gave us control over the distribution of products into the United States from our manufacturing facilities in Colombia. In March 2017,
we completed the acquisition of GM&amp;P, a consulting and glazing installation business that was previously our largest installation
customer.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 20; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
May 3, 2019, we consummated the joint venture agreement with Saint-Gobain, acquiring a 25.8% minority ownership interest in Vidrio Andino,
a Colombia-based subsidiary of Saint-Gobain, solidifying our vertical integration strategy by acquiring an interest in the first stage
of our production chain, while securing ample glass supply for our expected production needs. Additionally, in April 2019, we acquired
a 70% equity interest in ESMetals, which has been consolidated in our financial statements since. In November 2023, we acquired the remaining
30% equity interest in ESMetals. ESMetals is a Colombian entity that serves as a metalwork contractor to supply us with steel accessories
used in the assembly of certain architectural systems as part of our vertical integration strategy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 1, 2025, we completed the acquisition of certain assets and assume certain liabilities of Continental Glass Systems, LLC, a leading
provider of architectural glass and glazing solutions in the Southeast U.S., that included manufacturing equipment, intangibles, and
a strong project backlog, enhancing our U.S. presence, customer reach, and supply chain efficiency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
continued diversification of the group&#8217;s presence and product portfolio is a core component of our strategy. In particular, we
are actively seeking to expand our presence in United States outside of Florida. We also launched a residential window offering which,
we believe, will help us expand our presence in the United States and generate additional organic growth. We believe that the quality
of our products, coupled with our ability to price competitively given our structural advantages on cost, will allow us to generate further
growth in the future.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have focused on working with <i>The Power of Quality</i>, always making sure that our vision of sustainability is immersed into every
aspect of our business, including social, environmental, economic and governance variables, that help us make decisions and create value
for our stakeholders. We carry out a series of initiatives based on our global sustainability strategy, which is supported on three fundamental
pillars: promoting an ethical and responsible continuous growth, leading eco-efficiency and innovation, and empowering our environment.
As part of this strategy, we have voluntarily adhered to UN Global Compact Principles since 2017 and in pursuit of our cooperation with
the attainment of the SDGs joined in 2021 a program to dynamize, strengthen and make visible the management of greenhouse gas emissions
as a carbon neutral strategy set out by the Colombian government for 2050.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">RESULTS
OF OPERATIONS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Operating Revenues</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">255,546</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">219,654</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">477,834</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">412,281</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Cost of sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(141,211</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(130,077</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(265,974</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(248,044</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Gross profit</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">114,335</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">89,577</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">211,860</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">164,237</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(53,135</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(38,443</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(95,607</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(72,081</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,280</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating income</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">61,204</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">51,134</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">120,533</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">92,156</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Non-operating income and expenses, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">588</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,731</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,604</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,811</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity method income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">942</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,237</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,286</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,283</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Foreign currency transactions gains (losses)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">847</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5,575</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">338</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5,728</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest Expense and deferred cost of financing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,350</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,006</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,681</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,112</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income tax provision</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18,148</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(12,493</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(35,808</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(23,652</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">44,083</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">35,028</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">86,272</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">64,758</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comparison
of quarterly periods ended June 30, 2025, and 2024</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Revenues</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating
revenues increased $35.9 million, or 16.3%, from $219.7 during the quarter ended June 30, 2024, to $255.5 million, during the quarter
ended June 30, 2025. Strong revenues during the second quarter of 2025 were driven by strong activity in the U.S market, where revenues
increased $32.6 million, or 15.6% year over year, to $242.3 million during the quarter ended June 30, 2025. The increase was driven by
higher residential revenues, up $13.8 million, or 14.5% year over year, resulting from strong demand momentum during the first half of
2025, and a modest pull-forward effect when we announced a mid-single digit price increase for quotes issued after May. U.S. commercial
market revenues increased $18.8 million, or 16.5% year over year, as we continue to execute our growing backlog. Revenues from Latin
America and the Caribbean increased $3.2 million, or 32.6% year over year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Gross
profit</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross
profit increased $24.8 million, or 27.6%, from $89.6 million during the three months ended June 30, 2024, to $114.3 million, during the
three months ended June 30, 2025. The gross profit margin during the three months ended June 30, 2025, was 44.7%, up from 40.8% during
the first quarter of 2024, primarily related to better pricing on certain residential market products, and improved operating leverage,
and a favorable FX dynamic impacting our COP denominated costs, as the Colombian peso depreciated 7.0% against the U.S. dollar year over
year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating
expenses increased $14.7 million, or 38.2%, from $38.4 million to $53.1 million for the quarters ended June 30, 2024 and 2025, respectively.
The increase resulted primarily from recent Tariffs on imports into the U.S. which generated $8.2 million expense. Additionally, selling,
general and administrative expenses grew to larger operation and ongoing geographical expansion over the US market, including inflation
adjustment increases on personnel expense and fees, and higher shipping expense on higher sales.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 21; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Non
operating income and expenses, net</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended June 30, 2025 and 2024, the Company recorded net non-operating income of $0.5 million and $2.7 million, respectively.
Non-operating income is comprised of interest income from short term investments, as well as non-operating expenses related to certain
charitable contributions outside of the Company&#8217;s direct sphere of influence. Equity method income from our joint venture with
Saint Gobain decreased $0.3 million, or 23.8%, to $0.9 million during the quarter ended June 30, 2025, compared to $1.2 million recorded
during the quarter ended June 30, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Foreign
currency transaction gains and losses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended June 30, 2025, the Company recorded a non-operating loss of $0.8 million associated with foreign currency transactions
compared to a net non-operating loss of $5.6 million during the three months ended June 30, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Interest
Expense and deferred cost of financing</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
expense and deferred cost of financing decreased $0.7 million, or 32.7%, to $1.4 million during the quarter ended June 30, 2025, as the
Company voluntarily prepaid $62 million during 2024 to reduce its debt balance and benefited from having a favorable interest rate hedge
in place for 100% of its outstanding syndicated debt after giving effect to the voluntary prepayments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
recorded income tax expense of $18.1 million and $12.5 million during the three months ended June 30, 2025 and 2024, respectively. The
effective income tax rate of 29.2% for the three months ended June 30, 2025 approximates the statutory tax rate.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a result of the foregoing, the Company recorded net income for the three months ended June 30, 2025 of $44.1 million compared to net
income of $35.0 million for the three months ended June 30, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comparison
of six-month periods ended June 30, 2025 and 2024</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Revenues</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating
revenues during the six months ended June 30, 2025 was $477.8 million, compared to $412.3 million during the six months ended June 30,
2024, an increase of $65.6 million or 15.9%, year over year. Strong revenues during the first half of 2025 were driven by strong activity
in the U.S market, where revenues increased $61.1 million, or 15.5% year over year, to $454.8 million 2025. The increase was driven by
higher residential revenues, up $29.6 million, or 17.5% year over year, resulting from strong demand momentum since late 2024, and a
modest pull-forward effect when we announced a mid-single digit price increase for quotes issued after May. U.S. commercial market revenues
increased $31.5 million, or 14.0% year over year, as we continue to execute our growing backlog. Revenues from Latin America and the
Caribbean increased $4.5 million, or 24.0% year over year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 22; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Gross
profit</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross
profit during the six months ended June 30, 2025, was $211.9 million, an increase of $47.6 million, or 29.0%, from $164.2 million during
the six months ended June 30, 2024. The gross profit margin during the six months ended June 30, 2025, increased to 44.3% from 39.8%
during the first half of 2024, primarily related to better pricing on certain residential market products, and improved operating leverage.
Additionally, 7.0% depreciation of the Colombian Peso impacting our costs denominated in Colombian Pesos against our predominantly US
Dollar revenue stream.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating
expenses increased $23.5 million, or 32.6%, from $72.1 million to $95.6 million for the six months ended June 30, 2024 and 2025, respectively.
The increase was mainly driven by recent Tariffs on imports into the U.S. which generated $13.0 million expense, administrative salary
adjustments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Other
operating income</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2025, the Company recorded other operating income of $4.3 million related to a gain on the sale of an aircraft,
without any comparable income during the prior year period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Non-operating
income and expenses, net</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2025 and 2024, the Company recorded non-operating income of $1.6 and $3.8 million, respectively. Non-operating
income for the period is comprised primarily of interest income from short-term investments, income from rental properties and gains
on sale of scrap materials as well as non-operating expenses related to certain charitable contributions outside of the Company&#8217;s
direct sphere of influence.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Foreign
currency transaction gains and losses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2025, the Company recorded a non-operating net gain of $0.3 million associated with foreign currency transactions,
compared to a net loss of $5.7 million during the six months ended June 30, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Interest
Expense</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
expense and deferred cost of financing decreased $1.4 million, or 34.8%, to $2.7 million during the six months ended June 30, 2025, from
$4.1 million during the six months ended June 30, 2024, as the Company voluntarily prepaid $30 million to reduce its debt balance and
benefited from having a favorable interest rate hedge in place for 100% of its outstanding debt.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the six months ended June 30, 2025, of 29.3% approximates the statutory rate. The effective tax rate for
the six months ended June 30, 2024, of 26.8%, is below the statutory rate, as the proportion of our taxable income shifts jurisdictions
resulting from new developments of our product designs, trademarks and other intellectual property rights.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a result of the foregoing, the Company recorded a net income for the six months ended June 30, 2025 of $86.3 million and $64.8 million
for the six months ended June 30, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Liquidity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, and December 31, 2024, we had a cash and cash equivalents balance of approximately $137.9 million and $134.9 million,
respectively. Additionally, we currently have approximately $175.0 million available under several lines of credit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
anticipate that the Company will continue to generate positive cashflow from operating activities throughout the remainder of the year,
which we believe, in addition to our current liquidity position, provides ample flexibility to service our obligations through the next
twelve months.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 23; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Capital
Resources</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
transform glass and aluminum into high specification architectural glass and custom-made aluminum profiles which require significant
investments in state-of-the-art technology. During the six months ended June 30, 2025, and 2024, we made investments primarily in building
and construction and machinery and equipment in the amounts of $62.9 million and $30.2 million, respectively. This includes $15 million
in real estate in south Florida that houses the operation of the newly acquired Continental Glass Systems, LLC. which will serve to grow
our U.S. manufacturing and distribution footprint.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
April 2025, Tecnoglass acquired certain assets and assumed certain liabilities of Florida-based Continental Glass Systems, LLC. (&#8220;Continental&#8221;),
a premier provider of innovative architectural glass and glazing solutions in the Southeast U.S. This acquisition included a manufacturing
plant, various intangibles, and a substantial project backlog in both execution and pipeline phases. With annualized revenues of approximately
$30 million, Continental&#8217;s production capabilities, high-quality product portfolio, and reputation for excellence strengthens Tecnoglass&#8217;
U.S. market presence, broadens its client reach, and creates synergies that reinforce Tecnoglass&#8217; leadership position in the architectural
glass industry. Additionally, the Company anticipates operational benefits as it integrates Continental&#8217;s supply chains into its
existing manufacturing operations. The purchase price for the acquisition was $10,429, of which $6,841 of the purchase price was paid
in cash by the Company on April 3, 2025, with the remaining amount to be payable by the Company in cash within 365 days after closing
date. The total amount of acquisition-related costs was $588, which are included in the Statement of operations for the period ending
June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Additionally,
we acquired $7.7 million and $4.6 million of property plant and equipment under credit during the three months ended June 30, 2025, and
2024, respectively. These investments across our vertically-integrated operations include further automating our glass and window assembly
production lines, adding glass production lines, expanding our aluminum facilities, putting new vinyl windows lines to penetrate this
new product segment and purchasing land to grow beyond current installed capacity.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company estimates that current manufacturing operating capacity has reached approximately $1.3 billion which does not account for incremental
installation revenue capacity. Additionally, the Company expects the resulting increase in output to improve efficiency throughout its
operations while reducing material waste and overall lead times.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Cash
Flow from Operations, Investing and Financing Activities</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Cash Flow provided by Operating Activities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">64,760</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">67,945</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash Flow used in Investing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(48,627</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(27,802</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cash Flow used in Financing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(14,924</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(40,327</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Effect of exchange rates on cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,816</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,519</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Cash Balance - Beginning of Period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,882</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">129,508</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Cash Balance - End of Period</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">137,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">126,805</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2025, and 2024, operating activities generated approximately $64.8 million and $67.9 million, respectively.
The main source of operating cash during the six months ended June 30, 2025, were driven by contract assets and liabilities, and trade
accounts payable and accrued expenses. Contract assets and liabilities generated $21.4 million during the six months ended June 30, 2025,
mostly due to an increase in billings in excess of costs, as large commercial jobs are being executed, and large projects from our backlog
are starting operations; compared to $3.2 million used during the six months ended June 30, 2024. In addition, trade accounts payable
and accrued expenses generated $21.8 million during the six months ended June 30, 2025, related to higher unpaid balance of higher than
usual raw material purchases as we procure a stock of U.S. sourced aluminum as part of our tariff mitigation strategy, compared with
$12.7 million during the six months ended June 30, 2024. Converseley, the largest use of cash in operating activities was the purchase
of inventories, which used $24.0 million during the first half of 2025, in contrast to $14.4 million generated during the prior year
period which had a faster raw material and finished goods turnover.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
used $48.6 million and $27.8 million in investing activities during the six months ended June 30, 2025, and 2024, respectively. During
the six months ended June 30, 2025, we paid $62.9 million to acquire property plant and equipment. This included scheduled payments on
previous investments to increase capacity and efficiency as well as $15.0 million of real estate in south Florida. Additionally, we spent
$6.8 million to acquire certain assets and assume certain liabilities of Continental Glass Systems, LLC,a leading provider of architectural
glass and glazing solutions in the Southeast U.S., that included manufacturing equipment, intangibles, and a strong project backlog,
enhancing our U.S. presence, customer reach, and supply chain efficiency. The price of this purchase was $10.4 million, of which $3.6
million remain to be paid in the short term. During the six months ended June 30, 2024, we used $30.2 million for the acquisition of
property and equipment</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financing
activities used $14.9 million and $40.3 million during the three months ended June 30, 2025, and 2024, respectively. We paid $14.1 million
and $9.4 million of dividends to holders of our ordinary shares during the three months ended June 30, 2025, and 2024, respectively.
Additionally, during the six months ended June 30, 2024, we used $31.0 million to repay debt from our Senior Secured Line of Credit and
other smaller facilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Off-Balance
Sheet Arrangements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_007"></span>Item
3. Quantitative and Qualitative Disclosures about Market Risk</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are exposed to ongoing market risk related to changes in foreign currency exchange rates and commodity market prices.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Previously,
a rise in interest rates could negatively affect the cost of financing for a significant portion of our debt with variable interest rates.
However, following recent repayments in 2024 only an immaterial portion of our debt is exposed to market risk, net of the effect from
interest rate hedging derivative financial instruments further described in the footnotes to the financial statements, and fluctuations
in interest rates would not have a significant impact on our cost of financing.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are subject to market risk due to changes in the value of foreign currencies in relation to our reporting currency, the U.S. dollar.
Some of our subsidiaries&#8217; operations are based in Colombia and primarily transact business in local currency. Approximately 3%
of our consolidated revenues and 25% of our costs and expenses are effectively incurred in Colombian pesos, thereby mitigating some of
the risk associated with changes in foreign exchange rates. This portion of costs and expenses denominated in Colombian Peso excludes
certain items which are transacted in Colombia using Colombian Peso but are priced in U.S. Dollars or are otherwise indexed to U.S. Dollar
rates. Thus a 5% appreciation of the Colombian Peso relative to the US Dollar would result in our revenues for the six months ended June
30, 2025, increasing by $0.7 million and our costs and expenses increasing by approximately $5.2 million, resulting in a $4.5 million
decrease to net earnings based on results for the six months ended June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 24; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Similarly,
a significant portion of the monetary assets and liabilities of these subsidiaries are generally denominated in US Dollars, while their
functional currency is the Colombian peso, thereby resulting in gains or losses from remeasurement of assets and liabilities using the
end of period spot exchange rate. These subsidiaries have both monetary assets and monetary liabilities denominated in US Dollars, thereby
mitigating some of the risk associated with changes in foreign exchange rate. Furthermore, we record a portion of the non-cash foreign
currency transaction gains and losses from remeasurement of certain intercompany loans as other comprehensive income. Net of this, the
Colombian subsidiaries&#8217; US Dollar denominated monetary liabilities exceed their monetary assets by $42.7 million, such that a 1%
devaluation of the Colombian peso will result in a loss of $0.4 million recorded in the Company&#8217;s Consolidated Statement of Operations
as of June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Additionally,
the results of the foreign subsidiaries must be translated into US Dollars, our reporting currency, in the Company&#8217;s consolidated
financial statements. The currency translation of the financial statements using different exchange rates, as appropriate, for different
parts of the financial statements generates a translation adjustment, which is recorded within other comprehensive income on the Company&#8217;s
Consolidated Statement of Comprehensive Income and Consolidated Balance Sheet.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are also subject to market risk exposure related to volatility in the prices of aluminum, one of the principal raw materials used for
our manufacturing. The commodities markets, which include the aluminum industry, are highly cyclical in nature, and as a result, prices
can be volatile. Commodity costs are influenced by numerous factors beyond our control, including general economic conditions, the availability
of raw materials, competition, labor costs, freight and transportation costs, production costs, import duties and other trade restrictions.
Our selling prices are also impacted by changes in commodity costs base our pricing of aluminum products based on the quoted price on
the London Metals Exchange plus a manufacturing premium with the intention of aligning cost of our raw materials with selling prices
to attempt to pass commodity price changes through to our customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
cannot accurately estimate the impact a one percent change in the commodity costs of would have on our results of operation, as the change
in commodity costs would both impact the cost to purchase materials and our selling prices. The impact to our results of operations depends
on the conditions of the market for our products, which could impact our ability to pass commodities costs to our customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_008"></span>Item
4. Controls and Procedures</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Evaluation
of Disclosure Controls and Procedures</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
performed an evaluation required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, as amended, under the supervision
and with the participation of our management, including our principal executive officer and principal financial officer, of Tecnoglass
Inc.&#180;s design and operating effectiveness of the internal controls over financial reporting as of the end of the period covered
by this Quarterly Report. Based on this evaluation, our principal executive officer and principal financial officer concluded that our
disclosure controls and procedures as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended,
were effective as of June 30, 2025 in order to provide reasonable assurance that the information disclosed in our reports is recorded,
processed, summarized, and reported within the time periods specified in the SEC&#8217;s rules and forms and to provide reasonable assurance
that such information is accumulated and communicated to our management, including our principal executive officer and principal financial
officer, as appropriate to allow timely decisions regarding required disclosure.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 3, 2025, Tecnoglass acquired certain assets and assumed liabilities of Continental Glass Systems, LLC., to create wholly owned
Contiglass Asset Acquisition, LLC (&#8220;Contiglass), as discussed in Note 3, <i>Acquisitions</i>, to the condensed consolidated
financial statements. The acquired entity represented approximately 1.9% of the Company&#8217;s consolidated assets as of June 30,
2025 and 2.0% of the Company&#8217;s consolidated revenues for the six months ended June 30, 2025. In accordance with the SEC
staff&#8217;s interpretive guidance permitting a company to exclude an acquired business from management&#8217;s assessment of the
effectiveness of internal control over financial reporting for a period of one year following the date on which the acquisition is
completed, management excluded internal controls over financial reporting of Contiglass from its evaluation of the effectiveness of
the Company&#8217;s disclosure controls and procedures as of June 30, 2025. Management is currently in the process of integrating
the acquired entity&#8217;s systems, processes and controls into the Company&#8217;s internal control framework. Contiglass is
expected to be included in the scope of the assessment of internal control over financial reporting in the annual report for the
fiscal year ending December 31, 2026.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Changes
in Internal Control over Financial Reporting</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the quarter ended June 30, 2025, there has been no change in our internal control over financial reporting that has materially affected,
or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 25; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_009"></span>PART
II. OTHER INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_010"></span>Item
1. Legal Proceedings</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, the Company is involved in legal matters arising in the ordinary course of business. While management believes that such
matters are currently not material, there can be no assurance that matters arising in the ordinary course of business for which the Company
is, or could be, involved in litigation, will not have a material adverse effect on its business, financial condition or results of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
1A. Risk Factors</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="sk_011"></span>&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
have been no material changes to the risk factors previously disclosed in Part 1, Item 1A of our Annual Report on Form 10-K for the year
ended December 31, 2024, except as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Risks
Related to Colombia and Other Countries Where We Operate</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Our
business could be negatively impacted by newly imposed U.S. tariffs and ongoing trade tensions between the U.S. and Colombia.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2025, the U.S. government reinstated a 25% tariff on all steel imports and increased the aluminum tariff from 10% to 25% under
Section 232 of the Trade Expansion Act, eliminating prior exemptions and expanding coverage to derivative products. Subsequently, in
June 2025, these tariffs were doubled to 50% ad valorem. These measures significantly impacted our cost structure during the initial
months of implementation. In response, we shifted a portion of our aluminum sourcing to U.S. suppliers to reduce exposure to the tariff
and, consistent with broader market dynamics, adjusted our selling prices to partially offset the increased cost burden.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
April 2, 2025, President Donald Trump declared a shift in U.S. trade policy, announcing &#8220;Tariff Liberation Day.&#8221; As part
of this initiative, a universal 10% tariff was imposed on imports from all countries, including Colombia, effective April 5, 2025. Additionally,
a second tier of higher &#8220;reciprocal&#8221; tariffs targeting countries deemed to have unfair trade practices was declared to go
into effect on April 9, 2025. While Colombia was not explicitly named among those subject to elevated tariffs, the inclusion of Colombian
exports under the universal tariff lead to increased uncertainty and cost pressures on our operations. As of June 30, 2025, the 10% universal
tariff remains in effect.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
no &#8220;reciprocal&#8221; tariff initiative against Colombia is active as of the date of this report, this new tariff regime underscores
the unpredictability of U.S. trade policy and its potential impact on companies with international manufacturing operations. Given that
our manufacturing is based in Colombia and 96% of our sales for the fiscal year ended December 31, 2024, occurred in the United States,
the imposition of even baseline tariffs could materially impact our production costs, supply chain efficiency, and price competitiveness.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Continued
trade volatility or further adverse policy developments could disrupt our operations, compress margins, or reduce demand from our U.S.
customer base, any of which could have a material adverse effect on our business and financial results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_012"></span>Item
2. Unregistered Sales of Equity Securities and Use of Proceeds</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
share repurchase activity for each of the three months in the period ended June 30, 2025, was as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Period</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Number of<br/> Shares Purchased</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(1)</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Average Price<br/> Paid Per Share</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(1)</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Approximate Dollar Value of Shares that May Yet be Purchased Under the Plans or Programs</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(1)</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%; text-align: center">April 1-30, 2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">1,420</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">76.9</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">May 1-31, 2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">930</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">76.9</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 1pt">June 1-30, 2025</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">450</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">75.3</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">-</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">2,800</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">76.9</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">-</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">76,527,637</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
    November 3, 2022, the Board of Directors authorized the purchase of up to $50 million of the Company&#8217;s common shares, which
    authorization was subsequently increased to up to $100 million in November 2024. The program does not obligate the Company to acquire
    a minimum number of shares. Under the program, shares may be repurchased in privately negotiated and/or open market transactions,
    including under plans complying with Rule 10b5-1 under the Exchange Act.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 26; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_013"></span>Item
5. Other Information</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended June 30, 2025, no director or officer <span id="xdx_908_eecd--Rule10b51ArrAdoptedFlag_dbF_c20250401__20250630_zdfrfvuZLaAe"><span id="xdx_903_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20250401__20250630_zaUt5A5bDM6k"><ix:nonNumeric contextRef="From2025-04-012025-06-30" format="ixt:booleanfalse" id="Fact001479" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2025-04-012025-06-30" format="ixt:booleanfalse" id="Fact001480" name="ecd:NonRule10b51ArrAdoptedFlag">adopted</ix:nonNumeric></ix:nonNumeric></span></span> or <span id="xdx_901_eecd--Rule10b51ArrTrmntdFlag_dbF_c20250401__20250630_zzGzq6pCJ5t8"><span id="xdx_90B_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20250401__20250630_zsYQRdms8pda"><ix:nonNumeric contextRef="From2025-04-012025-06-30" format="ixt:booleanfalse" id="Fact001481" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2025-04-012025-06-30" format="ixt:booleanfalse" id="Fact001482" name="ecd:NonRule10b51ArrTrmntdFlag">terminated</ix:nonNumeric></ix:nonNumeric></span></span> any (i) &#8220;Rule 10b5-1 trading arrangement,&#8221;
as defined in Item 408(a) of Regulation S-K intending to satisfy the affirmative defense conditions of Rule 10b5&#8211;1(c) or (ii) &#8220;non-Rule
10b5-1 trading arrangement,&#8221; as defined in Item 408(a) of Regulation S-K.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_014"></span>Item
6. Exhibits</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 72px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibit
    No.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10px; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Description</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32.htm">Certification of Chief Executive Officers pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial
    statements from the Quarterly Report on Form 10-Q of Tecnoglass Inc. for the quarter ended June 30, 2025, formatted in XBRL: (i)
    Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Operations, (iii) Condensed Consolidated Statement
    of Changes in Stockholders&#8217; Equity, (iv) Condensed Consolidated Statement of Cash Flows and (v) Notes to Unaudited Condensed
    Consolidated Financial Statements, as blocks of text and in detail.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Instance Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 27; Value: 2 -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="sk_015"></span>SIGNATURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the requirements of the Exchange Act, the registrant caused this report to be signed on its behalf by the undersigned,
thereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TECNOGLASS
    INC.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Jose M. Daes</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Jose
    M. Daes</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    executive officer)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Santiago Giraldo</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Santiago
    Giraldo</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    financial and accounting officer)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 45%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">August 7, 2025</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 47%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Page; Sequence: 28; Options: Last -->
    <div style="margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence --></td></tr></table></div>
    <!-- Field: /Page -->


<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!--   -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex31-1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right; text-indent: 29.7pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
31.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
OF CHIEF EXECUTIVE OFFICER</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURSUANT
TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Jose M. Daes, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this quarterly report on Form 10-Q of Tecnoglass Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by this quarterly report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this quarterly report, fairly present in all
    material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented
    in this quarterly report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
    supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
    for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about
    the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this quarterly report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the
    registrant&rsquo;s most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that
    has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
August 7, 2025</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Jose M. Daes</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Jose
    M. Daes</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex31-2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
31.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
OF CHIEF FINANCIAL OFFICER</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURSUANT
TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Santiago Giraldo, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this quarterly report on Form 10-Q of Tecnoglass Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by this quarterly report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this quarterly report, fairly present in all
    material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented
    in this quarterly report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this quarterly report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
    supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
    for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this quarterly report our conclusions
    about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such
    evaluation; and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
August 7, 2025</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Santiago Giraldo</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Santiago
    Giraldo</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    financial and accounting officer)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 28; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>4
<FILENAME>ex32.htm
<DESCRIPTION>EX-32
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>EXHIBIT
32</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>18
U.S.C. SECTION 1350</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AS
ADOPTED PURSUANT TO</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION
906 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the Quarterly Report of Tecnoglass Inc. (the &ldquo;Company&rdquo;) on Form 10-Q for the period ended June 30, 2025 as
filed with the Securities and Exchange Commission (the &ldquo;Report&rdquo;), the undersigned, in the capacities and on the date indicated
below, hereby certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations
of the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated
August 7, 2025</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 48%; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Jose M. Daes</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Jose
    M. Daes</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    executive officer)</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; border-bottom: black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Santiago Giraldo</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Santiago
    Giraldo</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    financial and accounting officer)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>tgls-20250630.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 6.1a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWa6A2bP9z5Z82ekhvWB9bQmK3yku+Ze6ISkKpYo2MSYO -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:us-gaap="http://fasb.org/us-gaap/2025" xmlns:srt="http://fasb.org/srt/2025" xmlns:srt-types="http://fasb.org/srt-types/2025" xmlns:ecd="http://xbrl.sec.gov/ecd/2025" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:TGLS="http://tecnoglass.com/20250630" elementFormDefault="qualified" targetNamespace="http://tecnoglass.com/20250630">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://tecnoglass.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/BalanceSheets" id="BalanceSheets">
          <link:definition>00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" id="StatementsOfOperationsAndOtherComprehensiveIncome">
          <link:definition>00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
          <link:definition>00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquity" id="StatementsOfShareholdersEquity">
          <link:definition>00000006 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" id="StatementsOfShareholdersEquityParenthetical">
          <link:definition>00000007 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/General" id="General">
          <link:definition>999013 - Disclosure - General</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" id="BasisOfPresentationAndSummaryOfSignificantAccountingPolicies">
          <link:definition>999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/Acquisitions" id="Acquisitions">
          <link:definition>999015 - Disclosure - Acquisitions</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/InventoriesNet" id="InventoriesNet">
          <link:definition>999016 - Disclosure - Inventories, net</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" id="RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities">
          <link:definition>999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" id="IntangibleAssetsAndGoodwill">
          <link:definition>999018 - Disclosure - Intangible Assets and Goodwill</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/SupplierFinanceProgram" id="SupplierFinanceProgram">
          <link:definition>999019 - Disclosure - Supplier Finance Program</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/Debt" id="Debt">
          <link:definition>999020 - Disclosure - Debt</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" id="HedgingActivityAndFairValueMeasurements">
          <link:definition>999021 - Disclosure - Hedging Activity and Fair Value Measurements</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>999022 - Disclosure - Income Taxes</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RelatedParties" id="RelatedParties">
          <link:definition>999023 - Disclosure - Related Parties</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ShareholdersEquity" id="ShareholdersEquity">
          <link:definition>999024 - Disclosure - Shareholders&#8217; Equity</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>999025 - Disclosure - Commitments and Contingencies</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" id="BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies">
          <link:definition>999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/AcquisitionsTables" id="AcquisitionsTables">
          <link:definition>999027 - Disclosure - Acquisitions (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/InventoriesNetTables" id="InventoriesNetTables">
          <link:definition>999028 - Disclosure - Inventories, net (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" id="RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables">
          <link:definition>999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" id="IntangibleAssetsAndGoodwillTables">
          <link:definition>999030 - Disclosure - Intangible Assets and Goodwill (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/DebtTables" id="DebtTables">
          <link:definition>999031 - Disclosure - Debt (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" id="HedgingActivityAndFairValueMeasurementsTables">
          <link:definition>999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>999033 - Disclosure - Income Taxes (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RelatedPartiesTables" id="RelatedPartiesTables">
          <link:definition>999034 - Disclosure - Related Parties (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ShareholdersEquityTables" id="ShareholdersEquityTables">
          <link:definition>999035 - Disclosure - Shareholders&#8217; Equity (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" id="ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails">
          <link:definition>999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" id="ScheduleOfUnauditedProFormaFinancialInformationDetails">
          <link:definition>999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" id="AcquisitionsDetailsNarrative">
          <link:definition>999038 - Disclosure - Acquisitions (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" id="ScheduleOfInventoriesDetails">
          <link:definition>999039 - Disclosure - Schedule of Inventories (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" id="ScheduleOfDisaggregationByRevenueDetails">
          <link:definition>999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" id="ScheduleOfGeographicInformationDetails">
          <link:definition>999041 - Disclosure - Schedule of Geographic Information (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" id="ScheduleOfRevenuesDistributionByEndMarketDetails">
          <link:definition>999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" id="ScheduleOfTradeAccountsReceivableDetails">
          <link:definition>999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" id="ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails">
          <link:definition>999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" id="ScheduleOfContractAssetsAndLiabilitiesDetails">
          <link:definition>999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" id="RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative">
          <link:definition>999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" id="ScheduleOfFinite-livedIntangibleAssetsNetDetails">
          <link:definition>999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" id="ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails">
          <link:definition>999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" id="ScheduleOfGoodwillDetails">
          <link:definition>999049 - Disclosure - Schedule of Goodwill (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" id="IntangibleAssetsAndGoodwillDetailsNarrative">
          <link:definition>999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" id="SupplierFinanceProgramDetailsNarrative">
          <link:definition>999051 - Disclosure - Supplier Finance Program (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" id="ScheduleOfLongTermDebtDetails">
          <link:definition>999052 - Disclosure - Schedule of Long Term Debt (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" id="ScheduleOfMaturitiesOfLongTermDebtDetails">
          <link:definition>999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/DebtDetailsNarrative" id="DebtDetailsNarrative">
          <link:definition>999054 - Disclosure - Debt (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" id="ScheduleOfFairValueOfForeignCurrencyHedgesDetails">
          <link:definition>999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" id="ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails">
          <link:definition>999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" id="ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails">
          <link:definition>999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" id="HedgingActivityAndFairValueMeasurementsDetailsNarrative">
          <link:definition>999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" id="ScheduleOfComponentsOfIncomeTaxExpenseDetails">
          <link:definition>999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>999060 - Disclosure - Income Taxes (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" id="ScheduleOfRelatedPartiesDetails">
          <link:definition>999061 - Disclosure - Schedule of Related Parties (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" id="ScheduleOfSaleToRelatedPartiesDetails">
          <link:definition>999062 - Disclosure - Schedule of Sale to Related Parties (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" id="RelatedPartiesDetailsNarrative">
          <link:definition>999063 - Disclosure - Related Parties (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" id="ScheduleOfEarningsPerShareBasicAndDilutedDetails">
          <link:definition>999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" id="ShareholdersEquityDetailsNarrative">
          <link:definition>999065 - Disclosure - Shareholders&#8217; Equity (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
          <link:definition>999066 - Disclosure - Commitments and Contingencies (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="tgls-20250630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="tgls-20250630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="tgls-20250630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="tgls-20250630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2025" schemaLocation="https://xbrl.sec.gov/dei/2025/dei-2025.xsd" />
    <import namespace="http://fasb.org/us-gaap/2025" schemaLocation="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd" />
    <import namespace="http://fasb.org/us-types/2025" schemaLocation="https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2025" schemaLocation="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2025" schemaLocation="https://xbrl.sec.gov/country/2025/country-2025.xsd" />
    <import namespace="http://fasb.org/srt/2025" schemaLocation="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd" />
    <import namespace="http://fasb.org/srt-types/2025" schemaLocation="https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd" />
    <element id="TGLS_ExternalCustomersMember" name="ExternalCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_LegalReservesMember" name="LegalReservesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ContiglassAssetAcquisitionLLCMember" name="ContiglassAssetAcquisitionLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ContractAssetsMember" name="ContractAssetsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ContractLiabilitiesMember" name="ContractLiabilitiesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_FixedPriceContractsMember" name="FixedPriceContractsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ProductSalesMember" name="ProductSalesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_OtherMember" name="OtherMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ResidentialMember" name="ResidentialMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_CommercialMember" name="CommercialMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SoftwareAndLicensesMember" name="SoftwareAndLicensesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" name="NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ContractBacklogMember" name="ContractBacklogMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SupplierFinanceProgramMember" name="SupplierFinanceProgramMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SeniorSecuredCreditFacilityMember" name="SeniorSecuredCreditFacilityMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_AccumulatedOtherComprehensiveLossMember" name="AccumulatedOtherComprehensiveLossMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ForeignCurrencyNonDeliveryForwardsMember" name="ForeignCurrencyNonDeliveryForwardsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_InterestRateSwapContractsMember" name="InterestRateSwapContractsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" name="InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_FundacionTecnoglassMember" name="FundacionTecnoglassMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_PrismaGlassLLCMember" name="PrismaGlassLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_AlutraficLedSASMember" name="AlutraficLedSASMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_StudioAvantiSASMember" name="StudioAvantiSASMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_DueFromOtherRelatedPartiesMember" name="DueFromOtherRelatedPartiesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_VidrioAndinoMember" name="VidrioAndinoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SalesToOtherRelatedPartiesMember" name="SalesToOtherRelatedPartiesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_CEOAndCOOMember" name="CEOAndCOOMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SantaMariaDelMarSASMember" name="SantaMariaDelMarSASMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ZofracostaSAMember" name="ZofracostaSAMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_QuarterlyRateMember" name="QuarterlyRateMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_AnnualBasisMember" name="AnnualBasisMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_NovemberThirtyTwoThousandThirtyMember" name="NovemberThirtyTwoThousandThirtyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ThroughTwoThousandTwentyEightMember" name="ThroughTwoThousandTwentyEightMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_LegalReserves" name="LegalReserves" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_OtherOperatingIncomeLoss" name="OtherOperatingIncomeLoss" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_EquityMethodIncome" name="EquityMethodIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_InterestExpenseAndDeferredCostOfFinancing" name="InterestExpenseAndDeferredCostOfFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_DeferredCostOfFinancing" name="DeferredCostOfFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_PaymentsOfNonControllingInterestExpense" name="PaymentsOfNonControllingInterestExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" name="CashPaidDuringPeriodForInterestAndTaxesAbstract" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_AccountPayableForBusinessAcquisition" name="AccountPayableForBusinessAcquisition" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" name="ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" name="ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" name="ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" name="ScheduleOfSaleToRelatedPartyTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_WorkingCapitalAdjustment" name="WorkingCapitalAdjustment" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_InventoryPackingMaterialGross" name="InventoryPackingMaterialGross" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_NetContractLiabilitiesAssets" name="NetContractLiabilitiesAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_BillingsInExcessOfCosts" name="BillingsInExcessOfCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" name="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_FinanceLeaseDebt" name="FinanceLeaseDebt" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_SeniorSecuredCreditFacility" name="SeniorSecuredCreditFacility" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" name="DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ReclassifiedEarningsExpected" name="ReclassifiedEarningsExpected" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_CashContributionsForSocialCauses" name="CashContributionsForSocialCauses" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_PurchasePriceOfFuel" name="PurchasePriceOfFuel" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_PremiumClosingStockPercentage" name="PremiumClosingStockPercentage" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ExpectedOwnershipPercentage" name="ExpectedOwnershipPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_FutureAdditionalContributionAmount" name="FutureAdditionalContributionAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_EffectOfDilutiveSecuritiesAndStockDividend" name="EffectOfDilutiveSecuritiesAndStockDividend" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="TGLS_ProFormaAdjustmentsMember" name="ProFormaAdjustmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>tgls-20250630_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 6.1a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Cover" roleURI="http://tecnoglass.com/role/Cover" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheets" roleURI="http://tecnoglass.com/role/BalanceSheets" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheetsParenthetical" roleURI="http://tecnoglass.com/role/BalanceSheetsParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfOperationsAndOtherComprehensiveIncome" roleURI="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfCashFlows" roleURI="http://tecnoglass.com/role/StatementsOfCashFlows" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquity" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquityParenthetical" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#General" roleURI="http://tecnoglass.com/role/General" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Acquisitions" roleURI="http://tecnoglass.com/role/Acquisitions" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNet" roleURI="http://tecnoglass.com/role/InventoriesNet" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwill" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgram" roleURI="http://tecnoglass.com/role/SupplierFinanceProgram" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Debt" roleURI="http://tecnoglass.com/role/Debt" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurements" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxes" roleURI="http://tecnoglass.com/role/IncomeTaxes" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedParties" roleURI="http://tecnoglass.com/role/RelatedParties" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquity" roleURI="http://tecnoglass.com/role/ShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingencies" roleURI="http://tecnoglass.com/role/CommitmentsAndContingencies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsTables" roleURI="http://tecnoglass.com/role/AcquisitionsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNetTables" roleURI="http://tecnoglass.com/role/InventoriesNetTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillTables" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtTables" roleURI="http://tecnoglass.com/role/DebtTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsTables" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesTables" roleURI="http://tecnoglass.com/role/IncomeTaxesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesTables" roleURI="http://tecnoglass.com/role/RelatedPartiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityTables" roleURI="http://tecnoglass.com/role/ShareholdersEquityTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" roleURI="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfUnauditedProFormaFinancialInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsDetailsNarrative" roleURI="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfInventoriesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfDisaggregationByRevenueDetails" roleURI="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGeographicInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRevenuesDistributionByEndMarketDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfTradeAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFinite-livedIntangibleAssetsNetDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGoodwillDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillDetailsNarrative" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgramDetailsNarrative" roleURI="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfMaturitiesOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtDetailsNarrative" roleURI="http://tecnoglass.com/role/DebtDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueOfForeignCurrencyHedgesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsDetailsNarrative" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfComponentsOfIncomeTaxExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesDetailsNarrative" roleURI="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfSaleToRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfEarningsPerShareBasicAndDilutedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityDetailsNarrative" roleURI="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingenciesDetailsNarrative" roleURI="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapOtherReceivablesNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="loc_us-gaapAccountsReceivableNetNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapAccountsReceivableNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapContractWithCustomerAssetNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapLongTermInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsNoncurrent" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtCurrent" xlink:label="loc_us-gaapDebtCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsPayableCurrent" xlink:label="loc_us-gaapDividendsPayableCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDividendsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReserves" xlink:label="loc_TGLSLegalReserves" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_TGLSLegalReserves" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingExpense" xlink:label="loc_us-gaapSellingExpense" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherOperatingIncomeLoss" xlink:label="loc_TGLSOtherOperatingIncomeLoss" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_TGLSOtherOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonoperatingGainsLosses" xlink:label="loc_us-gaapNonoperatingGainsLosses" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingGainsLosses" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EquityMethodIncome" xlink:label="loc_TGLSEquityMethodIncome" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_TGLSEquityMethodIncome" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:label="loc_TGLSInterestExpenseAndDeferredCostOfFinancing" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_TGLSInterestExpenseAndDeferredCostOfFinancing" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCredits" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCredits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaapIncomeLossFromEquityMethodInvestments" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncomeLossFromEquityMethodInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DeferredCostOfFinancing" xlink:label="loc_TGLSDeferredCostOfFinancing" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_TGLSDeferredCostOfFinancing" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaapOtherNoncashIncomeExpense" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapOtherNoncashIncomeExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossUnrealized" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossUnrealized" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInEmployeeRelatedLiabilities" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInCommodityContractAssetsAndLiabilities" />
      <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInDueToRelatedParties" xlink:label="loc_us-gaapIncreaseDecreaseInDueToRelatedParties" />
      <link:calculationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDueToRelatedParties" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="loc_us-gaapProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PaymentsOfNonControllingInterestExpense" xlink:label="loc_TGLSPaymentsOfNonControllingInterestExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_TGLSPaymentsOfNonControllingInterestExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="loc_us-gaapPaymentsForRepurchaseOfEquity" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsForRepurchaseOfEquity" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfDebt" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfDebt" xlink:label="loc_us-gaapRepaymentsOfDebt" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquity" xlink:title="00000006 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" xlink:title="00000007 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited) (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/General" xlink:title="999013 - Disclosure - General" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" xlink:title="999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Acquisitions" xlink:title="999015 - Disclosure - Acquisitions" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNet" xlink:title="999016 - Disclosure - Inventories, net" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" xlink:title="999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" xlink:title="999018 - Disclosure - Intangible Assets and Goodwill" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgram" xlink:title="999019 - Disclosure - Supplier Finance Program" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Debt" xlink:title="999020 - Disclosure - Debt" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" xlink:title="999021 - Disclosure - Hedging Activity and Fair Value Measurements" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxes" xlink:title="999022 - Disclosure - Income Taxes" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedParties" xlink:title="999023 - Disclosure - Related Parties" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquity" xlink:title="999024 - Disclosure - Shareholders&#8217; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingencies" xlink:title="999025 - Disclosure - Commitments and Contingencies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsTables" xlink:title="999027 - Disclosure - Acquisitions (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNetTables" xlink:title="999028 - Disclosure - Inventories, net (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" xlink:title="999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" xlink:title="999030 - Disclosure - Intangible Assets and Goodwill (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtTables" xlink:title="999031 - Disclosure - Debt (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" xlink:title="999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesTables" xlink:title="999033 - Disclosure - Income Taxes (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesTables" xlink:title="999034 - Disclosure - Related Parties (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityTables" xlink:title="999035 - Disclosure - Shareholders&#8217; Equity (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" xlink:title="999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" xlink:title="999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" xlink:title="999038 - Disclosure - Acquisitions (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" xlink:title="999039 - Disclosure - Schedule of Inventories (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherInventoriesSpareParts" xlink:label="loc_us-gaapOtherInventoriesSpareParts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapOtherInventoriesSpareParts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InventoryPackingMaterialGross" xlink:label="loc_TGLSInventoryPackingMaterialGross" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_TGLSInventoryPackingMaterialGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" xlink:title="999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" xlink:title="999041 - Disclosure - Schedule of Geographic Information (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" xlink:title="999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" xlink:title="999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsReceivableNetCurrent" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsReceivableNetCurrent" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" xlink:title="999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NetContractLiabilitiesAssets" xlink:label="loc_TGLSNetContractLiabilitiesAssets" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TGLSNetContractLiabilitiesAssets" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TGLSNetContractLiabilitiesAssets" xlink:to="loc_us-gaapContractWithCustomerAssetNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TGLSNetContractLiabilitiesAssets" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_TGLSNetContractLiabilitiesAssets" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetGrossCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetGrossCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerAssetGrossCurrent" xlink:to="loc_us-gaapUnbilledReceivablesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="loc_us-gaapConstructionContractorReceivableRetainage" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerAssetGrossCurrent" xlink:to="loc_us-gaapConstructionContractorReceivableRetainage" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BillingsInExcessOfCosts" xlink:label="loc_TGLSBillingsInExcessOfCosts" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerLiability" xlink:to="loc_TGLSBillingsInExcessOfCosts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:label="loc_us-gaapProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapContractWithCustomerLiability" xlink:to="loc_us-gaapProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" xlink:title="999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" xlink:title="999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:title="999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:label="loc_TGLSFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_TGLSFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" xlink:title="999049 - Disclosure - Schedule of Goodwill (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" xlink:title="999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" xlink:title="999051 - Disclosure - Supplier Finance Program (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999052 - Disclosure - Schedule of Long Term Debt (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaapDebtInstrumentCarryingAmount" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDebtInstrumentCarryingAmount" xlink:to="loc_us-gaapLineOfCredit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FinanceLeaseDebt" xlink:label="loc_TGLSFinanceLeaseDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDebtInstrumentCarryingAmount" xlink:to="loc_TGLSFinanceLeaseDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDebtInstrumentCarryingAmount" xlink:to="loc_us-gaapOtherLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacility" xlink:label="loc_TGLSSeniorSecuredCreditFacility" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDebtInstrumentCarryingAmount" xlink:to="loc_TGLSSeniorSecuredCreditFacility" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredCostsCurrent" xlink:label="loc_us-gaapDeferredCostsCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDebtInstrumentCarryingAmount" xlink:to="loc_us-gaapDeferredCostsCurrent" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" xlink:title="999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtDetailsNarrative" xlink:title="999054 - Disclosure - Debt (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" xlink:title="999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" xlink:title="999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" xlink:title="999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" xlink:title="999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" xlink:title="999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" xlink:title="999060 - Disclosure - Income Taxes (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" xlink:title="999061 - Disclosure - Schedule of Related Parties (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" xlink:title="999062 - Disclosure - Schedule of Sale to Related Parties (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" xlink:title="999063 - Disclosure - Related Parties (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:title="999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" xlink:title="999065 - Disclosure - Shareholders&#8217; Equity (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="999066 - Disclosure - Commitments and Contingencies (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tgls-20250630_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 6.1a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Cover" roleURI="http://tecnoglass.com/role/Cover" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheets" roleURI="http://tecnoglass.com/role/BalanceSheets" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheetsParenthetical" roleURI="http://tecnoglass.com/role/BalanceSheetsParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfOperationsAndOtherComprehensiveIncome" roleURI="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfCashFlows" roleURI="http://tecnoglass.com/role/StatementsOfCashFlows" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquity" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquityParenthetical" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#General" roleURI="http://tecnoglass.com/role/General" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Acquisitions" roleURI="http://tecnoglass.com/role/Acquisitions" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNet" roleURI="http://tecnoglass.com/role/InventoriesNet" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwill" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgram" roleURI="http://tecnoglass.com/role/SupplierFinanceProgram" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Debt" roleURI="http://tecnoglass.com/role/Debt" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurements" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxes" roleURI="http://tecnoglass.com/role/IncomeTaxes" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedParties" roleURI="http://tecnoglass.com/role/RelatedParties" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquity" roleURI="http://tecnoglass.com/role/ShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingencies" roleURI="http://tecnoglass.com/role/CommitmentsAndContingencies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsTables" roleURI="http://tecnoglass.com/role/AcquisitionsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNetTables" roleURI="http://tecnoglass.com/role/InventoriesNetTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillTables" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtTables" roleURI="http://tecnoglass.com/role/DebtTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsTables" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesTables" roleURI="http://tecnoglass.com/role/IncomeTaxesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesTables" roleURI="http://tecnoglass.com/role/RelatedPartiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityTables" roleURI="http://tecnoglass.com/role/ShareholdersEquityTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" roleURI="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfUnauditedProFormaFinancialInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsDetailsNarrative" roleURI="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfInventoriesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfDisaggregationByRevenueDetails" roleURI="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGeographicInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRevenuesDistributionByEndMarketDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfTradeAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFinite-livedIntangibleAssetsNetDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGoodwillDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillDetailsNarrative" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgramDetailsNarrative" roleURI="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfMaturitiesOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtDetailsNarrative" roleURI="http://tecnoglass.com/role/DebtDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueOfForeignCurrencyHedgesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsDetailsNarrative" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfComponentsOfIncomeTaxExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesDetailsNarrative" roleURI="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfSaleToRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfEarningsPerShareBasicAndDilutedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityDetailsNarrative" roleURI="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingenciesDetailsNarrative" roleURI="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpDisclosureWithAdditionalMeasures" roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpTable" roleURI="http://xbrl.sec.gov/ecd/role/PvpTable" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpAdjustmentsToCompensation" roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#TabularListsByExecutiveCategory" roleURI="http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#TabularListMeasures" roleURI="http://xbrl.sec.gov/ecd/role/TabularListMeasures" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpMeasures" roleURI="http://xbrl.sec.gov/ecd/role/PvpMeasures" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpExecutiveCategoriesOnly" roleURI="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpAdjustmentsOnly" roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#IndividualsOnly" roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#AwardTypeOnly" roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#TradingArrangmentsOnly" roleURI="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ForgoneRecoveries" roleURI="http://xbrl.sec.gov/ecd/role/ForgoneRecoveries" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#OutstandingRecoveries" roleURI="http://xbrl.sec.gov/ecd/role/OutstandingRecoveries" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#AwardsCloseToMnpiDisc" roleURI="http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#InsiderTradingArrangemenstByInd" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#Defaults" roleURI="http://xbrl.sec.gov/ecd/role/Defaults" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonrelatedPartyMember" xlink:label="loc_us-gaapNonrelatedPartyMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapNonrelatedPartyMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapAssetsAbstract_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssetsCurrentAbstract_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapShortTermInvestments_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapOtherReceivablesNetCurrent_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapInventoryNet_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent_70" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapOtherAssetsCurrent_70" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsCurrentAbstract_70" xlink:to="loc_us-gaapAssetsCurrent_70" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_70" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="loc_us-gaapAccountsReceivableNetNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapAccountsReceivableNetNoncurrent_70" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet_70" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerAssetNetNoncurrent_70" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_70" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapGoodwill_70" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapLongTermInvestments_70" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapOtherAssetsNoncurrent_70" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsNoncurrentAbstract_70" xlink:to="loc_us-gaapAssetsNoncurrent_70" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAssetsAbstract_70" xlink:to="loc_us-gaapAssets_70" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtCurrent" xlink:label="loc_us-gaapDebtCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapDebtCurrent_70" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent_70" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapOtherLiabilitiesCurrent_70" xlink:type="arc" order="25" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsPayableCurrent" xlink:label="loc_us-gaapDividendsPayableCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapDividendsPayableCurrent_70" xlink:type="arc" order="26" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_70" xlink:type="arc" order="27" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_70" xlink:to="loc_us-gaapLiabilitiesCurrent_70" xlink:type="arc" order="28" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:type="arc" order="29" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet_70" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent_70" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapLongTermDebtNoncurrent_70" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract_70" xlink:to="loc_us-gaapLiabilitiesNoncurrent_70" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilities_70" xlink:type="arc" order="34" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapCommitmentsAndContingencies_70" xlink:type="arc" order="35" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapStockholdersEquityAbstract_70" xlink:type="arc" order="36" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapPreferredStockValue_70" xlink:type="arc" order="37" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapCommonStockValue_70" xlink:type="arc" order="38" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReserves" xlink:label="loc_TGLSLegalReserves_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_TGLSLegalReserves_70" xlink:type="arc" order="39" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapAdditionalPaidInCapital_70" xlink:type="arc" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit_70" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_70" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStockholdersEquityAbstract_70" xlink:to="loc_us-gaapStockholdersEquity_70" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_70" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity_70" xlink:type="arc" order="44" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExternalCustomersMember" xlink:label="loc_TGLSExternalCustomersMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_TGLSExternalCustomersMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerAbstract_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_130" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapGrossProfit_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingExpense" xlink:label="loc_us-gaapSellingExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_130" xlink:to="loc_us-gaapSellingExpense_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_130" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense_130" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_130" xlink:to="loc_us-gaapOperatingExpenses_130" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherOperatingIncomeLoss" xlink:label="loc_TGLSOtherOperatingIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingExpensesAbstract_130" xlink:to="loc_TGLSOtherOperatingIncomeLoss_130" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss_130" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonoperatingGainsLosses" xlink:label="loc_us-gaapNonoperatingGainsLosses_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapNonoperatingGainsLosses_130" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EquityMethodIncome" xlink:label="loc_TGLSEquityMethodIncome_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_TGLSEquityMethodIncome_130" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax_130" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:label="loc_TGLSInterestExpenseAndDeferredCostOfFinancing_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_TGLSInterestExpenseAndDeferredCostOfFinancing_130" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_130" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_130" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapNetIncomeLoss_130" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic_130" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted_130" xlink:type="arc" order="18" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" xlink:type="arc" order="19" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_130" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_130" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_130" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_130" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_130" xlink:type="arc" order="25" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquity" xlink:title="00000006 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReservesMember" xlink:label="loc_TGLSLegalReservesMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_TGLSLegalReservesMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapParentMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsCommonStock" xlink:label="loc_us-gaapDividendsCommonStock_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividendsCommonStock_90" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue_90" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares_90" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_90" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_90" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_90" xlink:type="arc" order="9" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" xlink:title="00000007 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited) (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/General" xlink:title="999013 - Disclosure - General" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" xlink:title="999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Acquisitions" xlink:title="999015 - Disclosure - Acquisitions" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNet" xlink:title="999016 - Disclosure - Inventories, net" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" xlink:title="999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" xlink:title="999018 - Disclosure - Intangible Assets and Goodwill" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgram" xlink:title="999019 - Disclosure - Supplier Finance Program" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Debt" xlink:title="999020 - Disclosure - Debt" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" xlink:title="999021 - Disclosure - Hedging Activity and Fair Value Measurements" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxes" xlink:title="999022 - Disclosure - Income Taxes" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedParties" xlink:title="999023 - Disclosure - Related Parties" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquity" xlink:title="999024 - Disclosure - Shareholders&#8217; Equity" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingencies" xlink:title="999025 - Disclosure - Commitments and Contingencies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsTables" xlink:title="999027 - Disclosure - Acquisitions (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNetTables" xlink:title="999028 - Disclosure - Inventories, net (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" xlink:title="999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="loc_us-gaapFairValueByLiabilityClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="loc_us-gaapFairValueByLiabilityClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByLiabilityClassAxis" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByLiabilityClassAxis" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractAssetsMember" xlink:label="loc_TGLSContractAssetsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="loc_TGLSContractAssetsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractLiabilitiesMember" xlink:label="loc_TGLSContractLiabilitiesMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="loc_TGLSContractLiabilitiesMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:label="loc_TGLSScheduleOfRevenuesDistributionByEndMarketTableTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_TGLSScheduleOfRevenuesDistributionByEndMarketTableTextBlock_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:label="loc_TGLSScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_TGLSScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock_40" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" xlink:title="999030 - Disclosure - Intangible Assets and Goodwill (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtTables" xlink:title="999031 - Disclosure - Debt (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" xlink:title="999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesTables" xlink:title="999033 - Disclosure - Income Taxes (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesTables" xlink:title="999034 - Disclosure - Related Parties (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityTables" xlink:title="999035 - Disclosure - Shareholders&#8217; Equity (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" xlink:title="999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" xlink:title="999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProFormaMember" xlink:label="loc_srtProFormaMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_srtProFormaMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="loc_us-gaapBusinessAcquisitionsProFormaRevenue_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBusinessAcquisitionsProFormaRevenue_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaapBusinessAcquisitionsProFormaNetIncomeLoss_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBusinessAcquisitionsProFormaNetIncomeLoss_50" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" xlink:title="999038 - Disclosure - Acquisitions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaapBusinessAcquisitionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContiglassAssetAcquisitionLLCMember" xlink:label="loc_TGLSContiglassAssetAcquisitionLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_TGLSContiglassAssetAcquisitionLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="loc_us-gaapBusinessCombinationPriceOfAcquisitionExpected_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessCombinationPriceOfAcquisitionExpected_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="loc_us-gaapBusinessAcquisitionCostOfAcquiredEntityTransactionCosts_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessAcquisitionCostOfAcquiredEntityTransactionCosts_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_WorkingCapitalAdjustment" xlink:label="loc_TGLSWorkingCapitalAdjustment_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_TGLSWorkingCapitalAdjustment_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapRevenues_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapProfitLoss_80" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" xlink:title="999039 - Disclosure - Schedule of Inventories (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" xlink:title="999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FixedPriceContractsMember" xlink:label="loc_TGLSFixedPriceContractsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSFixedPriceContractsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ProductSalesMember" xlink:label="loc_TGLSProductSalesMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSProductSalesMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" xlink:title="999041 - Disclosure - Schedule of Geographic Information (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CO" xlink:label="loc_countryCO_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCO_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US" xlink:label="loc_countryUS_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_PA" xlink:label="loc_countryPA_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryPA_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherMember" xlink:label="loc_TGLSOtherMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_TGLSOtherMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_210" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" xlink:title="999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ResidentialMember" xlink:label="loc_TGLSResidentialMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSResidentialMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CommercialMember" xlink:label="loc_TGLSCommercialMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSCommercialMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" xlink:title="999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" xlink:title="999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" xlink:title="999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioForecastMember" xlink:label="loc_srtScenarioForecastMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_srtScenarioForecastMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationPercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationPercentage_90" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" xlink:title="999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TradeNamesMember" xlink:label="loc_us-gaapTradeNamesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapTradeNamesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SoftwareAndLicensesMember" xlink:label="loc_TGLSSoftwareAndLicensesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSSoftwareAndLicensesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:label="loc_TGLSNoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSNoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractBacklogMember" xlink:label="loc_TGLSContractBacklogMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSContractBacklogMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_70" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:title="999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" xlink:title="999049 - Disclosure - Schedule of Goodwill (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" xlink:title="999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" xlink:title="999051 - Disclosure - Supplier Finance Program (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:label="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:label="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="loc_us-gaapFinancialInstrumentAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SupplierFinanceProgramMember" xlink:label="loc_TGLSSupplierFinanceProgramMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_TGLSSupplierFinanceProgramMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgramRightsObligationsCurrent" xlink:label="loc_us-gaapProgramRightsObligationsCurrent_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapProgramRightsObligationsCurrent_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapOtherLiabilitiesCurrent_50" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999052 - Disclosure - Schedule of Long Term Debt (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" xlink:title="999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtDetailsNarrative" xlink:title="999054 - Disclosure - Debt (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacilityMember" xlink:label="loc_TGLSSeniorSecuredCreditFacilityMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_TGLSSeniorSecuredCreditFacilityMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCredit_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:label="loc_us-gaapLineOfCreditFacilityInterestRateDuringPeriod_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityInterestRateDuringPeriod_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentMaturityDateDescription" xlink:label="loc_us-gaapDebtInstrumentMaturityDateDescription_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDateDescription_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaapDebtWeightedAverageInterestRate_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtWeightedAverageInterestRate_50" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" xlink:title="999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsMember" xlink:label="loc_TGLSInterestRateSwapContractsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSInterestRateSwapContractsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSForeignCurrencyNonDeliveryForwardsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSForeignCurrencyNonDeliveryForwardsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherCurrentAssetsMember" xlink:label="loc_us-gaapOtherCurrentAssetsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_us-gaapOtherCurrentAssetsMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="loc_us-gaapAccruedLiabilitiesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_us-gaapAccruedLiabilitiesMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedges" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedges_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedges_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgesLiabilities_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedgesLiabilities_60" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" xlink:title="999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSInterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSInterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaapDerivativeGainLossOnDerivativeNet_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeGainLossOnDerivativeNet_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:label="loc_TGLSDerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_TGLSDerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_50" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" xlink:title="999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" xlink:title="999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestRateSwapMember" xlink:label="loc_us-gaapInterestRateSwapMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_us-gaapInterestRateSwapMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSForeignCurrencyNonDeliveryForwardsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSForeignCurrencyNonDeliveryForwardsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AccumulatedOtherComprehensiveLossMember" xlink:label="loc_TGLSAccumulatedOtherComprehensiveLossMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_TGLSAccumulatedOtherComprehensiveLossMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="loc_us-gaapDerivativeFixedInterestRate_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeFixedInterestRate_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaapDerivativeAssets_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeAssets_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestEarningAssetsAverageAmountOutstanding" xlink:label="loc_us-gaapInterestEarningAssetsAverageAmountOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapInterestEarningAssetsAverageAmountOutstanding_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAverageAmountOutstanding" xlink:label="loc_us-gaapLongTermDebtAverageAmountOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapLongTermDebtAverageAmountOutstanding_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ReclassifiedEarningsExpected" xlink:label="loc_TGLSReclassifiedEarningsExpected_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_TGLSReclassifiedEarningsExpected_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedges" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedges_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedges_80" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" xlink:label="loc_us-gaapDerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_80" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" xlink:title="999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US" xlink:label="loc_countryUS_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CO" xlink:label="loc_countryCO_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCO_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_PA" xlink:label="loc_countryPA_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryPA_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_170" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations_170" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" xlink:title="999060 - Disclosure - Income Taxes (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" xlink:title="999061 - Disclosure - Schedule of Related Parties (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FundacionTecnoglassMember" xlink:label="loc_TGLSFundacionTecnoglassMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSFundacionTecnoglassMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DueFromOtherRelatedPartiesMember" xlink:label="loc_TGLSDueFromOtherRelatedPartiesMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSDueFromOtherRelatedPartiesMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_VidrioAndinoMember" xlink:label="loc_TGLSVidrioAndinoMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSVidrioAndinoMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherReceivablesNetCurrent_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherLiabilitiesCurrent_150" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" xlink:title="999062 - Disclosure - Schedule of Sale to Related Parties (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SalesToOtherRelatedPartiesMember" xlink:label="loc_TGLSSalesToOtherRelatedPartiesMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSSalesToOtherRelatedPartiesMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapRevenues_210" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" xlink:title="999063 - Disclosure - Related Parties (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FundacionTecnoglassMember" xlink:label="loc_TGLSFundacionTecnoglassMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSFundacionTecnoglassMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SantaMariaDelMarSASMember" xlink:label="loc_TGLSSantaMariaDelMarSASMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSSantaMariaDelMarSASMember_180" xlink:type="arc" order="182" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember_230" xlink:type="arc" order="231" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ZofracostaSAMember" xlink:label="loc_TGLSZofracostaSAMember_410" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSZofracostaSAMember_410" xlink:type="arc" order="411" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CEOAndCOOMember" xlink:label="loc_TGLSCEOAndCOOMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_TGLSCEOAndCOOMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_VidrioAndinoMember" xlink:label="loc_TGLSVidrioAndinoMember_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_TGLSVidrioAndinoMember_290" xlink:type="arc" order="291" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapRevenues_440" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_440" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CashContributionsForSocialCauses" xlink:label="loc_TGLSCashContributionsForSocialCauses_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSCashContributionsForSocialCauses_440" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherReceivablesNetCurrent_440" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PurchasePriceOfFuel" xlink:label="loc_TGLSPurchasePriceOfFuel_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSPurchasePriceOfFuel_440" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireLandHeldForUse" xlink:label="loc_us-gaapPaymentsToAcquireLandHeldForUse_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireLandHeldForUse_440" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_440" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1_440" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesGross_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesGross_440" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_440" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_440" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare_440" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PremiumClosingStockPercentage" xlink:label="loc_TGLSPremiumClosingStockPercentage_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSPremiumClosingStockPercentage_440" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExpectedOwnershipPercentage" xlink:label="loc_TGLSExpectedOwnershipPercentage_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSExpectedOwnershipPercentage_440" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FutureAdditionalContributionAmount" xlink:label="loc_TGLSFutureAdditionalContributionAmount_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSFutureAdditionalContributionAmount_440" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireProductiveAssets" xlink:label="loc_us-gaapPaymentsToAcquireProductiveAssets_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireProductiveAssets_440" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapAccountsPayableCurrent_440" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaapIncomeLossFromEquityMethodInvestments_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapIncomeLossFromEquityMethodInvestments_440" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_440" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapInvestments_440" xlink:type="arc" order="18" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:title="999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" xlink:title="999065 - Disclosure - Shareholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_QuarterlyRateMember" xlink:label="loc_TGLSQuarterlyRateMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSQuarterlyRateMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AnnualBasisMember" xlink:label="loc_TGLSAnnualBasisMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSAnnualBasisMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharePrice_30" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="999066 - Disclosure - Commitments and Contingencies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesLineItems" xlink:label="loc_us-gaapLossContingenciesLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesTable" xlink:label="loc_us-gaapLossContingenciesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLossContingenciesLineItems" xlink:to="loc_us-gaapLossContingenciesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLossContingenciesTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLossContingenciesTable" xlink:to="loc_srtStatementScenarioAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NovemberThirtyTwoThousandThirtyMember" xlink:label="loc_TGLSNovemberThirtyTwoThousandThirtyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_TGLSNovemberThirtyTwoThousandThirtyMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ThroughTwoThousandTwentyEightMember" xlink:label="loc_TGLSThroughTwoThousandTwentyEightMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_TGLSThroughTwoThousandTwentyEightMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="loc_us-gaapLongTermPurchaseCommitmentAmount_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLossContingenciesLineItems" xlink:to="loc_us-gaapLongTermPurchaseCommitmentAmount_30" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_QuarterlyRateMember" xlink:label="loc_TGLSQuarterlyRateMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSQuarterlyRateMember" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AnnualBasisMember" xlink:label="loc_TGLSAnnualBasisMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSAnnualBasisMember" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>tgls-20250630_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 6.1a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related and Nonrelated Parties [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyMember" xlink:to="us-gaap_RelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyMember_lbl" xml:lang="en-US">Related Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrelatedPartyMember" xlink:to="us-gaap_NonrelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonrelatedPartyMember_lbl" xml:lang="en-US">Nonrelated Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExternalCustomersMember" xlink:label="TGLS_ExternalCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ExternalCustomersMember" xlink:to="TGLS_ExternalCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ExternalCustomersMember_lbl" xml:lang="en-US">External Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReservesMember" xlink:label="TGLS_LegalReservesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_LegalReservesMember" xlink:to="TGLS_LegalReservesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_LegalReservesMember_lbl" xml:lang="en-US">Legal Reserves [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US">Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US">Business Combination [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContiglassAssetAcquisitionLLCMember" xlink:label="TGLS_ContiglassAssetAcquisitionLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContiglassAssetAcquisitionLLCMember" xlink:to="TGLS_ContiglassAssetAcquisitionLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ContiglassAssetAcquisitionLLCMember_lbl" xml:lang="en-US">Contiglass Asset Acquisition LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US">Scenario [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProFormaMember" xlink:label="srt_ProFormaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProFormaMember" xlink:to="srt_ProFormaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProFormaMember_lbl" xml:lang="en-US">Pro Forma [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="us-gaap_FairValueByLiabilityClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByLiabilityClassAxis" xlink:to="us-gaap_FairValueByLiabilityClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByLiabilityClassAxis_lbl" xml:lang="en-US">Liability Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractAssetsMember" xlink:label="TGLS_ContractAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractAssetsMember" xlink:to="TGLS_ContractAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ContractAssetsMember_lbl" xml:lang="en-US">Contract Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractLiabilitiesMember" xlink:label="TGLS_ContractLiabilitiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractLiabilitiesMember" xlink:to="TGLS_ContractLiabilitiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ContractLiabilitiesMember_lbl" xml:lang="en-US">Contract Liabilities [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FixedPriceContractsMember" xlink:label="TGLS_FixedPriceContractsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FixedPriceContractsMember" xlink:to="TGLS_FixedPriceContractsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_FixedPriceContractsMember_lbl" xml:lang="en-US">Fixed Price Contracts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ProductSalesMember" xlink:label="TGLS_ProductSalesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ProductSalesMember" xlink:to="TGLS_ProductSalesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ProductSalesMember_lbl" xml:lang="en-US">Product Sales [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CO" xlink:label="country_CO" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CO" xlink:to="country_CO_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CO_lbl" xml:lang="en-US">COLOMBIA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_PA" xlink:label="country_PA" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PA" xlink:to="country_PA_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PA_lbl" xml:lang="en-US">PANAMA</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherMember" xlink:label="TGLS_OtherMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_OtherMember" xlink:to="TGLS_OtherMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_OtherMember_lbl" xml:lang="en-US">Due from Other Related Parties [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ResidentialMember" xlink:label="TGLS_ResidentialMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ResidentialMember" xlink:to="TGLS_ResidentialMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ResidentialMember_lbl" xml:lang="en-US">Residential [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CommercialMember" xlink:label="TGLS_CommercialMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CommercialMember" xlink:to="TGLS_CommercialMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_CommercialMember_lbl" xml:lang="en-US">Commercial [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioForecastMember_lbl" xml:lang="en-US">Forecast [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeNamesMember_lbl" xml:lang="en-US">Trade Names [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SoftwareAndLicensesMember" xlink:label="TGLS_SoftwareAndLicensesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SoftwareAndLicensesMember" xlink:to="TGLS_SoftwareAndLicensesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SoftwareAndLicensesMember_lbl" xml:lang="en-US">Software And Licenses [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:label="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:to="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_lbl" xml:lang="en-US">Notice Of Acceptances Product Designs And Intellectual Property [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractBacklogMember" xlink:label="TGLS_ContractBacklogMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractBacklogMember" xlink:to="TGLS_ContractBacklogMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ContractBacklogMember_lbl" xml:lang="en-US">Contract Backlog [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xml:lang="en-US">Financial Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SupplierFinanceProgramMember" xlink:label="TGLS_SupplierFinanceProgramMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SupplierFinanceProgramMember" xlink:to="TGLS_SupplierFinanceProgramMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SupplierFinanceProgramMember_lbl" xml:lang="en-US">Supplier Finance Program [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacilityMember" xlink:label="TGLS_SeniorSecuredCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SeniorSecuredCreditFacilityMember" xlink:to="TGLS_SeniorSecuredCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SeniorSecuredCreditFacilityMember_lbl" xml:lang="en-US">Senior Secured Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US">Interest Rate Swap [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Statement of Financial Position Location, Balance [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AccumulatedOtherComprehensiveLossMember" xlink:label="TGLS_AccumulatedOtherComprehensiveLossMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AccumulatedOtherComprehensiveLossMember" xlink:to="TGLS_AccumulatedOtherComprehensiveLossMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_AccumulatedOtherComprehensiveLossMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:label="TGLS_ForeignCurrencyNonDeliveryForwardsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:to="TGLS_ForeignCurrencyNonDeliveryForwardsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ForeignCurrencyNonDeliveryForwardsMember_lbl" xml:lang="en-US">Foreign Currency Non Delivery Forwards [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsMember" xlink:label="TGLS_InterestRateSwapContractsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestRateSwapContractsMember" xlink:to="TGLS_InterestRateSwapContractsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_InterestRateSwapContractsMember_lbl" xml:lang="en-US">Interest Rate Swap Contracts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherCurrentAssetsMember" xlink:label="us-gaap_OtherCurrentAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCurrentAssetsMember" xlink:to="us-gaap_OtherCurrentAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCurrentAssetsMember_lbl" xml:lang="en-US">Other Current Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued Liabilities [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:label="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:to="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_lbl" xml:lang="en-US">Interest Rate Swap Contracts and Foreign Currency Non-delivery Forwards [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US">Related Party Transaction [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FundacionTecnoglassMember" xlink:label="TGLS_FundacionTecnoglassMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FundacionTecnoglassMember" xlink:to="TGLS_FundacionTecnoglassMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_FundacionTecnoglassMember_lbl" xml:lang="en-US">Fundacion Tecnoglass-ESWindows [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="TGLS_PrismaGlassLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PrismaGlassLLCMember" xlink:to="TGLS_PrismaGlassLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_PrismaGlassLLCMember_lbl" xml:lang="en-US">Prisma Glass LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="TGLS_AlutraficLedSASMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AlutraficLedSASMember" xlink:to="TGLS_AlutraficLedSASMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_AlutraficLedSASMember_lbl" xml:lang="en-US">Alutrafic Led SAS [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="TGLS_StudioAvantiSASMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_StudioAvantiSASMember" xlink:to="TGLS_StudioAvantiSASMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_StudioAvantiSASMember_lbl" xml:lang="en-US">Studio Avanti SAS [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DueFromOtherRelatedPartiesMember" xlink:label="TGLS_DueFromOtherRelatedPartiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DueFromOtherRelatedPartiesMember" xlink:to="TGLS_DueFromOtherRelatedPartiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="TGLS_DueFromOtherRelatedPartiesMember_lbl" xml:lang="en-US">Due from Other Related Parties [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_VidrioAndinoMember" xlink:label="TGLS_VidrioAndinoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_VidrioAndinoMember" xlink:to="TGLS_VidrioAndinoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_VidrioAndinoMember_lbl" xml:lang="en-US">Vidrio Andino [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SalesToOtherRelatedPartiesMember" xlink:label="TGLS_SalesToOtherRelatedPartiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SalesToOtherRelatedPartiesMember" xlink:to="TGLS_SalesToOtherRelatedPartiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SalesToOtherRelatedPartiesMember_lbl" xml:lang="en-US">Sales To Other Related Parties [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title and Position [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CEOAndCOOMember" xlink:label="TGLS_CEOAndCOOMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CEOAndCOOMember" xlink:to="TGLS_CEOAndCOOMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_CEOAndCOOMember_lbl" xml:lang="en-US">CEO and COO [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SantaMariaDelMarSASMember" xlink:label="TGLS_SantaMariaDelMarSASMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SantaMariaDelMarSASMember" xlink:to="TGLS_SantaMariaDelMarSASMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SantaMariaDelMarSASMember_lbl" xml:lang="en-US">Santa Maria Del Mar SAS [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ZofracostaSAMember" xlink:label="TGLS_ZofracostaSAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ZofracostaSAMember" xlink:to="TGLS_ZofracostaSAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ZofracostaSAMember_lbl" xml:lang="en-US">Zofracosta SA [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_QuarterlyRateMember" xlink:label="TGLS_QuarterlyRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_QuarterlyRateMember" xlink:to="TGLS_QuarterlyRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_QuarterlyRateMember_lbl" xml:lang="en-US">Quarterly Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AnnualBasisMember" xlink:label="TGLS_AnnualBasisMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AnnualBasisMember" xlink:to="TGLS_AnnualBasisMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_AnnualBasisMember_lbl" xml:lang="en-US">Annual Basis [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NovemberThirtyTwoThousandThirtyMember" xlink:label="TGLS_NovemberThirtyTwoThousandThirtyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NovemberThirtyTwoThousandThirtyMember" xlink:to="TGLS_NovemberThirtyTwoThousandThirtyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_NovemberThirtyTwoThousandThirtyMember_lbl" xml:lang="en-US">November 30, 2030 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ThroughTwoThousandTwentyEightMember" xlink:label="TGLS_ThroughTwoThousandTwentyEightMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ThroughTwoThousandTwentyEightMember" xlink:to="TGLS_ThroughTwoThousandTwentyEightMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ThroughTwoThousandTwentyEightMember_lbl" xml:lang="en-US">Through 2028 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityListingParValuePerShare" xlink:label="dei_EntityListingParValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityListingParValuePerShare" xlink:to="dei_EntityListingParValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityListingParValuePerShare_lbl" xml:lang="en-US">Entity Listing, Par Value Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Defined Benefit Plan [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Trade accounts receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherReceivablesNetCurrent_lbl" xml:lang="en-US">Due from related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract assets &#8211; current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US">Other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="us-gaap_AssetsNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrentAbstract_lbl" xml:lang="en-US">Long-term assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, plant and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="us-gaap_AccountsReceivableNetNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetNoncurrent" xlink:to="us-gaap_AccountsReceivableNetNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetNoncurrent_lbl" xml:lang="en-US">Long-term account receivables</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" xml:lang="en-US">Contract assets &#8211; non-current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermInvestments" xlink:label="us-gaap_LongTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermInvestments" xlink:to="us-gaap_LongTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermInvestments_lbl" xml:lang="en-US">Long-term investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other long-term assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsNoncurrent_lbl" xml:lang="en-US">Total long-term assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtCurrent" xlink:to="us-gaap_DebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US">Short-term debt and current portion of long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US">Other current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US">Dividends payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liability &#8211; current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Long-term liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US">Contract liability &#8211; non-current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Total long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">SHAREHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred shares, $0.0001 par value, 1,000,000 shares authorized, 0 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Ordinary shares, $0.0001 par value, 100,000,000 shares authorized, 46,987,148 and 46,991,558 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReserves" xlink:label="TGLS_LegalReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_LegalReserves" xlink:to="TGLS_LegalReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_LegalReserves_lbl" xml:lang="en-US">Legal Reserves</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities and shareholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred shares, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred shares, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Preferred shares, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred shares, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Ordinary shares, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Ordinary shares, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Ordinary shares, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Ordinary shares, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Operating revenues:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Total operating revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating expenses:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US">Selling expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherOperatingIncomeLoss" xlink:label="TGLS_OtherOperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_OtherOperatingIncomeLoss" xlink:to="TGLS_OtherOperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_OtherOperatingIncomeLoss_lbl" xml:lang="en-US">Other Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonoperatingGainsLosses" xlink:label="us-gaap_NonoperatingGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingGainsLosses" xlink:to="us-gaap_NonoperatingGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingGainsLosses_lbl" xml:lang="en-US">Non-operating income, net</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EquityMethodIncome" xlink:label="TGLS_EquityMethodIncome" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_EquityMethodIncome" xlink:to="TGLS_EquityMethodIncome_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_EquityMethodIncome_lbl" xml:lang="en-US">Equity method income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign currency transactions (loss) gains</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:label="TGLS_InterestExpenseAndDeferredCostOfFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:to="TGLS_InterestExpenseAndDeferredCostOfFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="TGLS_InterestExpenseAndDeferredCostOfFinancing_lbl" xml:lang="en-US">Interest expense and deferred cost of financing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax provision</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic income per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted income per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic weighted average common shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted weighted average common shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Other comprehensive income:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivative contracts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Other comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM OPERATING ACTIVITIES</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Allowance for credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US">Equity method income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Gain on disposal of assets</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DeferredCostOfFinancing" xlink:label="TGLS_DeferredCostOfFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DeferredCostOfFinancing" xlink:to="TGLS_DeferredCostOfFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_DeferredCostOfFinancing_lbl" xml:lang="en-US">Deferred cost of financing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherNoncashIncomeExpense_lbl" xml:lang="en-US">Other non-cash adjustments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl" xml:lang="en-US">Unrealized currency translation loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Trade accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">Prepaid expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Labor liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US">Other liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:label="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:to="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities_lbl" xml:lang="en-US">Contract assets and liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInDueToRelatedParties" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedParties" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueToRelatedParties" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedParties_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedParties_lbl" xml:lang="en-US">Related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">CASH PROVIDED BY OPERATING ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM INVESTING ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchase of investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US">Business acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US">Dividends received</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Sale of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Acquisition of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">CASH USED IN INVESTING ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">CASH FLOWS FROM FINANCING ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl" xml:lang="en-US">Cash dividend</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PaymentsOfNonControllingInterestExpense" xlink:label="TGLS_PaymentsOfNonControllingInterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PaymentsOfNonControllingInterestExpense" xlink:to="TGLS_PaymentsOfNonControllingInterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="TGLS_PaymentsOfNonControllingInterestExpense_lbl" xml:lang="en-US">Non-controlling interest purchase</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="us-gaap_PaymentsForRepurchaseOfEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfEquity" xlink:to="us-gaap_PaymentsForRepurchaseOfEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfEquity_lbl" xml:lang="en-US">Stock buyback</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xml:lang="en-US">Proceeds from debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebt" xlink:to="us-gaap_RepaymentsOfDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfDebt_lbl" xml:lang="en-US">Repayments of debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">CASH USED IN FINANCING ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">CASH AND CASH EQUIVALENTS - Beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">CASH AND CASH EQUIVALENTS - End of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:label="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:to="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract_lbl" xml:lang="en-US">Cash paid during the period for:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income Tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">NON-CASH INVESTING AND FINANCING ACTIVITIES:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueOfAssetsAcquired" xlink:label="us-gaap_FairValueOfAssetsAcquired" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfAssetsAcquired" xlink:to="us-gaap_FairValueOfAssetsAcquired_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfAssetsAcquired_lbl" xml:lang="en-US">Assets acquired under credit or debt</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AccountPayableForBusinessAcquisition" xlink:label="TGLS_AccountPayableForBusinessAcquisition" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AccountPayableForBusinessAcquisition" xlink:to="TGLS_AccountPayableForBusinessAcquisition_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_AccountPayableForBusinessAcquisition_lbl" xml:lang="en-US">Account payable for business acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Beginning balance, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsCommonStock" xlink:label="us-gaap_DividendsCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStock_lbl" xml:lang="en-US">Dividend ($0.11 per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Share Repurchase</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Share Repurchase, shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_2_lbl" xml:lang="en-US">Derivative financial instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Foreign currency translation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Dividend per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PvpTable" xlink:label="ecd_PvpTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTable" xlink:to="ecd_PvpTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTable_lbl" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ExecutiveCategoryAxis" xlink:label="ecd_ExecutiveCategoryAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ExecutiveCategoryAxis" xlink:to="ecd_ExecutiveCategoryAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ExecutiveCategoryAxis_lbl" xml:lang="en-US">Executive Category [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_IndividualAxis" xlink:label="ecd_IndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_IndividualAxis" xlink:to="ecd_IndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_IndividualAxis_lbl" xml:lang="en-US">Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToCompAxis" xlink:label="ecd_AdjToCompAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAxis" xlink:to="ecd_AdjToCompAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAxis_lbl" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MeasureAxis" xlink:label="ecd_MeasureAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureAxis" xlink:to="ecd_MeasureAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureAxis_lbl" xml:lang="en-US">Measure [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PvpTableTextBlock" xlink:label="ecd_PvpTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTableTextBlock" xlink:to="ecd_PvpTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTableTextBlock_lbl" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CoSelectedMeasureName" xlink:label="ecd_CoSelectedMeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureName" xlink:to="ecd_CoSelectedMeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureName_lbl" xml:lang="en-US">Company Selected Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="ecd_PeerGroupIssuersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupIssuersFnTextBlock" xlink:to="ecd_PeerGroupIssuersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupIssuersFnTextBlock_lbl" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="ecd_ChangedPeerGroupFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ChangedPeerGroupFnTextBlock" xlink:to="ecd_ChangedPeerGroupFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ChangedPeerGroupFnTextBlock_lbl" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoTotalCompAmt" xlink:label="ecd_PeoTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoTotalCompAmt" xlink:to="ecd_PeoTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoTotalCompAmt_lbl" xml:lang="en-US">PEO Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="ecd_PeoActuallyPaidCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoActuallyPaidCompAmt" xlink:to="ecd_PeoActuallyPaidCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoActuallyPaidCompAmt_lbl" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="ecd_AdjToPeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToPeoCompFnTextBlock" xlink:to="ecd_AdjToPeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToPeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TabularListTableTextBlock" xlink:label="ecd_TabularListTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TabularListTableTextBlock" xlink:to="ecd_TabularListTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TabularListTableTextBlock_lbl" xml:lang="en-US">Tabular List, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TotalShareholderRtnAmt" xlink:label="ecd_TotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnAmt" xlink:to="ecd_TotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnAmt_lbl" xml:lang="en-US">Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net Income (Loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CoSelectedMeasureAmt" xlink:label="ecd_CoSelectedMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureAmt" xlink:to="ecd_CoSelectedMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureAmt_lbl" xml:lang="en-US">Company Selected Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OtherPerfMeasureAmt" xlink:label="ecd_OtherPerfMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OtherPerfMeasureAmt" xlink:to="ecd_OtherPerfMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OtherPerfMeasureAmt_lbl" xml:lang="en-US">Other Performance Measure, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToCompAmt" xlink:label="ecd_AdjToCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAmt" xlink:to="ecd_AdjToCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAmt_lbl" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoName" xlink:label="ecd_PeoName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoName" xlink:to="ecd_PeoName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoName_lbl" xml:lang="en-US">PEO Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MeasureName" xlink:label="ecd_MeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureName" xlink:to="ecd_MeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xml:lang="en-US">Non-GAAP Measure Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="ecd_Additional402vDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Additional402vDisclosureTextBlock" xlink:to="ecd_Additional402vDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Additional402vDisclosureTextBlock_lbl" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="ecd_PnsnBnftsAdjFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PnsnBnftsAdjFnTextBlock" xlink:to="ecd_PnsnBnftsAdjFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PnsnBnftsAdjFnTextBlock_lbl" xml:lang="en-US">Pension Benefits Adjustments, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ErrCompRecoveryTable" xlink:label="ecd_ErrCompRecoveryTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompRecoveryTable" xlink:to="ecd_ErrCompRecoveryTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompRecoveryTable_lbl" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDateAxis" xlink:label="ecd_RestatementDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDateAxis" xlink:to="ecd_RestatementDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDateAxis_lbl" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDeterminationDate" xlink:label="ecd_RestatementDeterminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDeterminationDate" xlink:to="ecd_RestatementDeterminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDeterminationDate_lbl" xml:lang="en-US">Restatement Determination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AggtErrCompAmt" xlink:label="ecd_AggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompAmt" xlink:to="ecd_AggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompAmt_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="ecd_ErrCompAnalysisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompAnalysisTextBlock" xlink:to="ecd_ErrCompAnalysisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompAnalysisTextBlock_lbl" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="ecd_OutstandingAggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingAggtErrCompAmt" xlink:to="ecd_OutstandingAggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingAggtErrCompAmt_lbl" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryIndName" xlink:label="ecd_ForgoneRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_ForgoneRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingRecoveryIndName" xlink:label="ecd_OutstandingRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_OutstandingRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="ecd_OutstandingRecoveryCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryCompAmt" xlink:to="ecd_OutstandingRecoveryCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryCompAmt_lbl" xml:lang="en-US">Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xml:lang="en-US">Restatement does not require Recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="ecd_AwardsCloseToMnpiDiscTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTable" xlink:to="ecd_AwardsCloseToMnpiDiscTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTable_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="ecd_AwardTmgMnpiDiscTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiDiscTextBlock" xlink:to="ecd_AwardTmgMnpiDiscTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiDiscTextBlock_lbl" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="ecd_AwardTmgMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMethodTextBlock" xlink:to="ecd_AwardTmgMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMethodTextBlock_lbl" xml:lang="en-US">Award Timing Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="ecd_AwardTmgPredtrmndFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgPredtrmndFlag" xlink:to="ecd_AwardTmgPredtrmndFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgPredtrmndFlag_lbl" xml:lang="en-US">Award Timing Predetermined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xml:lang="en-US">Award Timing MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="ecd_MnpiDiscTimedForCompValFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MnpiDiscTimedForCompValFlag" xlink:to="ecd_MnpiDiscTimedForCompValFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MnpiDiscTimedForCompValFlag_lbl" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="ecd_AwardsCloseToMnpiDiscIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="ecd_AwardUndrlygSecuritiesAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardUndrlygSecuritiesAmt" xlink:to="ecd_AwardUndrlygSecuritiesAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardUndrlygSecuritiesAmt_lbl" xml:lang="en-US">Underlying Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardExrcPrice" xlink:label="ecd_AwardExrcPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardExrcPrice" xlink:to="ecd_AwardExrcPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardExrcPrice_lbl" xml:lang="en-US">Exercise Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardGrantDateFairValue" xlink:label="ecd_AwardGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardGrantDateFairValue" xlink:to="ecd_AwardGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardGrantDateFairValue_lbl" xml:lang="en-US">Fair Value as of Grant Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="ecd_UndrlygSecurityMktPriceChngPct" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_UndrlygSecurityMktPriceChngPct" xlink:to="ecd_UndrlygSecurityMktPriceChngPct_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_UndrlygSecurityMktPriceChngPct_lbl" xml:lang="en-US">Underlying Security Market Price Change</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TradingArrByIndTable" xlink:label="ecd_TradingArrByIndTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrByIndTable" xlink:to="ecd_TradingArrByIndTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrByIndTable_lbl" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TradingArrAxis" xlink:label="ecd_TradingArrAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrAxis" xlink:to="ecd_TradingArrAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrAxis_lbl" xml:lang="en-US">Trading Arrangement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrIndName" xlink:label="ecd_TrdArrIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_TrdArrIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrIndTitle" xlink:label="ecd_TrdArrIndTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndTitle" xlink:to="ecd_TrdArrIndTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndTitle_lbl" xml:lang="en-US">Title</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrAdoptionDate" xlink:label="ecd_TrdArrAdoptionDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrAdoptionDate" xlink:to="ecd_TrdArrAdoptionDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrAdoptionDate_lbl" xml:lang="en-US">Adoption Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrTerminationDate" xlink:label="ecd_TrdArrTerminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrTerminationDate" xlink:to="ecd_TrdArrTerminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrTerminationDate_lbl" xml:lang="en-US">Termination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrExpirationDate" xlink:label="ecd_TrdArrExpirationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrExpirationDate" xlink:to="ecd_TrdArrExpirationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrExpirationDate_lbl" xml:lang="en-US">Expiration Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrDuration" xlink:label="ecd_TrdArrDuration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrDuration" xlink:to="ecd_TrdArrDuration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrDuration_lbl" xml:lang="en-US">Arrangement Duration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="ecd_InsiderTradingPoliciesProcLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingPoliciesProcLineItems" xlink:to="ecd_InsiderTradingPoliciesProcLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingPoliciesProcLineItems_lbl" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xml:lang="en-US">General</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Basis of Presentation and Summary of Significant Accounting Policies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xml:lang="en-US">Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US">Acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">Inventories, net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_2_lbl" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Intangible Assets and Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplierFinanceProgramTextBlock" xlink:label="us-gaap_SupplierFinanceProgramTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplierFinanceProgramTextBlock" xlink:to="us-gaap_SupplierFinanceProgramTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplierFinanceProgramTextBlock_lbl" xml:lang="en-US">Supplier Finance Program</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Hedging Activity and Fair Value Measurements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Shareholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Presentation and Use of Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivative Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Issued Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US">Schedule of Purchase Price Allocation Consideration Transferred</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xml:lang="en-US">Schedule of Unaudited Pro Forma Financial Information</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_lbl" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_lbl" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">Schedule of Disaggregation by Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Geographic Information</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:label="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:to="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenues Distribution By End Market</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Trade Accounts Receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:label="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:to="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in Allowance for Doubtful Accounts Receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Contract Assets and Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite Lived Intangible Assets Future Amortization Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationSegmentAllocationTableTextBlock" xlink:label="us-gaap_BusinessCombinationSegmentAllocationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationSegmentAllocationTableTextBlock" xlink:to="us-gaap_BusinessCombinationSegmentAllocationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationSegmentAllocationTableTextBlock_lbl" xml:lang="en-US">Schedule of Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of Long Term Debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US">Schedule of Maturities of Long Term Debt</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" xlink:label="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" xlink:to="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value of Foreign Currency Hedges</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value and Carrying Amounts of Long Term Debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components of Income Tax Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Related Parties</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" xlink:label="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" xlink:to="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock_lbl" xml:lang="en-US">Schedule of Sale to Related Parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Total purchase price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xml:lang="en-US">Cash and equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xml:lang="en-US">Accounts Receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xml:lang="en-US">Other Current Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property, plant, and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_lbl" xml:lang="en-US">Trade Name</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_lbl" xml:lang="en-US">Contract Backlog</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_lbl" xml:lang="en-US">Notice of Acceptance and FBC permits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xml:lang="en-US">Right-of-use assets</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_lbl" xml:lang="en-US">Account payable</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_lbl" xml:lang="en-US">Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_lbl" xml:lang="en-US">Service revenue deposit</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_lbl" xml:lang="en-US">Lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_lbl" xml:lang="en-US">Billings in excess of cost and profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xml:lang="en-US">Total identifiable net assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue_lbl" xml:lang="en-US">Net sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xml:lang="en-US">Business Combination [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US">Business Combination [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:to="us-gaap_BusinessCombinationPriceOfAcquisitionExpected_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationPriceOfAcquisitionExpected_lbl" xml:lang="en-US">Business Combination, Price of Acquisition, Expected</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:to="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_lbl" xml:lang="en-US">Business Combination, Transaction Cost, Excluding Separately Recognized Transaction</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_WorkingCapitalAdjustment" xlink:label="TGLS_WorkingCapitalAdjustment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_WorkingCapitalAdjustment" xlink:to="TGLS_WorkingCapitalAdjustment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_WorkingCapitalAdjustment_lbl" xml:lang="en-US">[custom:WorkingCapitalAdjustment-0]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_2_lbl" xml:lang="en-US">Total consideration transferred</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Remaining useful life</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xml:lang="en-US">Work in process</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherInventoriesSpareParts" xlink:label="us-gaap_OtherInventoriesSpareParts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInventoriesSpareParts" xlink:to="us-gaap_OtherInventoriesSpareParts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherInventoriesSpareParts_lbl" xml:lang="en-US">Spares and accessories</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InventoryPackingMaterialGross" xlink:label="TGLS_InventoryPackingMaterialGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InventoryPackingMaterialGross" xlink:to="TGLS_InventoryPackingMaterialGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_InventoryPackingMaterialGross_lbl" xml:lang="en-US">Packing material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Total Inventories, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Less: Inventory allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventories, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Total Revenues</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Trade accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Less: Allowance for credit losses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_2_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2_lbl" xml:lang="en-US">Balance at beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_2_lbl" xml:lang="en-US">Provisions for credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Deductions and write-offs, net of foreign currency adjustment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3_lbl" xml:lang="en-US">Balance at end of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_2_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_2_lbl" xml:lang="en-US">Contract Assets &#8211; non-current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_2_lbl" xml:lang="en-US">Contract liabilities &#8212; current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_2_lbl" xml:lang="en-US">Contract liabilities &#8212; non-current</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NetContractLiabilitiesAssets" xlink:label="TGLS_NetContractLiabilitiesAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NetContractLiabilitiesAssets" xlink:to="TGLS_NetContractLiabilitiesAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="TGLS_NetContractLiabilitiesAssets_lbl" xml:lang="en-US">Net contract liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US">Unbilled contract receivables, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="us-gaap_ConstructionContractorReceivableRetainage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionContractorReceivableRetainage" xlink:to="us-gaap_ConstructionContractorReceivableRetainage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionContractorReceivableRetainage_lbl" xml:lang="en-US">Retainage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetGrossCurrent" xlink:label="us-gaap_ContractWithCustomerAssetGrossCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetGrossCurrent" xlink:to="us-gaap_ContractWithCustomerAssetGrossCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerAssetGrossCurrent_lbl" xml:lang="en-US">Total contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BillingsInExcessOfCosts" xlink:label="TGLS_BillingsInExcessOfCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BillingsInExcessOfCosts" xlink:to="TGLS_BillingsInExcessOfCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_BillingsInExcessOfCosts_lbl" xml:lang="en-US">Billings in excess of costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:label="us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_lbl" xml:lang="en-US">Advances from customers on uncompleted contracts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Total contract liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_3_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_3_lbl" xml:lang="en-US">Contract liabilities &#8211; non-current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Sales related to contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Remaining performance obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl" xml:lang="en-US">Performance obligation, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Intangible Asset, Finite-Lived [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated Amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Intangible assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2029</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:label="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:to="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl" xml:lang="en-US">Thereafter</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Beginning balance - December 31, 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod_lbl" xml:lang="en-US">Continental Glass Acquisition</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_3_lbl" xml:lang="en-US">Ending balance &#8211; June 30, 2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_lbl" xml:lang="en-US">Weighted average amortization period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:label="us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable_lbl" xml:lang="en-US">Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:label="us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems_lbl" xml:lang="en-US">Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgramRightsObligationsCurrent" xlink:label="us-gaap_ProgramRightsObligationsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProgramRightsObligationsCurrent" xlink:to="us-gaap_ProgramRightsObligationsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProgramRightsObligationsCurrent_lbl" xml:lang="en-US">Current liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_2_lbl" xml:lang="en-US">Due to related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Revolving lines of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FinanceLeaseDebt" xlink:label="TGLS_FinanceLeaseDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FinanceLeaseDebt" xlink:to="TGLS_FinanceLeaseDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_FinanceLeaseDebt_lbl" xml:lang="en-US">Finance lease</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="us-gaap_OtherLongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermDebtCurrent" xlink:to="us-gaap_OtherLongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermDebtCurrent_lbl" xml:lang="en-US">Other current debt</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacility" xlink:label="TGLS_SeniorSecuredCreditFacility" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SeniorSecuredCreditFacility" xlink:to="TGLS_SeniorSecuredCreditFacility_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_SeniorSecuredCreditFacility_lbl" xml:lang="en-US">Senior Secured Credit Facility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredCostsCurrent" xlink:label="us-gaap_DeferredCostsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCurrent" xlink:to="us-gaap_DeferredCostsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredCostsCurrent_lbl" xml:lang="en-US">Less: Deferred cost of financing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US">Total obligations under borrowing arrangements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Less: Current portion of long-term debt and other current borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCredit_2_lbl" xml:lang="en-US">Line of credit facility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of credit facility, maximum borrowing capacity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Debt instrument basis spread on variable rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:to="us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDuringPeriod_lbl" xml:lang="en-US">Line of credit interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentMaturityDateDescription" xlink:label="us-gaap_DebtInstrumentMaturityDateDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDateDescription" xlink:to="us-gaap_DebtInstrumentMaturityDateDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentMaturityDateDescription_lbl" xml:lang="en-US">Loan maturity period description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtWeightedAverageInterestRate" xlink:to="us-gaap_DebtWeightedAverageInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl" xml:lang="en-US">Debt, weighted average interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedges" xlink:label="us-gaap_DerivativeInstrumentsAndHedges" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedges" xlink:to="us-gaap_DerivativeInstrumentsAndHedges_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedges_lbl" xml:lang="en-US">Total derivative assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Total derivative liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeGainLossOnDerivativeNet" xlink:to="us-gaap_DerivativeGainLossOnDerivativeNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeGainLossOnDerivativeNet_lbl" xml:lang="en-US">Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:label="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:to="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_lbl" xml:lang="en-US">Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtFairValue" xlink:label="us-gaap_LongTermDebtFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtFairValue" xlink:to="us-gaap_LongTermDebtFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtFairValue_lbl" xml:lang="en-US">Fair Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_2_lbl" xml:lang="en-US">Carrying Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFixedInterestRate" xlink:to="us-gaap_DerivativeFixedInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFixedInterestRate_lbl" xml:lang="en-US">Derivative fixed interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssets" xlink:to="us-gaap_DerivativeAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeAssets_lbl" xml:lang="en-US">Derivative assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestEarningAssetsAverageAmountOutstanding" xlink:label="us-gaap_InterestEarningAssetsAverageAmountOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestEarningAssetsAverageAmountOutstanding" xlink:to="us-gaap_InterestEarningAssetsAverageAmountOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestEarningAssetsAverageAmountOutstanding_lbl" xml:lang="en-US">Interest earning assets average outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAverageAmountOutstanding" xlink:label="us-gaap_LongTermDebtAverageAmountOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAverageAmountOutstanding" xlink:to="us-gaap_LongTermDebtAverageAmountOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAverageAmountOutstanding_lbl" xml:lang="en-US">Debt outstanding amount</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ReclassifiedEarningsExpected" xlink:label="TGLS_ReclassifiedEarningsExpected" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ReclassifiedEarningsExpected" xlink:to="TGLS_ReclassifiedEarningsExpected_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ReclassifiedEarningsExpected_lbl" xml:lang="en-US">Reclassified earnings, expected</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_2_lbl" xml:lang="en-US">Accumulated other comprehensive income net of tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedges" xlink:to="us-gaap_DerivativeInstrumentsAndHedges_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedges_2_lbl" xml:lang="en-US">Accumulated other comprehensive income net of tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" xlink:label="us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" xlink:to="us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_lbl" xml:lang="en-US">Derivatives used in net investment hedge, tax (benefit)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total current income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total deferred income tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Total income provision</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Statutory income tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Weighted average statutory rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US">Related Party Transaction [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US">Related Party Transaction [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherReceivablesNetCurrent_2_lbl" xml:lang="en-US">Total due from related parties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_3_lbl" xml:lang="en-US">Total due to related parties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Sales to related parties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_3_lbl" xml:lang="en-US">Revenue from related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CashContributionsForSocialCauses" xlink:label="TGLS_CashContributionsForSocialCauses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CashContributionsForSocialCauses" xlink:to="TGLS_CashContributionsForSocialCauses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_CashContributionsForSocialCauses_lbl" xml:lang="en-US">Cash contributions for social causes</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherReceivablesNetCurrent_3_lbl" xml:lang="en-US">Other Receivables, Net, Current</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PurchasePriceOfFuel" xlink:label="TGLS_PurchasePriceOfFuel" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PurchasePriceOfFuel" xlink:to="TGLS_PurchasePriceOfFuel_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_PurchasePriceOfFuel_lbl" xml:lang="en-US">Purchases of fuel</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireLandHeldForUse" xlink:label="us-gaap_PaymentsToAcquireLandHeldForUse" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireLandHeldForUse" xlink:to="us-gaap_PaymentsToAcquireLandHeldForUse_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireLandHeldForUse_lbl" xml:lang="en-US">Payment for acquisition, land</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Minority interest ownership</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_3_lbl" xml:lang="en-US">Purchase price of interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross_lbl" xml:lang="en-US">Payment of cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xml:lang="en-US">Land contribution value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xml:lang="en-US">Shares issued during acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssuedPricePerShare" xlink:to="us-gaap_SharesIssuedPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssuedPricePerShare_lbl" xml:lang="en-US">Shares issued, price per share</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PremiumClosingStockPercentage" xlink:label="TGLS_PremiumClosingStockPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PremiumClosingStockPercentage" xlink:to="TGLS_PremiumClosingStockPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_PremiumClosingStockPercentage_lbl" xml:lang="en-US">Premium closing stock, percent</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExpectedOwnershipPercentage" xlink:label="TGLS_ExpectedOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ExpectedOwnershipPercentage" xlink:to="TGLS_ExpectedOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_ExpectedOwnershipPercentage_lbl" xml:lang="en-US">Expected ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FutureAdditionalContributionAmount" xlink:label="TGLS_FutureAdditionalContributionAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FutureAdditionalContributionAmount" xlink:to="TGLS_FutureAdditionalContributionAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_FutureAdditionalContributionAmount_lbl" xml:lang="en-US">Additional contribution amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireProductiveAssets" xlink:label="us-gaap_PaymentsToAcquireProductiveAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireProductiveAssets" xlink:to="us-gaap_PaymentsToAcquireProductiveAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireProductiveAssets_lbl" xml:lang="en-US">Purchase from related party</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Payable outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_2_lbl" xml:lang="en-US">Equity method income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_4_lbl" xml:lang="en-US">Net Income attributable to parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Denominator for basic earnings per ordinary share - weighted average shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EffectOfDilutiveSecuritiesAndStockDividend" xlink:label="TGLS_EffectOfDilutiveSecuritiesAndStockDividend" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_EffectOfDilutiveSecuritiesAndStockDividend" xlink:to="TGLS_EffectOfDilutiveSecuritiesAndStockDividend_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_EffectOfDilutiveSecuritiesAndStockDividend_lbl" xml:lang="en-US">Effect of dilutive securities and stock dividend</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Denominator for diluted earnings per ordinary share - weighted average shares outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Basic earnings per ordinary share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Diluted earnings per ordinary share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharePrice_2_lbl" xml:lang="en-US">Share price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesTable_lbl" xml:lang="en-US">Loss Contingencies [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="us-gaap_LongTermPurchaseCommitmentAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermPurchaseCommitmentAmount_lbl" xml:lang="en-US">Purchase of aggregate raw material</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_LegalReserves" xlink:to="TGLS_LegalReserves_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_LegalReserves_doc" xml:lang="en-US">Legal reserves.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_OtherOperatingIncomeLoss" xlink:to="TGLS_OtherOperatingIncomeLoss_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_OtherOperatingIncomeLoss_doc" xml:lang="en-US">Other operating income loss.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_EquityMethodIncome" xlink:to="TGLS_EquityMethodIncome_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_EquityMethodIncome_doc" xml:lang="en-US">Equity method income.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:to="TGLS_InterestExpenseAndDeferredCostOfFinancing_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_InterestExpenseAndDeferredCostOfFinancing_doc" xml:lang="en-US">Interest expense and deferred cost of financing.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DeferredCostOfFinancing" xlink:to="TGLS_DeferredCostOfFinancing_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_DeferredCostOfFinancing_doc" xml:lang="en-US">Deferred cost of financing</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PaymentsOfNonControllingInterestExpense" xlink:to="TGLS_PaymentsOfNonControllingInterestExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_PaymentsOfNonControllingInterestExpense_doc" xml:lang="en-US">Payments of non controlling interest expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:to="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract_doc" xml:lang="en-US">Cash Paid During Period For Interest And Taxes [Abstract]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AccountPayableForBusinessAcquisition" xlink:to="TGLS_AccountPayableForBusinessAcquisition_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_AccountPayableForBusinessAcquisition_doc" xml:lang="en-US">Account payable for business acquisition.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_LegalReservesMember" xlink:to="TGLS_LegalReservesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_LegalReservesMember_doc" xml:lang="en-US">Legal Reserves [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContiglassAssetAcquisitionLLCMember" xlink:to="TGLS_ContiglassAssetAcquisitionLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ContiglassAssetAcquisitionLLCMember_doc" xml:lang="en-US">Contiglass Asset Acquisition LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_WorkingCapitalAdjustment" xlink:to="TGLS_WorkingCapitalAdjustment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_WorkingCapitalAdjustment_doc" xml:lang="en-US">Working capital adjustment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed contract backlog.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed notice of acceptance and permits.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed current liabilities accrued expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed service revenue deposit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed billings in excess of cost and profit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InventoryPackingMaterialGross" xlink:to="TGLS_InventoryPackingMaterialGross_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_InventoryPackingMaterialGross_doc" xml:lang="en-US">Reflects Gross amount, as of the balance sheet date of packing materials.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:to="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_doc" xml:lang="en-US">Schedule Of Revenues Distribution By End Market [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:to="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_doc" xml:lang="en-US">Schedule of changes in allowance for doubtful accounts receivable [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NetContractLiabilitiesAssets" xlink:to="TGLS_NetContractLiabilitiesAssets_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_NetContractLiabilitiesAssets_doc" xml:lang="en-US">Net contract liabilities assets.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BillingsInExcessOfCosts" xlink:to="TGLS_BillingsInExcessOfCosts_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BillingsInExcessOfCosts_doc" xml:lang="en-US">Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:to="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_doc" xml:lang="en-US">Notice Of Acceptances Product Designs And Intellectual Property [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SoftwareAndLicensesMember" xlink:to="TGLS_SoftwareAndLicensesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SoftwareAndLicensesMember_doc" xml:lang="en-US">Software And Licenses [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractBacklogMember" xlink:to="TGLS_ContractBacklogMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ContractBacklogMember_doc" xml:lang="en-US">Contract Backlog [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:to="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_doc" xml:lang="en-US">Finite lived intangible assets amortization expense after year four.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SupplierFinanceProgramMember" xlink:to="TGLS_SupplierFinanceProgramMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SupplierFinanceProgramMember_doc" xml:lang="en-US">Supplier Finance Program [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FinanceLeaseDebt" xlink:to="TGLS_FinanceLeaseDebt_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_FinanceLeaseDebt_doc" xml:lang="en-US">Finance lease debt.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SeniorSecuredCreditFacility" xlink:to="TGLS_SeniorSecuredCreditFacility_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SeniorSecuredCreditFacility_doc" xml:lang="en-US">Senior secured credit facility.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SeniorSecuredCreditFacilityMember" xlink:to="TGLS_SeniorSecuredCreditFacilityMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SeniorSecuredCreditFacilityMember_doc" xml:lang="en-US">Senior Secured Credit Facility [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ReclassifiedEarningsExpected" xlink:to="TGLS_ReclassifiedEarningsExpected_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ReclassifiedEarningsExpected_doc" xml:lang="en-US">Reclassified earnings expected.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AccumulatedOtherComprehensiveLossMember" xlink:to="TGLS_AccumulatedOtherComprehensiveLossMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_AccumulatedOtherComprehensiveLossMember_doc" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" xlink:to="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_doc" xml:lang="en-US">Schedule of fair value of foreign currency hedges [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestRateSwapContractsMember" xlink:to="TGLS_InterestRateSwapContractsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_InterestRateSwapContractsMember_doc" xml:lang="en-US">Interest Rate Swap Contracts [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:to="TGLS_ForeignCurrencyNonDeliveryForwardsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ForeignCurrencyNonDeliveryForwardsMember_doc" xml:lang="en-US">Foreign Currency Non Delivery Forwards [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:to="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_doc" xml:lang="en-US">Interest Rate Swap Contracts and Foreign Currency Non-delivery Forwards [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:to="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_doc" xml:lang="en-US">Derivative instruments gain loss reclassified from accumulated OCI into income effective portion.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PrismaGlassLLCMember" xlink:to="TGLS_PrismaGlassLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_PrismaGlassLLCMember_doc" xml:lang="en-US">Prisma Glass LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" xlink:to="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock_doc" xml:lang="en-US">Schedule Of Sale To Related Party [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AlutraficLedSASMember" xlink:to="TGLS_AlutraficLedSASMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_AlutraficLedSASMember_doc" xml:lang="en-US">Alutrafic Led SAS [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CashContributionsForSocialCauses" xlink:to="TGLS_CashContributionsForSocialCauses_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_CashContributionsForSocialCauses_doc" xml:lang="en-US">Cash contributions for social causes</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FundacionTecnoglassMember" xlink:to="TGLS_FundacionTecnoglassMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_FundacionTecnoglassMember_doc" xml:lang="en-US">Fundacion Tecnoglass-ESWindows [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PurchasePriceOfFuel" xlink:to="TGLS_PurchasePriceOfFuel_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_PurchasePriceOfFuel_doc" xml:lang="en-US">Purchase price of fuel.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CEOAndCOOMember" xlink:to="TGLS_CEOAndCOOMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_CEOAndCOOMember_doc" xml:lang="en-US">CEO and COO [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SantaMariaDelMarSASMember" xlink:to="TGLS_SantaMariaDelMarSASMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SantaMariaDelMarSASMember_doc" xml:lang="en-US">Santa Maria Del Mar SAS [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_StudioAvantiSASMember" xlink:to="TGLS_StudioAvantiSASMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_StudioAvantiSASMember_doc" xml:lang="en-US">Studio Avanti SAS [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_VidrioAndinoMember" xlink:to="TGLS_VidrioAndinoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_VidrioAndinoMember_doc" xml:lang="en-US">Vidrio Andino [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PremiumClosingStockPercentage" xlink:to="TGLS_PremiumClosingStockPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_PremiumClosingStockPercentage_doc" xml:lang="en-US">Premium closing stock, percent.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ExpectedOwnershipPercentage" xlink:to="TGLS_ExpectedOwnershipPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ExpectedOwnershipPercentage_doc" xml:lang="en-US">Expected ownership percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FutureAdditionalContributionAmount" xlink:to="TGLS_FutureAdditionalContributionAmount_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_FutureAdditionalContributionAmount_doc" xml:lang="en-US">Future additional contribution amount.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ZofracostaSAMember" xlink:to="TGLS_ZofracostaSAMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ZofracostaSAMember_doc" xml:lang="en-US">Zofracosta SA [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_QuarterlyRateMember" xlink:to="TGLS_QuarterlyRateMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_QuarterlyRateMember_doc" xml:lang="en-US">Quarterly Rate [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_AnnualBasisMember" xlink:to="TGLS_AnnualBasisMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_AnnualBasisMember_doc" xml:lang="en-US">Annual Basis [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_EffectOfDilutiveSecuritiesAndStockDividend" xlink:to="TGLS_EffectOfDilutiveSecuritiesAndStockDividend_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_EffectOfDilutiveSecuritiesAndStockDividend_doc" xml:lang="en-US">Effect of dilutive securities and stock dividend.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NovemberThirtyTwoThousandThirtyMember" xlink:to="TGLS_NovemberThirtyTwoThousandThirtyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_NovemberThirtyTwoThousandThirtyMember_doc" xml:lang="en-US">November 30, 2030 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ThroughTwoThousandTwentyEightMember" xlink:to="TGLS_ThroughTwoThousandTwentyEightMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ThroughTwoThousandTwentyEightMember_doc" xml:lang="en-US">Through 2028 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_SalesToOtherRelatedPartiesMember" xlink:to="TGLS_SalesToOtherRelatedPartiesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_SalesToOtherRelatedPartiesMember_doc" xml:lang="en-US">Sales To Other Related Parties [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_CommercialMember" xlink:to="TGLS_CommercialMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_CommercialMember_doc" xml:lang="en-US">Commercial [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ResidentialMember" xlink:to="TGLS_ResidentialMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ResidentialMember_doc" xml:lang="en-US">Residential [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ExternalCustomersMember" xlink:to="TGLS_ExternalCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ExternalCustomersMember_doc" xml:lang="en-US">External Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractAssetsMember" xlink:to="TGLS_ContractAssetsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ContractAssetsMember_doc" xml:lang="en-US">Contract Assets [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ContractLiabilitiesMember" xlink:to="TGLS_ContractLiabilitiesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ContractLiabilitiesMember_doc" xml:lang="en-US">Contract Liabilities [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_FixedPriceContractsMember" xlink:to="TGLS_FixedPriceContractsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_FixedPriceContractsMember_doc" xml:lang="en-US">Fixed Price Contracts [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ProductSalesMember" xlink:to="TGLS_ProductSalesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ProductSalesMember_doc" xml:lang="en-US">Product Sales [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_OtherMember" xlink:to="TGLS_OtherMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_OtherMember_doc" xml:lang="en-US">Due from Other Related Parties [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DueFromOtherRelatedPartiesMember" xlink:to="TGLS_DueFromOtherRelatedPartiesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_DueFromOtherRelatedPartiesMember_doc" xml:lang="en-US">Due from Other Related Parties [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_doc" xml:lang="en-US">Amount of lease liabilities assumed in business combination and recognized at acquisition date, classified as current.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:to="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_doc" xml:lang="en-US">Amount of accounts payable assumed in business combination and recognized at acquisition date, classified as current.</link:label>
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ProFormaAdjustmentsMember" xlink:label="TGLS_ProFormaAdjustmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_ProFormaAdjustmentsMember" xlink:to="TGLS_ProFormaAdjustmentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="TGLS_ProFormaAdjustmentsMember_doc" xml:lang="en-US">Pro Forma Adjustments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_DueFromOtherRelatedPartiesMember" xlink:to="TGLS_DueFromOtherRelatedPartiesMember_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_DueFromOtherRelatedPartiesMember_3_lbl" xml:lang="en-US">Due from Other Related Parties [Member] [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrent_2_lbl" xml:lang="en-US">Assets, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_2_lbl" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_2_lbl" xml:lang="en-US">Liabilities, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xml:lang="en-US">Cost of Product and Service Sold</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_2_lbl" xml:lang="en-US">Selling Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_2_lbl" xml:lang="en-US">General and Administrative Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:to="TGLS_InterestExpenseAndDeferredCostOfFinancing_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_InterestExpenseAndDeferredCostOfFinancing_3_lbl" xml:lang="en-US">InterestExpenseAndDeferredCostOfFinancing</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_2_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_2_lbl" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_3_lbl" xml:lang="en-US">Income (Loss) from Equity Method Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xml:lang="en-US">Gain (Loss) on Disposition of Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncashIncomeExpense_2_lbl" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_2_lbl" xml:lang="en-US">Unrealized Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Payable and Accrued Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:to="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities_2_lbl" xml:lang="en-US">Increase (Decrease) in Commodity Contract Assets and Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Cash Provided by (Used in) Operating Activity, Including Discontinued Operation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_2_lbl" xml:lang="en-US">Payments to Acquire Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Cash Provided by (Used in) Investing Activity, Including Discontinued Operation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_2_lbl" xml:lang="en-US">Payments of Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_PaymentsOfNonControllingInterestExpense" xlink:to="TGLS_PaymentsOfNonControllingInterestExpense_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_PaymentsOfNonControllingInterestExpense_3_lbl" xml:lang="en-US">PaymentsOfNonControllingInterestExpense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfEquity" xlink:to="us-gaap_PaymentsForRepurchaseOfEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfEquity_2_lbl" xml:lang="en-US">Payments for Repurchase of Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebt" xlink:to="us-gaap_RepaymentsOfDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfDebt_2_lbl" xml:lang="en-US">Repayments of Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Cash Provided by (Used in) Financing Activity, Including Discontinued Operation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStock_2_lbl" xml:lang="en-US">Dividends, Common Stock</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_2_lbl" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_2_lbl" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryIndName_2_lbl" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryIndName_2_lbl" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndName_2_lbl" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_2_lbl" xml:lang="en-US">Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2_lbl" xml:lang="en-US">Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_2_lbl" xml:lang="en-US">Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_2_lbl" xml:lang="en-US">Inventory, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_2_lbl" xml:lang="en-US">Inventory Valuation Reserves</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_2_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TGLS_NetContractLiabilitiesAssets" xlink:to="TGLS_NetContractLiabilitiesAssets_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="TGLS_NetContractLiabilitiesAssets_3_lbl" xml:lang="en-US">NetContractLiabilitiesAssets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetGrossCurrent" xlink:to="us-gaap_ContractWithCustomerAssetGrossCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetGrossCurrent_2_lbl" xml:lang="en-US">Contract with Customer, Asset, before Allowance for Credit Loss, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_2_lbl" xml:lang="en-US">Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCurrent" xlink:to="us-gaap_DeferredCostsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCostsCurrent_2_lbl" xml:lang="en-US">Deferred Costs, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentCarryingAmount_2_lbl" xml:lang="en-US">Long-Term Debt, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Remainder of Fiscal Year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_2_lbl" xml:lang="en-US">Investments [Default Label]</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>tgls-20250630_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 6.1a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Cover" roleURI="http://tecnoglass.com/role/Cover" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheets" roleURI="http://tecnoglass.com/role/BalanceSheets" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BalanceSheetsParenthetical" roleURI="http://tecnoglass.com/role/BalanceSheetsParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfOperationsAndOtherComprehensiveIncome" roleURI="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfCashFlows" roleURI="http://tecnoglass.com/role/StatementsOfCashFlows" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquity" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#StatementsOfShareholdersEquityParenthetical" roleURI="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#General" roleURI="http://tecnoglass.com/role/General" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Acquisitions" roleURI="http://tecnoglass.com/role/Acquisitions" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNet" roleURI="http://tecnoglass.com/role/InventoriesNet" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwill" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgram" roleURI="http://tecnoglass.com/role/SupplierFinanceProgram" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#Debt" roleURI="http://tecnoglass.com/role/Debt" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurements" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxes" roleURI="http://tecnoglass.com/role/IncomeTaxes" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedParties" roleURI="http://tecnoglass.com/role/RelatedParties" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquity" roleURI="http://tecnoglass.com/role/ShareholdersEquity" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingencies" roleURI="http://tecnoglass.com/role/CommitmentsAndContingencies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsTables" roleURI="http://tecnoglass.com/role/AcquisitionsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#InventoriesNetTables" roleURI="http://tecnoglass.com/role/InventoriesNetTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillTables" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtTables" roleURI="http://tecnoglass.com/role/DebtTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsTables" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesTables" roleURI="http://tecnoglass.com/role/IncomeTaxesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesTables" roleURI="http://tecnoglass.com/role/RelatedPartiesTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityTables" roleURI="http://tecnoglass.com/role/ShareholdersEquityTables" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" roleURI="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfUnauditedProFormaFinancialInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#AcquisitionsDetailsNarrative" roleURI="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfInventoriesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfDisaggregationByRevenueDetails" roleURI="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGeographicInformationDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRevenuesDistributionByEndMarketDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfTradeAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" roleURI="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFinite-livedIntangibleAssetsNetDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGoodwillDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IntangibleAssetsAndGoodwillDetailsNarrative" roleURI="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#SupplierFinanceProgramDetailsNarrative" roleURI="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfMaturitiesOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#DebtDetailsNarrative" roleURI="http://tecnoglass.com/role/DebtDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueOfForeignCurrencyHedgesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" roleURI="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#HedgingActivityAndFairValueMeasurementsDetailsNarrative" roleURI="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfComponentsOfIncomeTaxExpenseDetails" roleURI="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#IncomeTaxesDetailsNarrative" roleURI="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfSaleToRelatedPartiesDetails" roleURI="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#RelatedPartiesDetailsNarrative" roleURI="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ScheduleOfEarningsPerShareBasicAndDilutedDetails" roleURI="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#ShareholdersEquityDetailsNarrative" roleURI="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="tgls-20250630.xsd#CommitmentsAndContingenciesDetailsNarrative" roleURI="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#PvpDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ErrCompDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#AwardTimingDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
    <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#InsiderTradingPoliciesProc" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" />
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2025/dei-2025.xsd#dei_EntityListingParValuePerShare" xlink:label="loc_deiEntityListingParValuePerShare" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityListingParValuePerShare" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheets" xlink:title="00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonrelatedPartyMember" xlink:label="loc_us-gaapNonrelatedPartyMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapNonrelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapOtherReceivablesNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapOtherAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="loc_us-gaapAccountsReceivableNetNoncurrent" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetNoncurrent" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapLongTermInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsNoncurrentAbstract" xlink:to="loc_us-gaapAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtCurrent" xlink:label="loc_us-gaapDebtCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsPayableCurrent" xlink:label="loc_us-gaapDividendsPayableCurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDividendsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReserves" xlink:label="loc_TGLSLegalReserves" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_TGLSLegalReserves" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome" xlink:title="00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExternalCustomersMember" xlink:label="loc_TGLSExternalCustomersMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_TGLSExternalCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SellingExpense" xlink:label="loc_us-gaapSellingExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherOperatingIncomeLoss" xlink:label="loc_TGLSOtherOperatingIncomeLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_TGLSOtherOperatingIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NonoperatingGainsLosses" xlink:label="loc_us-gaapNonoperatingGainsLosses" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapNonoperatingGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EquityMethodIncome" xlink:label="loc_TGLSEquityMethodIncome" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_TGLSEquityMethodIncome" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestExpenseAndDeferredCostOfFinancing" xlink:label="loc_TGLSInterestExpenseAndDeferredCostOfFinancing" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_TGLSInterestExpenseAndDeferredCostOfFinancing" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCredits" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCredits" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaapIncomeLossFromEquityMethodInvestments" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncomeLossFromEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DeferredCostOfFinancing" xlink:label="loc_TGLSDeferredCostOfFinancing" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_TGLSDeferredCostOfFinancing" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="loc_us-gaapOtherNoncashIncomeExpense" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapOtherNoncashIncomeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossUnrealized" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossUnrealized" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInEmployeeRelatedLiabilities" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInCommodityContractAssetsAndLiabilities" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInCommodityContractAssetsAndLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncreaseDecreaseInDueToRelatedParties" xlink:label="loc_us-gaapIncreaseDecreaseInDueToRelatedParties" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDueToRelatedParties" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="loc_us-gaapProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PaymentsOfNonControllingInterestExpense" xlink:label="loc_TGLSPaymentsOfNonControllingInterestExpense" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_TGLSPaymentsOfNonControllingInterestExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="loc_us-gaapPaymentsForRepurchaseOfEquity" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsForRepurchaseOfEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfDebt" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RepaymentsOfDebt" xlink:label="loc_us-gaapRepaymentsOfDebt" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:label="loc_TGLSCashPaidDuringPeriodForInterestAndTaxesAbstract" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_TGLSCashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_TGLSCashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_TGLSCashPaidDuringPeriodForInterestAndTaxesAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueOfAssetsAcquired" xlink:label="loc_us-gaapFairValueOfAssetsAcquired" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_us-gaapFairValueOfAssetsAcquired" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AccountPayableForBusinessAcquisition" xlink:label="loc_TGLSAccountPayableForBusinessAcquisition" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_TGLSAccountPayableForBusinessAcquisition" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquity" xlink:title="00000006 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="80" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_LegalReservesMember" xlink:label="loc_TGLSLegalReservesMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_TGLSLegalReservesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapParentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DividendsCommonStock" xlink:label="loc_us-gaapDividendsCommonStock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividendsCommonStock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical" xlink:title="00000007 - Statement - Condensed Consolidated Statements of Shareholders&apos; Equity (Unaudited) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:title="995410 - Disclosure - Pay vs Performance Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PayVsPerformanceDisclosureLineItems" xlink:label="loc_ecdPayVsPerformanceDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PvpTable" xlink:label="loc_ecdPvpTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ExecutiveCategoryAxis" xlink:label="loc_ecdExecutiveCategoryAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdExecutiveCategoryAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllExecutiveCategoriesMember" xlink:label="loc_ecdAllExecutiveCategoriesMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdExecutiveCategoryAxis" xlink:to="loc_ecdAllExecutiveCategoriesMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToCompAxis" xlink:label="loc_ecdAdjToCompAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdAdjToCompAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllAdjToCompMember" xlink:label="loc_ecdAllAdjToCompMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAdjToCompAxis" xlink:to="loc_ecdAllAdjToCompMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MeasureAxis" xlink:label="loc_ecdMeasureAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdMeasureAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PvpTableTextBlock" xlink:label="loc_ecdPvpTableTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CoSelectedMeasureName" xlink:label="loc_ecdCoSelectedMeasureName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdCoSelectedMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="loc_ecdNamedExecutiveOfficersFnTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdNamedExecutiveOfficersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="loc_ecdPeerGroupIssuersFnTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeerGroupIssuersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="loc_ecdChangedPeerGroupFnTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdChangedPeerGroupFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoTotalCompAmt" xlink:label="loc_ecdPeoTotalCompAmt" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="loc_ecdPeoActuallyPaidCompAmt" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoActuallyPaidCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="loc_ecdAdjToPeoCompFnTextBlock" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdAdjToPeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="loc_ecdNonPeoNeoAvgTotalCompAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="loc_ecdAdjToNonPeoNeoCompFnTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdAdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:presentationArc order="2140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" />
      <link:presentationArc order="2150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" />
      <link:presentationArc order="2160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TabularListTableTextBlock" xlink:label="loc_ecdTabularListTableTextBlock" />
      <link:presentationArc order="2170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTabularListTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TotalShareholderRtnAmt" xlink:label="loc_ecdTotalShareholderRtnAmt" />
      <link:presentationArc order="2180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="loc_ecdPeerGroupTotalShareholderRtnAmt" />
      <link:presentationArc order="2190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdPeerGroupTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="2200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_CoSelectedMeasureAmt" xlink:label="loc_ecdCoSelectedMeasureAmt" />
      <link:presentationArc order="2210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdCoSelectedMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OtherPerfMeasureAmt" xlink:label="loc_ecdOtherPerfMeasureAmt" />
      <link:presentationArc order="2220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdOtherPerfMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AdjToCompAmt" xlink:label="loc_ecdAdjToCompAmt" />
      <link:presentationArc order="2230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdAdjToCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PeoName" xlink:label="loc_ecdPeoName" />
      <link:presentationArc order="2240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdPeoName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MeasureName" xlink:label="loc_ecdMeasureName" />
      <link:presentationArc order="2250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="loc_ecdNonGaapMeasureDescriptionTextBlock" />
      <link:presentationArc order="2260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdMeasureName" xlink:to="loc_ecdNonGaapMeasureDescriptionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="loc_ecdAdditional402vDisclosureTextBlock" />
      <link:presentationArc order="2270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdAdditional402vDisclosureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="loc_ecdPnsnBnftsAdjFnTextBlock" />
      <link:presentationArc order="2280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPnsnBnftsAdjFnTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:title="995440 - Disclosure - Recovery of Erroneously Awarded Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RecoveryOfErrCompDisclosureLineItems" xlink:label="loc_ecdRecoveryOfErrCompDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ErrCompRecoveryTable" xlink:label="loc_ecdErrCompRecoveryTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdErrCompRecoveryTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDateAxis" xlink:label="loc_ecdRestatementDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdRestatementDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDeterminationDate" xlink:label="loc_ecdRestatementDeterminationDate" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdRestatementDeterminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AggtErrCompAmt" xlink:label="loc_ecdAggtErrCompAmt" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="loc_ecdErrCompAnalysisTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdErrCompAnalysisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="loc_ecdOutstandingAggtErrCompAmt" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdOutstandingAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="loc_ecdAggtErrCompNotYetDeterminedTextBlock" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdAggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryIndName" xlink:label="loc_ecdForgoneRecoveryIndName" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingRecoveryIndName" xlink:label="loc_ecdOutstandingRecoveryIndName" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="loc_ecdOutstandingRecoveryCompAmt" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:title="995443 - Disclosure - Award Timing Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgDiscLineItems" xlink:label="loc_ecdAwardTmgDiscLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="loc_ecdAwardsCloseToMnpiDiscTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_ecdIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="loc_ecdAwardTmgMnpiDiscTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiDiscTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="loc_ecdAwardTmgMethodTextBlock" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="loc_ecdAwardTmgPredtrmndFlag" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgPredtrmndFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="loc_ecdAwardTmgMnpiCnsdrdFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiCnsdrdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="loc_ecdMnpiDiscTimedForCompValFlag" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdMnpiDiscTimedForCompValFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="loc_ecdAwardsCloseToMnpiDiscIndName" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="loc_ecdAwardUndrlygSecuritiesAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardUndrlygSecuritiesAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardExrcPrice" xlink:label="loc_ecdAwardExrcPrice" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardExrcPrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AwardGrantDateFairValue" xlink:label="loc_ecdAwardGrantDateFairValue" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="loc_ecdUndrlygSecurityMktPriceChngPct" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdUndrlygSecurityMktPriceChngPct" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arrangements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TradingArrByIndTable" xlink:label="loc_ecdTradingArrByIndTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTradingArrByIndTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TradingArrAxis" xlink:label="loc_ecdTradingArrAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrByIndTable" xlink:to="loc_ecdTradingArrAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllTradingArrangementsMember" xlink:label="loc_ecdAllTradingArrangementsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrAxis" xlink:to="loc_ecdAllTradingArrangementsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrByIndTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdMtrlTermsOfTrdArrTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrIndName" xlink:label="loc_ecdTrdArrIndName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrIndTitle" xlink:label="loc_ecdTrdArrIndTitle" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrAdoptionDate" xlink:label="loc_ecdTrdArrAdoptionDate" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrAdoptionDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrTerminationDate" xlink:label="loc_ecdTrdArrTerminationDate" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrTerminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrExpirationDate" xlink:label="loc_ecdTrdArrExpirationDate" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrExpirationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_TrdArrDuration" xlink:label="loc_ecdTrdArrDuration" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrDuration" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:title="995447 - Disclosure - Insider Trading Policies and Procedures">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="loc_ecdInsiderTradingPoliciesProcLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/General" xlink:title="999013 - Disclosure - General">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" xlink:title="999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Acquisitions" xlink:title="999015 - Disclosure - Acquisitions">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaapBusinessCombinationDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNet" xlink:title="999016 - Disclosure - Inventories, net">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities" xlink:title="999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwill" xlink:title="999018 - Disclosure - Intangible Assets and Goodwill">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgram" xlink:title="999019 - Disclosure - Supplier Finance Program">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SupplierFinanceProgramTextBlock" xlink:label="loc_us-gaapSupplierFinanceProgramTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapSupplierFinanceProgramTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/Debt" xlink:title="999020 - Disclosure - Debt">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaapDebtDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapDebtDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements" xlink:title="999021 - Disclosure - Hedging Activity and Fair Value Measurements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxes" xlink:title="999022 - Disclosure - Income Taxes">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedParties" xlink:title="999023 - Disclosure - Related Parties">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquity" xlink:title="999024 - Disclosure - Shareholders&#8217; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingencies" xlink:title="999025 - Disclosure - Commitments and Contingencies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConsolidationPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="loc_us-gaapDerivativesPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapDerivativesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsTables" xlink:title="999027 - Disclosure - Acquisitions (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="loc_us-gaapBusinessAcquisitionProFormaInformationTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/InventoriesNetTables" xlink:title="999028 - Disclosure - Inventories, net (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables" xlink:title="999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueByLiabilityClassAxis" xlink:label="loc_us-gaapFairValueByLiabilityClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:to="loc_us-gaapFairValueByLiabilityClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:label="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByLiabilityClassAxis" xlink:to="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractAssetsMember" xlink:label="loc_TGLSContractAssetsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="loc_TGLSContractAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractLiabilitiesMember" xlink:label="loc_TGLSContractLiabilitiesMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain" xlink:to="loc_TGLSContractLiabilitiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:label="loc_TGLSScheduleOfRevenuesDistributionByEndMarketTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_TGLSScheduleOfRevenuesDistributionByEndMarketTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:label="loc_TGLSScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_TGLSScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables" xlink:title="999030 - Disclosure - Intangible Assets and Goodwill (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationSegmentAllocationTableTextBlock" xlink:label="loc_us-gaapBusinessCombinationSegmentAllocationTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapBusinessCombinationSegmentAllocationTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtTables" xlink:title="999031 - Disclosure - Debt (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfDebtTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables" xlink:title="999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" xlink:label="loc_TGLSScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_TGLSScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaapScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesTables" xlink:title="999033 - Disclosure - Income Taxes (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesTables" xlink:title="999034 - Disclosure - Related Parties (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock" xlink:label="loc_TGLSScheduleOfSaleToRelatedPartyTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_TGLSScheduleOfSaleToRelatedPartyTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityTables" xlink:title="999035 - Disclosure - Shareholders&#8217; Equity (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails" xlink:title="999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:label="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_TGLSBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails" xlink:title="999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProFormaMember" xlink:label="loc_srtProFormaMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_srtProFormaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="loc_us-gaapBusinessAcquisitionsProFormaRevenue" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBusinessAcquisitionsProFormaRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="loc_us-gaapBusinessAcquisitionsProFormaNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/AcquisitionsDetailsNarrative" xlink:title="999038 - Disclosure - Acquisitions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaapBusinessAcquisitionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContiglassAssetAcquisitionLLCMember" xlink:label="loc_TGLSContiglassAssetAcquisitionLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_TGLSContiglassAssetAcquisitionLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationPriceOfAcquisitionExpected" xlink:label="loc_us-gaapBusinessCombinationPriceOfAcquisitionExpected" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessCombinationPriceOfAcquisitionExpected" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:label="loc_us-gaapBusinessAcquisitionCostOfAcquiredEntityTransactionCosts" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessAcquisitionCostOfAcquiredEntityTransactionCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_WorkingCapitalAdjustment" xlink:label="loc_TGLSWorkingCapitalAdjustment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_TGLSWorkingCapitalAdjustment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfInventoriesDetails" xlink:title="999039 - Disclosure - Schedule of Inventories (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherInventoriesSpareParts" xlink:label="loc_us-gaapOtherInventoriesSpareParts" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapOtherInventoriesSpareParts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InventoryPackingMaterialGross" xlink:label="loc_TGLSInventoryPackingMaterialGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_TGLSInventoryPackingMaterialGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails" xlink:title="999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FixedPriceContractsMember" xlink:label="loc_TGLSFixedPriceContractsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSFixedPriceContractsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ProductSalesMember" xlink:label="loc_TGLSProductSalesMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSProductSalesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails" xlink:title="999041 - Disclosure - Schedule of Geographic Information (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CO" xlink:label="loc_countryCO" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCO" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_PA" xlink:label="loc_countryPA" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryPA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_OtherMember" xlink:label="loc_TGLSOtherMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_TGLSOtherMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails" xlink:title="999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ResidentialMember" xlink:label="loc_TGLSResidentialMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSResidentialMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CommercialMember" xlink:label="loc_TGLSCommercialMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_TGLSCommercialMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails" xlink:title="999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails" xlink:title="999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetNoncurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NetContractLiabilitiesAssets" xlink:label="loc_TGLSNetContractLiabilitiesAssets" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_TGLSNetContractLiabilitiesAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaapUnbilledReceivablesCurrent" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapUnbilledReceivablesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ConstructionContractorReceivableRetainage" xlink:label="loc_us-gaapConstructionContractorReceivableRetainage" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapConstructionContractorReceivableRetainage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerAssetGrossCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetGrossCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetGrossCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_BillingsInExcessOfCosts" xlink:label="loc_TGLSBillingsInExcessOfCosts" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_TGLSBillingsInExcessOfCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:label="loc_us-gaapProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityNoncurrent_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityNoncurrent_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative" xlink:title="999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioForecastMember" xlink:label="loc_srtScenarioForecastMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_srtScenarioForecastMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationPercentage" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails" xlink:title="999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TradeNamesMember" xlink:label="loc_us-gaapTradeNamesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapTradeNamesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SoftwareAndLicensesMember" xlink:label="loc_TGLSSoftwareAndLicensesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSSoftwareAndLicensesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:label="loc_TGLSNoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSNoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ContractBacklogMember" xlink:label="loc_TGLSContractBacklogMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_TGLSContractBacklogMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails" xlink:title="999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:label="loc_TGLSFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_TGLSFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGoodwillDetails" xlink:title="999049 - Disclosure - Schedule of Goodwill (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaapGoodwillAcquiredDuringPeriod" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAcquiredDuringPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative" xlink:title="999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaapAcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative" xlink:title="999051 - Disclosure - Supplier Finance Program (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:label="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:label="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="loc_us-gaapFinancialInstrumentAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SupplierFinanceProgramMember" xlink:label="loc_TGLSSupplierFinanceProgramMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_TGLSSupplierFinanceProgramMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ProgramRightsObligationsCurrent" xlink:label="loc_us-gaapProgramRightsObligationsCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapProgramRightsObligationsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999052 - Disclosure - Schedule of Long Term Debt (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FinanceLeaseDebt" xlink:label="loc_TGLSFinanceLeaseDebt" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_TGLSFinanceLeaseDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapOtherLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacility" xlink:label="loc_TGLSSeniorSecuredCreditFacility" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_TGLSSeniorSecuredCreditFacility" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredCostsCurrent" xlink:label="loc_us-gaapDeferredCostsCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapDeferredCostsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaapDebtInstrumentCarryingAmount" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapDebtInstrumentCarryingAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails" xlink:title="999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/DebtDetailsNarrative" xlink:title="999054 - Disclosure - Debt (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SeniorSecuredCreditFacilityMember" xlink:label="loc_TGLSSeniorSecuredCreditFacilityMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_TGLSSeniorSecuredCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCredit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LineOfCreditFacilityInterestRateDuringPeriod" xlink:label="loc_us-gaapLineOfCreditFacilityInterestRateDuringPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityInterestRateDuringPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtInstrumentMaturityDateDescription" xlink:label="loc_us-gaapDebtInstrumentMaturityDateDescription" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentMaturityDateDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaapDebtWeightedAverageInterestRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtWeightedAverageInterestRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails" xlink:title="999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsMember" xlink:label="loc_TGLSInterestRateSwapContractsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSInterestRateSwapContractsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSForeignCurrencyNonDeliveryForwardsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSForeignCurrencyNonDeliveryForwardsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherCurrentAssetsMember" xlink:label="loc_us-gaapOtherCurrentAssetsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_us-gaapOtherCurrentAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="loc_us-gaapAccruedLiabilitiesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_us-gaapAccruedLiabilitiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedges" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedges" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedges" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgesLiabilities" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedgesLiabilities" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails" xlink:title="999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSInterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSInterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaapDerivativeGainLossOnDerivativeNet" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeGainLossOnDerivativeNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:label="loc_TGLSDerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_TGLSDerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails" xlink:title="999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtFairValue" xlink:label="loc_us-gaapLongTermDebtFairValue" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative" xlink:title="999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaapDerivativeInstrumentsGainLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentsGainLossLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="loc_us-gaapDerivativeInstrumentRiskAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapDerivativeInstrumentRiskAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="loc_us-gaapDerivativeContractTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentRiskAxis" xlink:to="loc_us-gaapDerivativeContractTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestRateSwapMember" xlink:label="loc_us-gaapInterestRateSwapMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_us-gaapInterestRateSwapMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ForeignCurrencyNonDeliveryForwardsMember" xlink:label="loc_TGLSForeignCurrencyNonDeliveryForwardsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeContractTypeDomain" xlink:to="loc_TGLSForeignCurrencyNonDeliveryForwardsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaapBalanceSheetLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="loc_us-gaapBalanceSheetLocationAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaapBalanceSheetLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationAxis" xlink:to="loc_us-gaapBalanceSheetLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AccumulatedOtherComprehensiveLossMember" xlink:label="loc_TGLSAccumulatedOtherComprehensiveLossMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetLocationDomain" xlink:to="loc_TGLSAccumulatedOtherComprehensiveLossMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="loc_us-gaapDerivativeFixedInterestRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeFixedInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaapDerivativeAssets" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_InterestEarningAssetsAverageAmountOutstanding" xlink:label="loc_us-gaapInterestEarningAssetsAverageAmountOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapInterestEarningAssetsAverageAmountOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermDebtAverageAmountOutstanding" xlink:label="loc_us-gaapLongTermDebtAverageAmountOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapLongTermDebtAverageAmountOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ReclassifiedEarningsExpected" xlink:label="loc_TGLSReclassifiedEarningsExpected" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_TGLSReclassifiedEarningsExpected" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativeInstrumentsAndHedges" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedges" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedges" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" xlink:label="loc_us-gaapDerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentsGainLossLineItems" xlink:to="loc_us-gaapDerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails" xlink:title="999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_CO" xlink:label="loc_countryCO" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCO" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2025/country-2025.xsd#country_PA" xlink:label="loc_countryPA" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryPA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/IncomeTaxesDetailsNarrative" xlink:title="999060 - Disclosure - Income Taxes (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails" xlink:title="999061 - Disclosure - Schedule of Related Parties (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FundacionTecnoglassMember" xlink:label="loc_TGLSFundacionTecnoglassMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSFundacionTecnoglassMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_DueFromOtherRelatedPartiesMember" xlink:label="loc_TGLSDueFromOtherRelatedPartiesMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSDueFromOtherRelatedPartiesMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_VidrioAndinoMember" xlink:label="loc_TGLSVidrioAndinoMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSVidrioAndinoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherReceivablesNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="loc_us-gaapOtherLiabilitiesCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails" xlink:title="999062 - Disclosure - Schedule of Sale to Related Parties (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SalesToOtherRelatedPartiesMember" xlink:label="loc_TGLSSalesToOtherRelatedPartiesMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSSalesToOtherRelatedPartiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/RelatedPartiesDetailsNarrative" xlink:title="999063 - Disclosure - Related Parties (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="loc_us-gaapRelatedPartyTransactionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AlutraficLedSASMember" xlink:label="loc_TGLSAlutraficLedSASMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSAlutraficLedSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FundacionTecnoglassMember" xlink:label="loc_TGLSFundacionTecnoglassMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSFundacionTecnoglassMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PrismaGlassLLCMember" xlink:label="loc_TGLSPrismaGlassLLCMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSPrismaGlassLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_SantaMariaDelMarSASMember" xlink:label="loc_TGLSSantaMariaDelMarSASMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSSantaMariaDelMarSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_StudioAvantiSASMember" xlink:label="loc_TGLSStudioAvantiSASMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSStudioAvantiSASMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ZofracostaSAMember" xlink:label="loc_TGLSZofracostaSAMember" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_TGLSZofracostaSAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_RelatedPartyMember" xlink:label="loc_us-gaapRelatedPartyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_us-gaapRelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_srtTitleOfIndividualAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CEOAndCOOMember" xlink:label="loc_TGLSCEOAndCOOMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_TGLSCEOAndCOOMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="loc_srtOwnershipAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_VidrioAndinoMember" xlink:label="loc_TGLSVidrioAndinoMember" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_TGLSVidrioAndinoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_CashContributionsForSocialCauses" xlink:label="loc_TGLSCashContributionsForSocialCauses" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSCashContributionsForSocialCauses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="loc_us-gaapOtherReceivablesNetCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapOtherReceivablesNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PurchasePriceOfFuel" xlink:label="loc_TGLSPurchasePriceOfFuel" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSPurchasePriceOfFuel" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireLandHeldForUse" xlink:label="loc_us-gaapPaymentsToAcquireLandHeldForUse" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireLandHeldForUse" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesGross" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="loc_us-gaapSharesIssuedPricePerShare" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapSharesIssuedPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_PremiumClosingStockPercentage" xlink:label="loc_TGLSPremiumClosingStockPercentage" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSPremiumClosingStockPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ExpectedOwnershipPercentage" xlink:label="loc_TGLSExpectedOwnershipPercentage" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSExpectedOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_FutureAdditionalContributionAmount" xlink:label="loc_TGLSFutureAdditionalContributionAmount" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_TGLSFutureAdditionalContributionAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_PaymentsToAcquireProductiveAssets" xlink:label="loc_us-gaapPaymentsToAcquireProductiveAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapPaymentsToAcquireProductiveAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaapIncomeLossFromEquityMethodInvestments" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapIncomeLossFromEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:title="999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_EffectOfDilutiveSecuritiesAndStockDividend" xlink:label="loc_TGLSEffectOfDilutiveSecuritiesAndStockDividend" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_TGLSEffectOfDilutiveSecuritiesAndStockDividend" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative" xlink:title="999065 - Disclosure - Shareholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_QuarterlyRateMember" xlink:label="loc_TGLSQuarterlyRateMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSQuarterlyRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_AnnualBasisMember" xlink:label="loc_TGLSAnnualBasisMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_TGLSAnnualBasisMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="999066 - Disclosure - Commitments and Contingencies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesTable" xlink:label="loc_us-gaapLossContingenciesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLossContingenciesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LossContingenciesLineItems" xlink:label="loc_us-gaapLossContingenciesLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLossContingenciesTable" xlink:to="loc_us-gaapLossContingenciesLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLossContingenciesTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLossContingenciesTable" xlink:to="loc_srtStatementScenarioAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_NovemberThirtyTwoThousandThirtyMember" xlink:label="loc_TGLSNovemberThirtyTwoThousandThirtyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_TGLSNovemberThirtyTwoThousandThirtyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="tgls-20250630.xsd#TGLS_ThroughTwoThousandTwentyEightMember" xlink:label="loc_TGLSThroughTwoThousandTwentyEightMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_TGLSThroughTwoThousandTwentyEightMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd#us-gaap_LongTermPurchaseCommitmentAmount" xlink:label="loc_us-gaapLongTermPurchaseCommitmentAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLossContingenciesLineItems" xlink:to="loc_us-gaapLongTermPurchaseCommitmentAmount" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - $ / shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Aug. 01, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-35436<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TECNOGLASS
INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001534675<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">98-1271120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">E9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">3550
NW 49th Street<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Miami<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">FL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">US<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">33142<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CountryRegion', window );">Country Region</a></td>
<td class="text">+1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">305<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">638 5151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Ordinary
    Shares<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TGLS<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,987,148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityListingParValuePerShare', window );">Entity Listing, Par Value Per Share</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CountryRegion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Region code of country</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CountryRegion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country code.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCountry</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:countryCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityListingParValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The par value per share of security quoted in same currency as Trading currency. Example: '0.01'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityListingParValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 137,907<span></span>
</td>
<td class="nump">$ 134,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Investments</a></td>
<td class="nump">2,947<span></span>
</td>
<td class="nump">2,645<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade accounts receivable, net</a></td>
<td class="nump">227,589<span></span>
</td>
<td class="nump">202,915<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">176,521<span></span>
</td>
<td class="nump">139,642<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets &#8211; current portion</a></td>
<td class="nump">30,768<span></span>
</td>
<td class="nump">22,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">60,322<span></span>
</td>
<td class="nump">54,332<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">639,399<span></span>
</td>
<td class="nump">560,010<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrentAbstract', window );"><strong>Long-term assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">421,954<span></span>
</td>
<td class="nump">344,433<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetNoncurrent', window );">Long-term account receivables</a></td>
<td class="nump">1,597<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">475<span></span>
</td>
<td class="nump">285<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetNoncurrent', window );">Contract assets &#8211; non-current</a></td>
<td class="nump">12,405<span></span>
</td>
<td class="nump">15,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets</a></td>
<td class="nump">12,775<span></span>
</td>
<td class="nump">4,389<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">30,178<span></span>
</td>
<td class="nump">23,561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">56,635<span></span>
</td>
<td class="nump">63,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other long-term assets</a></td>
<td class="nump">5,791<span></span>
</td>
<td class="nump">5,498<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total long-term assets</a></td>
<td class="nump">541,810<span></span>
</td>
<td class="nump">456,638<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,181,209<span></span>
</td>
<td class="nump">1,016,648<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtCurrent', window );">Short-term debt and current portion of long-term debt</a></td>
<td class="nump">587<span></span>
</td>
<td class="nump">1,087<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">138,608<span></span>
</td>
<td class="nump">98,843<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable</a></td>
<td class="nump">7,068<span></span>
</td>
<td class="nump">7,074<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liability &#8211; current portion</a></td>
<td class="nump">128,306<span></span>
</td>
<td class="nump">97,979<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">320,481<span></span>
</td>
<td class="nump">265,826<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Long-term liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">15,945<span></span>
</td>
<td class="nump">11,419<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Contract liability &#8211; non-current</a></td>
<td class="nump">140<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">108,642<span></span>
</td>
<td class="nump">108,220<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total long-term liabilities</a></td>
<td class="nump">124,727<span></span>
</td>
<td class="nump">119,639<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">445,208<span></span>
</td>
<td class="nump">385,465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>SHAREHOLDERS&#8217; EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred shares, $0.0001 par value, 1,000,000 shares authorized, 0 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Ordinary shares, $0.0001 par value, 100,000,000 shares authorized, 46,987,148 and 46,991,558 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_LegalReserves', window );">Legal Reserves</a></td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">191,755<span></span>
</td>
<td class="nump">192,094<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">610,960<span></span>
</td>
<td class="nump">538,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(68,177)<span></span>
</td>
<td class="num">(101,161)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">736,001<span></span>
</td>
<td class="nump">631,183<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders&#8217; equity</a></td>
<td class="nump">1,181,209<span></span>
</td>
<td class="nump">1,016,648<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Due from related parties</a></td>
<td class="nump">3,345<span></span>
</td>
<td class="nump">2,674<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">9,714<span></span>
</td>
<td class="nump">9,864<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_NonrelatedPartyMember', window );">Nonrelated Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">$ 36,198<span></span>
</td>
<td class="nump">$ 50,979<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_LegalReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Legal reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_LegalReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480870/815-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 64<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481620/480-10-55-64<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 19: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 35: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (01)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478064/805-740-55-13<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 39<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-39<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 64<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481620/480-10-55-64<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 31: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (01)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 16: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_NonrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_NonrelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred shares, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred shares, shares authorized</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred shares, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred shares, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Ordinary shares, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Ordinary shares, shares authorized</a></td>
<td class="nump">100,000,000<span></span>
</td>
<td class="nump">100,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ordinary shares, shares issued</a></td>
<td class="nump">46,987,148<span></span>
</td>
<td class="nump">46,991,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Ordinary shares, shares outstanding</a></td>
<td class="nump">46,987,148<span></span>
</td>
<td class="nump">46,991,558<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total operating revenues</a></td>
<td class="nump">$ 255,546<span></span>
</td>
<td class="nump">$ 219,654<span></span>
</td>
<td class="nump">$ 477,834<span></span>
</td>
<td class="nump">$ 412,281<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="num">(141,211)<span></span>
</td>
<td class="num">(130,077)<span></span>
</td>
<td class="num">(265,974)<span></span>
</td>
<td class="num">(248,044)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">114,335<span></span>
</td>
<td class="nump">89,577<span></span>
</td>
<td class="nump">211,860<span></span>
</td>
<td class="nump">164,237<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expense</a></td>
<td class="num">(29,730)<span></span>
</td>
<td class="num">(20,000)<span></span>
</td>
<td class="num">(53,347)<span></span>
</td>
<td class="num">(37,583)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expense</a></td>
<td class="num">(23,405)<span></span>
</td>
<td class="num">(18,443)<span></span>
</td>
<td class="num">(42,260)<span></span>
</td>
<td class="num">(34,498)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="num">(53,135)<span></span>
</td>
<td class="num">(38,443)<span></span>
</td>
<td class="num">(95,607)<span></span>
</td>
<td class="num">(72,081)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_OtherOperatingIncomeLoss', window );">Other Operating income</a></td>
<td class="nump">4<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">4,280<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">61,204<span></span>
</td>
<td class="nump">51,134<span></span>
</td>
<td class="nump">120,533<span></span>
</td>
<td class="nump">92,156<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingGainsLosses', window );">Non-operating income, net</a></td>
<td class="nump">588<span></span>
</td>
<td class="nump">2,731<span></span>
</td>
<td class="nump">1,604<span></span>
</td>
<td class="nump">3,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_EquityMethodIncome', window );">Equity method income</a></td>
<td class="nump">942<span></span>
</td>
<td class="nump">1,237<span></span>
</td>
<td class="nump">2,286<span></span>
</td>
<td class="nump">2,283<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign currency transactions (loss) gains</a></td>
<td class="nump">847<span></span>
</td>
<td class="num">(5,575)<span></span>
</td>
<td class="nump">338<span></span>
</td>
<td class="num">(5,728)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_InterestExpenseAndDeferredCostOfFinancing', window );">Interest expense and deferred cost of financing</a></td>
<td class="num">(1,350)<span></span>
</td>
<td class="num">(2,006)<span></span>
</td>
<td class="num">(2,681)<span></span>
</td>
<td class="num">(4,112)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before taxes</a></td>
<td class="nump">62,231<span></span>
</td>
<td class="nump">47,521<span></span>
</td>
<td class="nump">122,080<span></span>
</td>
<td class="nump">88,410<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="num">(18,148)<span></span>
</td>
<td class="num">(12,493)<span></span>
</td>
<td class="num">(35,808)<span></span>
</td>
<td class="num">(23,652)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 44,083<span></span>
</td>
<td class="nump">$ 35,028<span></span>
</td>
<td class="nump">$ 86,272<span></span>
</td>
<td class="nump">$ 64,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic income per share</a></td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="nump">$ 1.84<span></span>
</td>
<td class="nump">$ 1.38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted income per share</a></td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="nump">$ 1.84<span></span>
</td>
<td class="nump">$ 1.38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average common shares outstanding</a></td>
<td class="nump">46,988,155<span></span>
</td>
<td class="nump">46,996,705<span></span>
</td>
<td class="nump">46,989,650<span></span>
</td>
<td class="nump">46,996,706<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average common shares outstanding</a></td>
<td class="nump">46,988,155<span></span>
</td>
<td class="nump">46,996,705<span></span>
</td>
<td class="nump">46,989,650<span></span>
</td>
<td class="nump">46,996,706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Other comprehensive income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="nump">$ 13,260<span></span>
</td>
<td class="num">$ (28,321)<span></span>
</td>
<td class="nump">$ 32,836<span></span>
</td>
<td class="num">$ (28,291)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivative contracts</a></td>
<td class="nump">785<span></span>
</td>
<td class="num">(342)<span></span>
</td>
<td class="nump">148<span></span>
</td>
<td class="nump">694<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income</a></td>
<td class="nump">14,045<span></span>
</td>
<td class="num">(28,663)<span></span>
</td>
<td class="nump">32,984<span></span>
</td>
<td class="num">(27,597)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">58,128<span></span>
</td>
<td class="nump">6,365<span></span>
</td>
<td class="nump">119,256<span></span>
</td>
<td class="nump">37,161<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=TGLS_ExternalCustomersMember', window );">External Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total operating revenues</a></td>
<td class="nump">254,145<span></span>
</td>
<td class="nump">218,928<span></span>
</td>
<td class="nump">475,417<span></span>
</td>
<td class="nump">411,017<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total operating revenues</a></td>
<td class="nump">$ 1,401<span></span>
</td>
<td class="nump">$ 726<span></span>
</td>
<td class="nump">$ 2,417<span></span>
</td>
<td class="nump">$ 1,264<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_EquityMethodIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity method income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_EquityMethodIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_InterestExpenseAndDeferredCostOfFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Interest expense and deferred cost of financing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_InterestExpenseAndDeferredCostOfFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_OtherOperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other operating income loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_OtherOperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481839/830-10-45-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 16: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of gains or losses resulting from nonoperating activities (for example, interest and dividend revenue, property, plant and equipment impairment loss, and so forth).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-25<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-19<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-12<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 35<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-35<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=TGLS_ExternalCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=TGLS_ExternalCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>CASH FLOWS FROM OPERATING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 86,272<span></span>
</td>
<td class="nump">$ 64,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">987<span></span>
</td>
<td class="nump">275<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">16,479<span></span>
</td>
<td class="nump">12,788<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="nump">2,002<span></span>
</td>
<td class="nump">1,456<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity method income</a></td>
<td class="num">(2,286)<span></span>
</td>
<td class="num">(2,283)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Gain on disposal of assets</a></td>
<td class="num">(4,254)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_DeferredCostOfFinancing', window );">Deferred cost of financing</a></td>
<td class="nump">556<span></span>
</td>
<td class="nump">640<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other non-cash adjustments</a></td>
<td class="nump">391<span></span>
</td>
<td class="nump">32<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossUnrealized', window );">Unrealized currency translation loss</a></td>
<td class="num">(8,718)<span></span>
</td>
<td class="nump">741<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade accounts receivable</a></td>
<td class="num">(20,376)<span></span>
</td>
<td class="num">(5,913)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(23,996)<span></span>
</td>
<td class="nump">14,395<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses</a></td>
<td class="num">(2,529)<span></span>
</td>
<td class="num">(1,743)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(3,248)<span></span>
</td>
<td class="nump">8,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">21,802<span></span>
</td>
<td class="nump">12,695<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Taxes payable</a></td>
<td class="num">(18,513)<span></span>
</td>
<td class="num">(36,961)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Labor liabilities</a></td>
<td class="nump">87<span></span>
</td>
<td class="num">(121)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities', window );">Contract assets and liabilities</a></td>
<td class="nump">21,387<span></span>
</td>
<td class="num">(3,192)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedParties', window );">Related parties</a></td>
<td class="num">(1,298)<span></span>
</td>
<td class="nump">1,509<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">CASH PROVIDED BY OPERATING ACTIVITIES</a></td>
<td class="nump">64,760<span></span>
</td>
<td class="nump">67,945<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>CASH FLOWS FROM INVESTING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchase of investments</a></td>
<td class="num">(73)<span></span>
</td>
<td class="num">(317)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Business acquisition</a></td>
<td class="num">(6,841)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital', window );">Dividends received</a></td>
<td class="nump">8,914<span></span>
</td>
<td class="nump">2,703<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Sale of property and equipment</a></td>
<td class="nump">12,312<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Acquisition of property and equipment</a></td>
<td class="num">(62,939)<span></span>
</td>
<td class="num">(30,188)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">CASH USED IN INVESTING ACTIVITIES</a></td>
<td class="num">(48,627)<span></span>
</td>
<td class="num">(27,802)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>CASH FLOWS FROM FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Cash dividend</a></td>
<td class="num">(14,095)<span></span>
</td>
<td class="num">(9,407)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_PaymentsOfNonControllingInterestExpense', window );">Non-controlling interest purchase</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(2,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfEquity', window );">Stock buyback</a></td>
<td class="num">(339)<span></span>
</td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from debt</a></td>
<td class="nump">3,613<span></span>
</td>
<td class="nump">2,571<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebt', window );">Repayments of debt</a></td>
<td class="num">(4,103)<span></span>
</td>
<td class="num">(30,986)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">CASH USED IN FINANCING ACTIVITIES</a></td>
<td class="num">(14,924)<span></span>
</td>
<td class="num">(40,327)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">1,816<span></span>
</td>
<td class="num">(2,519)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS</a></td>
<td class="nump">3,025<span></span>
</td>
<td class="num">(2,703)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">CASH AND CASH EQUIVALENTS - Beginning of period</a></td>
<td class="nump">134,882<span></span>
</td>
<td class="nump">129,508<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">CASH AND CASH EQUIVALENTS - End of period</a></td>
<td class="nump">137,907<span></span>
</td>
<td class="nump">126,805<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest</a></td>
<td class="nump">3,343<span></span>
</td>
<td class="nump">5,559<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income Tax</a></td>
<td class="nump">47,360<span></span>
</td>
<td class="nump">59,607<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>NON-CASH INVESTING AND FINANCING ACTIVITIES:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfAssetsAcquired', window );">Assets acquired under credit or debt</a></td>
<td class="nump">7,663<span></span>
</td>
<td class="nump">4,572<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_AccountPayableForBusinessAcquisition', window );">Account payable for business acquisition</a></td>
<td class="nump">$ 3,588<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_AccountPayableForBusinessAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Account payable for business acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_AccountPayableForBusinessAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_DeferredCostOfFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred cost of financing</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_DeferredCostOfFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_PaymentsOfNonControllingInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments of non controlling interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_PaymentsOfNonControllingInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfAssetsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value of assets acquired in noncash investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfAssetsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossUnrealized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481956/830-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481926/830-20-50-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossUnrealized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the assets (liabilities) created through trading commodity-based derivative instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueToRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families; affiliates; or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for short-term and long-term debt. Excludes payment of lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Legal Reserves [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Parent [Member]</div></th>
<th class="th"><div>Noncontrolling Interest [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2023</a></td>
<td class="nump">46,996,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 192,385<span></span>
</td>
<td class="nump">$ 1,458<span></span>
</td>
<td class="nump">$ 400,035<span></span>
</td>
<td class="num">$ (45,863)<span></span>
</td>
<td class="nump">$ 548,020<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 548,020<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividend ($0.11 per share)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,169)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,169)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,169)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,036<span></span>
</td>
<td class="nump">1,036<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,036<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">29,730<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">29,730<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">29,730<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2024</a></td>
<td class="nump">46,996,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2023</a></td>
<td class="nump">46,996,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,385<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">400,035<span></span>
</td>
<td class="num">(45,863)<span></span>
</td>
<td class="nump">548,020<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">548,020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,758<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2024</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,380<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">454,456<span></span>
</td>
<td class="num">(73,460)<span></span>
</td>
<td class="nump">574,839<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">574,839<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Jun. 30, 2024</a></td>
<td class="nump">46,996,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2024</a></td>
<td class="nump">46,996,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2024</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,385<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">424,596<span></span>
</td>
<td class="num">(44,797)<span></span>
</td>
<td class="nump">573,647<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">573,647<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividend ($0.11 per share)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,168)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,168)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(5,168)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Share Repurchase</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Share Repurchase, shares</a></td>
<td class="num">(100)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(342)<span></span>
</td>
<td class="num">(342)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(342)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(28,321)<span></span>
</td>
<td class="num">(28,321)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(28,321)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">35,028<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">35,028<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">35,028<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2024</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,380<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">454,456<span></span>
</td>
<td class="num">(73,460)<span></span>
</td>
<td class="nump">574,839<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">574,839<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Jun. 30, 2024</a></td>
<td class="nump">46,996,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2024</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,094<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">538,787<span></span>
</td>
<td class="num">(101,161)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">631,183<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2024</a></td>
<td class="nump">46,991,558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividend ($0.11 per share)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(7,050)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,050)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Share Repurchase</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(124)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(124)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Share Repurchase, shares</a></td>
<td class="num">(1,610)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(637)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(637)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">19,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,576<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">42,189<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">42,189<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2025</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">191,970<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">573,926<span></span>
</td>
<td class="num">(82,222)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">685,137<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2025</a></td>
<td class="nump">46,989,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2024</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">192,094<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">538,787<span></span>
</td>
<td class="num">(101,161)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">631,183<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2024</a></td>
<td class="nump">46,991,558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,272<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2025</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">191,755<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">610,960<span></span>
</td>
<td class="num">(68,177)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">736,001<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Jun. 30, 2025</a></td>
<td class="nump">46,987,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Mar. 31, 2025</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">191,970<span></span>
</td>
<td class="nump">1,458<span></span>
</td>
<td class="nump">573,926<span></span>
</td>
<td class="num">(82,222)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">685,137<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Mar. 31, 2025</a></td>
<td class="nump">46,989,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividend ($0.11 per share)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(7,049)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(7,049)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Share Repurchase</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(215)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(215)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Share Repurchase, shares</a></td>
<td class="num">(2,800)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Derivative financial instruments</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">785<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,260<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,260<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">44,083<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">44,083<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jun. 30, 2025</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 191,755<span></span>
</td>
<td class="nump">$ 1,458<span></span>
</td>
<td class="nump">$ 610,960<span></span>
</td>
<td class="num">$ (68,177)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 736,001<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Jun. 30, 2025</a></td>
<td class="nump">46,987,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477787/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 16: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 42: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 45: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 47: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 50: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 51: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 52: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 53: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 54: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 55: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 56: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br><br>Reference 57: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Dividend per share</a></td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.11<span></span>
</td>
<td class="nump">$ 0.11<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 44,083<span></span>
</td>
<td class="nump">$ 42,189<span></span>
</td>
<td class="nump">$ 35,028<span></span>
</td>
<td class="nump">$ 29,730<span></span>
</td>
<td class="nump">$ 86,272<span></span>
</td>
<td class="nump">$ 64,758<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>General<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">General</a></td>
<td class="text"><p id="xdx_805_eus-gaap--OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_z75kyX3HWfy4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1. <span id="xdx_821_z8OzFZCKsfva">General</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Business
Description</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tecnoglass
Inc., a Cayman Islands exempted company (the &#8220;Company&#8221;, &#8220;Tecnoglass&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;)
manufactures hi-specification, architectural glass and windows for the global residential and commercial construction industries. Currently
the Company offers design, production, marketing, and installation of architectural systems for buildings of high, medium and low elevation
size. Products include windows and doors in glass, aluminum, and vinyl, office partitions and interior divisions, floating facades and
commercial window showcases. The Company sells to customers in North, Central and South America.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company manufactures glass, aluminum, and vinyl products. Its glass products include tempered glass, laminated glass, thermo-acoustic
glass, curved glass, silk-screened glass, acoustic glass and digital print glass. Its Alutions plant produces mill finished, anodized,
painted aluminum profiles and rods, tubes, bars and plates. Alutions&#8217; operations include extrusion, smelting, painting and anodizing
processes, and exporting, importing and marketing aluminum products. Its newly installed vinyl assembling lines manufacture and distributes
cutting-edge vinyl windows for new and existing customers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also designs, manufactures, markets and installs architectural systems for high, medium and low-rise construction, glass, aluminum
and vinyl windows and doors, office dividers and interiors, floating facades and commercial display windows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480922/205-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481034/205-10-S45-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Basis of Presentation and Summary of Significant Accounting Policies</a></td>
<td class="text"><p id="xdx_808_eus-gaap--SignificantAccountingPoliciesTextBlock_zBtZs0fnk6Ag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2. <span id="xdx_822_zdOexDH2Zd19">Basis of Presentation and Summary of Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zahypv3cMjJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zGoquekU3sL1">Basis
of Presentation and Use of Estimates</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally
accepted in the United States of America (&#8220;US GAAP&#8221;) and pursuant to the accounting and disclosure rules and regulations
of the Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting purposes. The results reported in these unaudited
condensed consolidated financial statements are not necessarily indicative of results that may be expected for the entire year. These
unaudited condensed consolidated financial statements should be read in conjunction with the information contained in the Company&#8217;s
Annual Report on Form 10-K for the year ended December 31, 2024. The year-end condensed balance sheet data was derived from the audited
financial statements in the Annual Report on Form 10-K but does not include all disclosures required by US GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of these unaudited condensed consolidated financial statements requires the Company to make estimates and judgments that
affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities
at the date of the Company&#8217;s financial statements. Actual results may differ from these estimates under different assumptions and
conditions. Estimates utilized in the preparation of these unaudited condensed consolidated financial statements relate to the collectability
of account receivables, the valuation of inventories, estimated earnings on uncompleted contracts, useful lives and potential impairment
of long-lived assets. Changes in estimates are reflected in the periods during which they become known. Actual amounts may differ from
these estimates and could differ materially. These financial statements reflect all adjustments that in the opinion of management are
necessary for a fair statement of the financial position, results of operations and cash flows for the period presented, and are of a
normal, recurring nature.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has one operating segment, Architectural Glass and Windows, which is also its reporting segment. The segment comprises the design,
manufacturing, distribution, marketing and installation of high-specification architectural glass and window products sold to residential
and commercial markets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
chief operating decision maker (&#8220;CODM&#8221;) assesses performance and decides how to allocate resources based on gross profit
and net income that also is reported on the income statement as consolidated net income, cash flows from operations which are reported
on the consolidated statement of cash flows, along with certain non-G.A.A.P metrics. Significant segment expenses include cost of sales,
selling expense, and general and administrative expenses. Other segment items included in consolidated net income are interest expense,
other expense, net and the provision for income taxes, which are reflected in the consolidated statements of comprehensive income. These
metrics are used to monitor budgeted versus actual results, and competitive analysis by benchmarking to the Company&#8217;s competitors.
The Company&#8217;s CODM are Company&#8217;s Chief Executive Officer and Chief Operating Officer acting together as a group.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company performs intra-entity sales and transfers within its single segment comprised of several vertically integrated processes including
its main manufacturing operations in Colombia and distribution and installation in the United States. The Company considers its operations
to be a single reporting segment because it only produces architectural glass and window systems to serve similar markets in a vertically
integrated platform.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84B_eus-gaap--ConsolidationPolicyTextBlock_zdWvJAKXdlg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zIBQPs4XUQk9">Principles
of Consolidation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
unaudited consolidated financial statements consolidate Tecnoglass, its subsidiaries Tecnoglass S.A.S (&#8220;TG&#8221;), C.I. Energ&#237;a
Solar S.A.S E.S. Windows (&#8220;ES&#8221;), ES Windows LLC (&#8220;ESW LLC&#8221;), Tecnoglass LLC, Tecno RE LLC, GM&amp;P Consulting
and Glazing Contractors (&#8220;GM&amp;P&#8221;), Componenti USA LLC, ES Metals SAS (&#8220;ES Metals&#8221;), Ventanas Solar S.A (&#8220;VS&#8221;),
which are entities wholly owned by Tecnoglass. To determine if we hold a controlling financial interest in an entity, we first evaluate
if we are required to apply the variable interest entity (&#8220;VIE&#8221;) model to the entity, otherwise the entity is evaluated under
the voting interest model. All significant intercompany accounts and transactions are eliminated in consolidation, including unrealized
intercompany profits and losses. The equity method of accounting is used for investments in affiliates and other joint ventures over
which the Company has significant influence but does not have effective control.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zLc5dECQ57X" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zbgfqcdleg83">Derivative
Financial Instruments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes all derivative financial instruments as either assets or liabilities at fair value on the condensed consolidated balance
sheet. The unrealized gains or losses arising from changes in fair value of derivative instruments that are designated and qualify as
cash flow hedges, are recorded in the condensed consolidated statement of comprehensive income. Amounts in accumulated other comprehensive
loss on the condensed consolidated balance sheet are reclassified into the condensed consolidated statement of income in the same period
or periods during which the hedged transactions are settled.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_ztnfoLhO8eMf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zeHQaoB60cE6">Recently
Issued Accounting Pronouncements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, &#8220;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures (Subtopic
220-40)&#8221;. The Board is issuing this Update to improve the disclosures about a public business entity&#8217;s expenses and address
requests from investors for more detailed information about the types of expenses (including purchases of inventory, employee compensation,
depreciation, amortization, and depletion) in commonly presented expense captions (such as cost of sales, SG&amp;A, and research and
development). The amendments in this Update are effective for annual reporting periods beginning after December 15, 2026, and interim
reporting periods beginning after December 15, 2027. Early adoption is permitted. The Company is currently evaluating the potential effect
of this ASU on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The Board
is issuing the amendments in this Update to enhance the transparency and decision usefulness of income tax disclosures. Investors, lenders,
creditors, and other allocators of capital (collectively, &#8220;investors&#8221;) indicated that the existing income tax disclosures
should be enhanced to provide information to better assess how an entity&#8217;s operations and related tax risks and tax planning and
operational opportunities affect its tax rate and prospects for future cash flows. Investors currently rely on the rate reconciliation
table and other disclosures, including total income taxes paid, to evaluate income tax risks and opportunities. While investors find
these disclosures helpful, they suggested possible enhancements to better (1) understand an entity&#8217;s exposure to potential changes
in jurisdictional tax legislation and the ensuing risks and opportunities, (2) assess income tax information that affects cash flow forecasts
and capital allocation decisions, and (3) identify potential opportunities to increase future cash flows. The amendments in this Update
address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily
related to the rate reconciliation and income taxes paid information. This Update also includes certain other amendments to improve the
effectiveness of income tax disclosures. Specifically, the amendments require annual disclosure of: (i) a detailed rate reconciliation
table that includes specific categories with separate disclosure of items that are equal to or greater than 5% of the statutory tax applied
to pretax income; (ii) income taxes paid (net of refunds received), disaggregated by federal, state, and foreign amounts; and (iii) income
taxes paid (net) further disaggregated by individual jurisdiction when such amounts are equal to or greater than 5% of total income taxes
paid. Additionally, the Company must disclose pretax income (or loss) from continuing operations and income tax expense (or benefit)
from continuing operations, each disaggregated between domestic and foreign. The amendments in this Update are effective for annual periods
beginning after December 15, 2024, with early adoption permitted, and should be applied on a prospective basis and retrospective application
is permitted.</span></p>

<p id="xdx_85C_zsVJSD94k055" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text"><p id="xdx_805_eus-gaap--BusinessCombinationDisclosureTextBlock_zXctuaCpZ9H" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3. <span id="xdx_82F_zOAFuvVmVCXc">Acquisitions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Contiglass
Asset Acquisition, LLC</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
April 3, 2025, Tecnoglass acquired certain assets and assumed liabilities of Florida-based Continental Glass Systems, LLC., a premier
provider of innovative architectural glass and glazing solutions in the Southeast U.S., to create wholly owned Contiglass Asset Acquisition,
LLC (&#8220;Contiglass). This acquisition included a manufacturing plant, various intangibles, and a substantial project backlog in both
execution and pipeline phases. This transaction is considered a business combination under U.S. GAAP. Continental&#8217;s production
capabilities, high-quality product portfolio, and reputation for excellence strengthens Tecnoglass&#8217; U.S. market presence, broadens
its client reach, and creates synergies that reinforce Tecnoglass&#8217; leadership position in the architectural glass industry. Additionally,
the Company anticipates operational benefits as it integrates Continental&#8217;s supply chains into its existing manufacturing operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
purchase price for the acquisition was $<span id="xdx_90C_eus-gaap--BusinessCombinationPriceOfAcquisitionExpected_pn3n3_c20250401__20250430__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zp2q1yOm5gp7">10,429</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
of which $<span id="xdx_90A_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zFmMJTsUqjri">6,588</span></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of
the purchase price was paid in cash by the Company on April 3, 2025, post-acquisition working capital adjustment of $<span id="xdx_904_ecustom--WorkingCapitalAdjustment_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zfxzLZwjGlLi">253</span></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">was
paid 45 days after transaction closing date, with the remaining amount to be payable by the Company in cash within 365 days after
closing date. The total amount of acquisition-related costs was $<span id="xdx_902_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250630_z2l1psS1NfC">588</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
which are included within general and administrative expenses in the Statement of operations for the period ending June 30,
2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total consideration transferred is $<span id="xdx_902_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zUKpR4dRsGG4" title="Total consideration transferred">10,429</span>. Under ASC 805, a company can apply measurement period adjustments during the
twelve-month period after the date of acquisition. During this period, the acquirer may adjust preliminary amounts recognized at the
acquisition date to their subsequently determined final fair values. The allocation of the consideration transferred was based on management&#8217;s
judgment after evaluation of several factors, including a preliminary valuation assessment. Finalization of the analysis has not been
completed and could result in measurement periods adjustments that could change the composition of current assets, fixed assets, intangible
assets, goodwill, and liabilities. Goodwill is not expected to be deductible for tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zQvblDMZ5js5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the purchase price allocation of the total consideration transferred:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zW7xFR80ON23" style="display: none">Schedule
of Purchase Price Allocation Consideration Transferred</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="text-decoration: underline">Consideration Transferred:</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20250630_zLnsxgAWiGe6" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Total purchase price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zDA4t2YJ8oT8" style="width: 16%; text-align: right" title="Total purchase price">10,429</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Recognized amounts of identifiable assets acquired and liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_maBCRIAzx6E_zpLM52YPsks7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash and equivalents</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0794">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_maBCRIAzx6E_zXS1MugMdv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accounts Receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,814</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_maBCRIAzx6E_zoOU9iDPRN94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">585</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_maBCRIAzx6E_zLa6VCJC5yB2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant, and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">826</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_maBCRIAzx6E_zHsADtJNKNPl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Trade Name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">170</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_maBCRIAzx6E_zanLF1TWNi3h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">670</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_maBCRIAzx6E_zF5RLL0OkLlg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Notice of Acceptance and FBC permits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,260</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_maBCRIAzx6E_zR4qbVSqOHM6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Right-of-use assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,192</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_iI_pn3n3_msBCRIAzx6E_zWye5XMxo8L1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Account payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,890</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_msBCRIAzx6E_zhm4JGZZrSJh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(81</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_msBCRIAzx6E_zXlCamXKz8we" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Service revenue deposit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(518</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_msBCRIAzx6E_zbVbEcyUX1Wc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,229</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_msBCRIAzx6E_zmbQouW0Idii" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Billings in excess of cost and profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,987</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_mtBCRIAzx6E_zZu3tG4jVkie" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total identifiable net assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,812</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_pn3n3_z4um2rxzjyFc" style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">6,617</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>



<p id="xdx_8AA_zy6E4VPl2f56" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
excess of the consideration transferred over the estimated fair values of assets acquired and liabilities assumed was recorded as
goodwill. The identifiable intangible asset subject to amortization was the tradename, backlog of projects, and certain Notice of
Acceptance and Florida Building Code permits, which have a remaining useful life of <span style="display: none"><span id="xdx_90F_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20250630__srt--RangeAxis__srt--MinimumMember_zAJGsM52VLOf" title="Remaining useful life">2</span></span> two to <span id="xdx_907_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dc_c20250630__srt--RangeAxis__srt--MaximumMember_zga7O4nlOOR8" title="Remaining useful life">five years</span>. See Note 7 &#8211; Goodwill
and Intangible Assets for additional information.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The acquired business contributed revenues of $<span id="xdx_90E_eus-gaap--Revenues_c20250404__20250630_zIcE19LQ8M0b" title="Revenues">5,296</span> and a net loss of $<span id="xdx_90B_eus-gaap--ProfitLoss_c20250404__20250630_zznGaIvnoHkg" title="Net loss">962</span> to the Company for the period from April
4, 2025 to June 30, 2025. The
following unaudited pro forma financial information assumes the business acquisition had occurred at the beginning of the earliest period
presented. Pro forma results have been prepared by adjusting our historical results to include the results from Continental Glass Systems&#8217;
acquired assets and assumed liabilities to reflect the amortization expense related to the intangible assets arising from the acquisition.
The unaudited pro forma results below do not necessarily reflect the results of operations that would have resulted if the acquisition
had been completed at the beginning of the earliest periods presented, nor does it indicate the results of operations in future periods.
The unaudited pro forma results do not include the impact of synergies, nor any potential impacts on current or future market conditions
which could alter the following unaudited pro forma results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--BusinessAcquisitionProFormaInformationTextBlock_zRCC8BMbrgr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zP1Xww20lzha" style="display: none">Schedule
of Unaudited Pro Forma Financial Information</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250401__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zOCJvB7svKPd" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Pro-Forma</b></p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zBX6FPw5qXj9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zW5VF6mn9CF8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zqWNKQ2QlvK9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-style: italic"></td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June
30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Pro Forma Results</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--BusinessAcquisitionsProFormaRevenue_pn3n3_zg9XrOXSv92d" style="vertical-align: bottom; background-color: White">
    <td style="width: 38%; text-align: left; padding-bottom: 2.5pt">Net sales</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right">255,692</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right">228,409</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right">482,220</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right">429,125</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessAcquisitionsProFormaNetIncomeLoss_pn3n3_zHlull7IrMzh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">44,108</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">34,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">83,548</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">63,022</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zaTzqA3gu6th" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-38<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 46<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-46<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 43<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-43<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 45<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-45<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-29<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-4<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479326/805-40-45-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/805-30/tableOfContent<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/805-20/tableOfContent<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/805-10/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, net<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories, net</a></td>
<td class="text"><p id="xdx_805_eus-gaap--InventoryDisclosureTextBlock_zOhewSW5zDWd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4. - <span id="xdx_822_zlCYqE6LyY22">Inventories, net</span></b></span></p>

<p id="xdx_89B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z4ERmRRmT6v1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zni7nrhgTEXd" style="display: none">Schedule of Inventories</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20250630_zlJ2vhLwCNhg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zxHNQ8BPzIO8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zYXJQC35NErc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">128,670</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">98,336</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryWorkInProcess_iI_pn3n3_maIGzzds_zjAeVHbFrFOc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Work in process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,284</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,891</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryFinishedGoods_iI_pn3n3_maIGzzds_z0Fz3XcxHiM4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,629</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,248</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherInventoriesSpareParts_iI_pn3n3_maIGzzds_zqXh8mTUGeJi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Spares and accessories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,607</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--InventoryPackingMaterialGross_iI_pn3n3_maIGzzds_zpfxlwNnwYog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Packing material</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,666</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,220</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryGross_iTI_pn3n3_mtIGzzds_maINzh7N_zHIae4JqKLH4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total Inventories, gross</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">176,856</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">139,910</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iNI_pn3n3_di_msINzh7N_zMb04VQ34VH4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Inventory allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(335</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(268</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryNet_iTI_pn3n3_mtINzh7N_zjzKyXEWiqNl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total inventories, net</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">176,521</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">139,642</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zFREr02HGt7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</a></td>
<td class="text"><p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zBA3VCpWKQ5c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5. &#8211; <span id="xdx_82A_zchaCB6yMfu3">Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Total Net Sales</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zyrb1AEFypK9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors
affect the nature, amount, timing and uncertainty of the Company&#8217;s revenue and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zEzE6TV4o3o9" style="display: none">Schedule
of Disaggregation by Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250401__20250630_zHmcyRQec4fc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240401__20240630_zFCFcVifeaqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250101__20250630_zzUrx5PqsH07" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240630_ztGzFhQbuLti" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_zwqN0WVbWcfh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Fixed price contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">61,228</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">31,422</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">114,202</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">64,054</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zLIid8wSwCIc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Product sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">194,318</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">188,232</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">363,632</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">348,227</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zF3mp1ahpHwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8AC_zUCr7QDsVyj3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_zL4cs4M5Hyh5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by geographical location:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zr5qdreW2tNl" style="display: none">Schedule of Geographic Information</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250401__20250630_zpR4f00nN6o8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zMmaLkjOj0yl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250101__20250630_zLD1zbyFsL57" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20240630_zOHGcn4u0hI" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_zb0hkZbzwmv" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Colombia</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">6,621</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">5,830</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">13,035</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">11,069</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_z9A50Aag6Vl7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">242,347</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">209,698</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">454,801</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,701</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--PA_zo8grYtOghCa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Panama</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">54</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">434</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">509</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">528</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_ze3lggE61pWj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,524</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,692</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,489</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,983</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zS9Wdy3b4Yha" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zrHRnu8Ortpj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zNHD1rDz72F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by market:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zhHlgqGz7mYg" style="display: none">Schedule
of Revenues Distribution By End Market</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250401__20250630_zBqQR36grob" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630_zULhTsNYkIO3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630_zmYjZth4TlYa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630_zZPshmDQj2X1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_zRZrs4eUOrQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Residential</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">109,598</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">95,749</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">198,527</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">168,903</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zCsGFvsvJ2qj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Commercial</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">145,948</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">123,905</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">279,307</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">243,378</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zgL8lm0U35Rj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AC_zHExG957vS6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Trade
Accounts Receivable</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we extend credit to customers on a generally non-collateralized basis. The Company maintains an allowance
for expected credit losses which is based on management&#8217;s assessments of the amount which may become uncollectible in the future
and is determined through consideration of our write-off history, specific identification of uncollectible accounts based in part on
the customer&#8217;s past due balance (based on contractual terms), and consideration of prevailing economic and industry conditions.
Uncollectible accounts are written off after repeated attempts to collect from the customer have been unsuccessful.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zWxH3UeWBvI9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable consists of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zenLAJkB3Ytg" style="display: none">Schedule of Trade Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zT2WlstFcB6h" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_zWtnbvBgRWNf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AccountsReceivableGross_iI_pn3n3_maARNCzixK_zgy5KiWSXhql" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left; padding-bottom: 1pt">Trade accounts receivable</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">230,327</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">205,730</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzixK_zjvFkJ63bU9k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Allowance for credit losses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,738</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,815</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--AccountsReceivableNetCurrent_iTI_pn3n3_mtARNCzixK_zUor2N4ReAHe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">227,589</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">202,915</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zceKroMeGHkd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_z0jY2dyidyee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes in the allowance for credit losses for the six months ended June 30, 2025, are:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_z9jNQswrd3Og" style="display: none">Schedule of Changes in Allowance for Doubtful Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250101__20250630_zPURWQB6lEb9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months<br/> ended<br/> June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iS_pn3n3_zYPjfVtrYSkd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,815</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_pn3n3_zEKrw7CSDr7b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Provisions for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">987</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AllowanceForDoubtfulAccountsReceivableWriteOffs_iN_pn3n3_di_zDOi4wLPdPQ6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deductions and write-offs, net of foreign currency adjustment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,064</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_z6b3Fa5sjvcl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance at end of period</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">2,738</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A4_zDvXoM9ryYUh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Contract
Assets and Liabilities</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
assets represent accumulated incurred costs and earned profits on contracts with customers that have been recorded as sales but have
not been billed to customers and are classified as current. In addition, a portion of the amounts billed on certain fixed price contracts
that are withheld by the customer as a retainage until a final good receipt of the complete project to the customers satisfaction. Contract
liabilities consist of advance payments and billings in excess of costs incurred and deferred revenue, and represent amounts received
in excess of sales recognized on contracts. The Company classifies advance payments and billings in excess of costs incurred as current,
and deferred revenue as current or non-current based on the expected timing of sales recognition. Contract assets and contract liabilities
are determined on a contract-by-contract basis at the end of each reporting period. The non-current portion of contract liabilities is
included in long-term liabilities in the Company&#8217;s condensed consolidated balance sheets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zAKE7yj7Ollg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below presents the components of net contract assets (liabilities):</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_z4VKU0aVsWgk" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250630_za3Fyptdc7Z1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20241231_zCWSLztV0ABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zwFHMoWfQzSh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Contract assets &#8212; current</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">30,768</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">22,920</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_maNCLAzcHD_zwa5htMaM0M" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract assets &#8212; non-current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,405</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,208</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerLiabilityCurrent_iNI_pn3n3_di_msNCLAzcHD_zpiuFaFcgks2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract liabilities &#8212; current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(128,306</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(97,979</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iNI_pn3n3_di_msNCLAzcHD_zSvEjWLkc41j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Contract liabilities &#8212; non-current</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(140</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0968">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_z0NPxFpVNsok" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net contract liability</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(85,273</td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(59,851</td><td style="font-weight: bold; text-align: left">)</td></tr>
  </table>

<p id="xdx_8A9_zOaVRsrH2kki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zrU8jB4RxhCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract assets are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zKNkmT3MLlp6" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250630_zasUp5msLqX4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20241231_zAS5iVLOJSBh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_z7bbkKsBrm2b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unbilled contract receivables, gross</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">5,807</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,584</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ConstructionContractorReceivableRetainage_iI_pn3n3_maCWCAGz5IH_zQ8hmnEvMr05" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Retainage</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,366</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,544</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetGrossCurrent_iTI_pn3n3_mtCWCAGz5IH_zQMOWXkv0yw9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">43,173</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">38,128</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_zuUbFt0ViH0f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,768</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">22,920</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_zDyQLihHINHf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,405</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">15,208</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_zJkPqFb7426k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zEoOET2l1V4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract liabilities are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zqzycaZtR1Ti" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250630_zJ2gL7JlWi3j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zvXxWjDYX7O3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_ecustom--BillingsInExcessOfCosts_iI_pn3n3_maCWCLzMYb_zPi9aNt6wu58" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Billings in excess of costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">81,324</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">58,708</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_maCWCLzMYb_zo9xJbHlQozj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Advances from customers on uncompleted contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,122</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">39,271</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--ContractWithCustomerLiability_iTI_pn3n3_mtCWCLzMYb_zJAvqu8dnSS4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">128,446</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">97,979</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pn3n3_zryvS1oFfwu2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">128,306</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">97,979</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iI_pn3n3_z3eJuByT13Z1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract liabilities &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">140</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zYtbAiQwFIH" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three and six months ended June 30, 2025, the Company recognized $<span id="xdx_907_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250401__20250630_z6RUQEgYwnEg" title="Sales related to contract liabilities">10,314</span> and $<span id="xdx_906_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250101__20250630_zwayhz405kji" title="Sales related to contract liabilities">16,858</span> of sales related to its contract liabilities
on January 1, 2025, respectively. During the three and six months ended June 30, 2024, the Company recognized $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240401__20240630_zsQwHTAapQnc" title="Sales related to contract liabilities">3,613</span> and $<span id="xdx_905_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240101__20240630_zVovSerWhVta" title="Sales related to contract liabilities">10,344 </span>of sales
related to its contract liabilities on January 1, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Remaining
Performance Obligations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the Company had $<span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20250630_z44zr8g3GUFb" title="Remaining performance obligation">820.0</span> million of remaining performance obligations, which represents the transaction price of firm
orders minus sales recognized from inception to date. Remaining performance obligations exclude unexercised contract options, verbal
commitments, Letters of Intent or written mandates, and potential orders under basic ordering agreements. The Company expects to recognize
<span id="xdx_907_eus-gaap--RevenueRemainingPerformanceObligationPercentage_iI_pid_dp_uPure_c20250630_zqF5kbFjVtH9" title="Performance obligation, percentage">100</span>% of sales relating to existing performance obligations within three years, of which $<span id="xdx_902_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20251231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zLNKFgNQm1y3" title="Remaining performance obligation">285.3</span> million are expected to be recognized during
the year ending December 31, 2025, $<span id="xdx_90E_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20261231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zFf03wP21tu5" title="Remaining performance obligation">326.4</span> million during the year ending December 31, 2026, and $<span id="xdx_90F_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20271231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zBqFExbrwBti" title="Remaining performance obligation">208.3</span> million during the year ending December
31, 2027.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets and Goodwill</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--IntangibleAssetsDisclosureTextBlock_z1VdNT5EKjSk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6. <span id="xdx_82F_zU2PIZlNQEs6">Intangible Assets and Goodwill</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Intangible
Assets</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets include Miami-Dade County Notices of Acceptances (NOA&#8217;s), which are certificates issued for approved products and required
to market hurricane-resistant glass in Florida. Intangibles assets also include the intangibles acquired during the acquisition of Continental
Glass Systems LLC.</span></p>

<p id="xdx_89F_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zbA9zaN3Kznc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z90kaSqQmlIj" style="display: none">Schedule
of Finite-Lived Intangible Assets, Net</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left; padding-left: 0pt">Trade Names</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zOrPLnW0K2x4" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross">170</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z1sAm0PTlJ1j" style="width: 16%; text-align: right" title="Accumulated Amortization">(7</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zbEbUW1PeBi4" style="width: 16%; text-align: right" title="Intangible assets, net">163</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0pt">Software and licenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z15OthIXufg4" style="text-align: right" title="Finite-Lived Intangible Assets, Gross">15,152</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z8fot14ubwj4" style="text-align: right" title="Accumulated Amortization">(9,172</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zGTneYqNmdIl" style="text-align: right" title="Intangible assets, net">5,980</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zilcTJ8nINgi" style="text-align: right" title="Finite-Lived Intangible Assets, Gross">6,260</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_ziAccv8yDJU3" style="text-align: right" title="Accumulated Amortization">(261</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zVHpXh9rwb8f" style="text-align: right" title="Intangible assets, net">5,999</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 0pt">Contract Backlog</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ziG5xMIhidW3" style="border-bottom: Black 1pt solid; text-align: right" title="Finite-Lived Intangible Assets, Gross">670</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zty4z9XXhlc6" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization">(37</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_znLolmdeega7" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net">633</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630_zPQDRBr4cgpj" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite-Lived Intangible Assets, Gross">22,252</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630_zht6XScLPg3e" style="border-bottom: Black 2.5pt double; text-align: right" title="Accumulated Amortization">(9,477</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630_zjURkUTpPg6l" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">12,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIoOUgPZE6bb" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross">14,263</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIxZ7N3XJXuh" style="width: 16%; text-align: right" title="Accumulated Amortization">(9,874</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_z5IXjo3B3PQk" style="width: 16%; text-align: right" title="Intangible assets, net">4,389</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AC_zOSTbgmrMT16" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted average amortization period is<span id="xdx_90A_eus-gaap--AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_dtY_c20250101__20250630_zvSzwBJJCMqd" title="Weighted average amortization period"> 2.02 </span>years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three and six months ended June 30, 2025, the amortization expense amounted to $<span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250401__20250630_zG1DVF3HBbv8" title="Amortization expense">645</span> and $<span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250101__20250630_zfNeOLzLcGgc" title="Amortization expense">950</span>, respectively, and was included within
the general and administration expenses in our unaudited Condensed Consolidated Statement of Operations. Similarly, during the three
and six months ended June 30, 2024, the amortization expense amounted to $<span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240401__20240630_zCVHBYyrH271" title="Amortization expense">342</span> and $<span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240101__20240630_zq2ewviAOPsl" title="Amortization expense">684</span>, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zdkFEEeobpX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
estimated aggregate amortization expense for each of the five succeeding years as of June 30, 2025, is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zDUxkFHnknO9" style="display: none">Schedule
of Finite Lived Intangible Assets Future Amortization Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Year ending December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20250630_zslxqOWgV8f5">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_pn3n3_maFLIANz7hA_zlDqKIsq4fEg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center; padding-left: 0pt">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pn3n3_maFLIANz7hA_zfc9NifHbuEc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,095</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pn3n3_maFLIANz7hA_zyFjkLB7DUhh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,956</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pn3n3_maFLIANz7hA_zEUlfotqZnl6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,619</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pn3n3_maFLIANz7hA_zJKi7Ea7akpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,341</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_iI_pn3n3_maFLIANz7hA_zyfFq4coBTPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt; padding-left: 0pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,046</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pn3n3_mtFLIANz7hA_zRfKfDpUocr" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_z0AUghTSM3Gc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Goodwill</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below provides a reconciliation of the beginning and ending balances of Goodwill recorded on the Company&#8217;s balance sheet:</span></p>

<p id="xdx_89F_eus-gaap--BusinessCombinationSegmentAllocationTableTextBlock_z2us1GnCx1D4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zG4ZWr5tQD8f" style="display: none">Schedule
of Goodwill</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20250101__20250630_z8sI8YZMe5yf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--Goodwill_iS_pn3n3_zWCNZd4WkeOh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Beginning balance - December 31, 2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">23,561</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GoodwillAcquiredDuringPeriod_pn3n3_zzg11H91tT0k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Continental Glass Acquisition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,617</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--Goodwill_iE_pn3n3_zqtbkxEkp9w2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Ending balance &#8211; June 30, 2025</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">30,178</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zmSMyTSA9ayg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/985-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplier Finance Program<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplierFinanceProgramTextBlock', window );">Supplier Finance Program</a></td>
<td class="text"><p id="xdx_804_eus-gaap--SupplierFinanceProgramTextBlock_zoqv8ZY0kkk7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7. <span id="xdx_821_zBPPTPBcfdl1">Supplier Finance Program</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tecnoglass,
Inc. has established payment terms to suppliers for the purchase of goods and services, which normally range between 30 and 60 days.
In the normal course of business, suppliers may require liquidity and manage, through third parties, the advanced payment of invoices.
The Company allows its suppliers the option to payments in advance of an invoice due date, through a third-party finance provider or
intermediary, with the purpose of allowing suppliers to obtain the required liquidity. For these purposes, suppliers present to Tecnoglass,
Inc. the third-party finance provider or intermediary with whom they will carry out the finance program and establish an agreement, through
which the invoices will be paid by the third-party finance provider or intermediary once Tecnoglass, Inc. has confirmed the invoices
as valid. Once the Company confirms the invoices are valid, the third-party finance provider or intermediary proceeds with the payment
to the supplier. Subsequently, Tecnoglass, Inc. pays the invoices for goods or services to the third-party finance provider or intermediary
selected by the supplier. Payment times do not vary from those initially agreed with the supplier, as stated in the invoices factored
by the supplier (i.e. between 30 and 60 days). Pursuant to the supplier finance programs, the Company has not been required to pledge
any assets as security nor to provide any guarantee to third-party finance provider or intermediary.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the obligations outstanding related to the supplier finance program amounted to $<span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zcb79pHsSSGi" title="Current liabilities">21,088</span> recorded as current liabilities,
with $<span id="xdx_906_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zzm1u3em8UAk" title="Trade accounts payable and accrued expenses">20,671</span> classified as trade accounts payable and accrued expenses and $<span id="xdx_901_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zDAclpWStU25" title="Due to related parties">417</span> classified as due to related parties. As of December
31, 2024, the obligations outstanding related to the supplier finance program amounted to $<span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zZiW4CaZ4aR6" title="Current liabilities">1,852</span>, recorded as current liabilities, with
$<span id="xdx_90E_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zk8qvKaEtO0h" title="Trade accounts payable and accrued expenses">1,338</span> classified as trade accounts payable and accrued expenses and $<span id="xdx_903_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zFtne8vMSll5" title="Due to related parties">514</span> classified as due to related parties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplierFinanceProgramTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplier finance program.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-50/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479468/405-50-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479468/405-50-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479468/405-50-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 405<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477128/405-50-55-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplierFinanceProgramTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt</a></td>
<td class="text"><p id="xdx_809_eus-gaap--DebtDisclosureTextBlock_zZ3aNRvhrsJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8. <span id="xdx_829_zfwhMPsoMXK3">Debt</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zvI0df5v8aVi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s debt is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zr1gIXuCVNXj" style="display: none">Schedule
of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250630_zt03FMNK10T1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zCiLRaWtTBu7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_z5DwDBP2DL6b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Revolving lines of credit</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">507</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">600</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--FinanceLeaseDebt_iI_pn3n3_maDICAz25p_zGgJAn1CXcd5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finance lease</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">80</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zOZymwlbCqv2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other current debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1123">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">378</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zXcPHJivgN6c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Senior Secured Credit Facility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredCostsCurrent_iNI_pn3n3_di_msDICAz25p_zOXYUy3vSuv9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Deferred cost of financing</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,358</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,782</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DebtInstrumentCarryingAmount_iTI_pn3n3_mtDICAz25p_z4xG5kph7wz3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total obligations under borrowing arrangements</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109,229</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109,307</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_iI_pn3n3_zympKhE5LrOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Current portion of long-term debt and other current borrowings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">587</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,087</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zwUvjCXYVUbc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">108,642</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">108,220</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A5_zGfa4A9WvF15" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s debt is primarily comprised of a Senior Secured Credit Facility with maturity in late 2026, an outstanding balance of
$<span id="xdx_902_eus-gaap--LineOfCredit_iI_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z7orv805DhQ6" title="Line of credit facility">110,000</span> as of June 30, 2025, and a committed line of credit of $<span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zIyjd9V8hqpf" title="Line of credit facility, maximum borrowing capacity">150</span> million. Borrowings under the credit facility bear interest at a
rate of SOFR plus a spread of <span id="xdx_90E_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z8TRqAqfZaad" title="Debt instrument basis spread on variable rate">1.50</span>%, based on the Company&#8217;s net leverage ratio. The effective interest rate for this credit facility
including deferred issuance costs is <span id="xdx_90A_eus-gaap--LineOfCreditFacilityInterestRateDuringPeriod_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zwZpUWi7eYXg" title="Line of credit interest rate">6.77</span>%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_z0SntajItUx6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Maturities
of long-term debt and other current borrowings as of June 30, 2025, are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zfI0pgrStoJj" style="display: none">Schedule
of Maturities of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49C_20250630_zg6Wg74PGfgi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_pn3n3_maLTDz5iw_zYjMaPOD0s0h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center">2026</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">587</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_zEJRi6LcL4Rh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zWYW5Md4M2si" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">110,587</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zWSsMrLL4JU1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s loans have maturities ranging from <span id="xdx_90D_eus-gaap--DebtInstrumentMaturityDateDescription_c20250101__20250630_z9ELywlGG9D1" title="Loan maturity period description">several weeks to 2 years</span>. Our credit facilities bore a weighted average interest rate
of <span id="xdx_90E_eus-gaap--DebtWeightedAverageInterestRate_iI_pid_dp_uPure_c20250630_zSLtUmDSUpc7" title="Debt, weighted average interest rate">5.87</span>% as of June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Hedging Activity and Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Hedging Activity and Fair Value Measurements</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_zpA0sPUdIA8d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9. <span id="xdx_82C_zkk0pV61GDJ5">Hedging Activity and Fair Value Measurements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Hedging
Activity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the quarter ended June 30, 2022, we entered into several interest rate swap contracts to hedge the interest rate fluctuations related
to our outstanding debt. The effective date of the contract is December 31, 2022 and, thus, we shall have payment dates each quarter,
commencing March, 31 2023. During the quarter ended December 31, 2024, we entered into several foreign currency non-delivery option contracts
to hedge the fluctuations in the exchange rate between the Colombian Peso and the U.S. Dollar. Our contracts are designated as cash flow
hedges since they are highly effective in offsetting changes in the cash flows attributable to forecasted LIBOR and Colombian Peso denominated
costs and expenses, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
record our hedge contracts at fair value and consider our credit risk for contracts in a liability position, and our counter-party&#8217;s
credit risk for contracts in an asset position, in determining fair value. We assess our counter-party&#8217;s risk of non-performance
when measuring the fair value of financial instruments in an asset position by evaluating their financial position, including cash on
hand, as well as their credit ratings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Due
to the Libor discontinuation, on June 21, 2023, the Company amended the Interest Rate Swap contract from Libor 1 Month plus spread to
SOFR 3 Months plus spread. The settlements of the instruments remain under the existing conditions; however, the fixed leg goes from
<span id="xdx_90A_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MinimumMember_zE9eh5FEVpuh" title="Derivative fixed interest rate">1.93</span>% to <span id="xdx_901_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MaximumMember_zPoqMdgYk113" title="Derivative fixed interest rate">1.87</span>%. Regarding the conditions of our outstanding debt, only Libor was replaced by SOFR, maintaining the other initial conditions.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the fair value of our interest rate swap and foreign currency non-delivery option contracts was in a net asset position
of $<span id="xdx_90B_eus-gaap--DerivativeAssets_iI_pn5n6_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zHtVPFi4MhW2" title="Derivative assets">5.5</span> million. We had 6 outstanding interest rate swap contracts to hedge $<span id="xdx_909_eus-gaap--InterestEarningAssetsAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zE8zczCTNdQ7" title="Interest earning assets average outstanding">110</span> million related to our outstanding debt through November
2026 and 6 non-delivery option contracts to exchange $<span id="xdx_904_eus-gaap--LongTermDebtAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zPE3c7x9g4Di" title="Debt outstanding amount">45</span> million U.S. Dollars to Colombian Pesos through December 2025. We assessed the
risk of non-performance of the Company to these contracts and determined it was insignificant and, therefore, did not record any adjustment
to fair value as of June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
assess the effectiveness of our interest rate swap and foreign currency non-delivery option contracts by comparing the change in the
fair value of the interest rate swap and foreign currency non-delivery option contracts to the change in the expected cash to be paid
for the hedged item. The effective portion of the gain or loss on our interest rate swap and foreign currency non-delivery option contracts
is reported as a component of accumulated other comprehensive income and is reclassified into earnings in the same line item in the income
statement as the hedged item in the same period or periods during which the transaction affects earnings. The amount of gains, net, recognized
in the &#8220;accumulated other comprehensive income&#8221; line item in the accompanying consolidated balance sheet as of June 30, 2025,
that we expect will be reclassified to earnings within the next twelve months, is $<span id="xdx_904_ecustom--ReclassifiedEarningsExpected_iI_pn5n6_c20250630__us-gaap--BalanceSheetLocationAxis__custom--AccumulatedOtherComprehensiveLossMember_z7H16mgjc7G8" title="Reclassified earnings, expected">5.0 </span>million.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zyJkoh8PwfDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of our interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2025, as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zNtvyTYRhFdf" style="display: none">Schedule
of Fair Value of Foreign Currency Hedges</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Assets</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Liabilities</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">Derivatives designated as hedging instruments</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">under Subtopic 815-20:</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Derivative instruments:</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 31%; text-align: left; padding-left: 10pt">Interest Rate Swap Contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: left">Other current assets</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zOg4uN3hky17" style="width: 14%; text-align: right" title="Total derivative assets">2,606</td><td style="width: 1%; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 13%; text-align: right"><span id="xdx_900_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zDdnWG7VjPh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1179">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">foreign currency non-delivery forwards</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zxvAZElhpIK1" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets">2,868</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_902_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_z8dUK87zojIh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1183">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total derivative instruments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630_zoDYAErRSzbi" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets">5,474</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630_zazF9cf7iM5g" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1187">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zXQ0eXXdODzi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
ending accumulated balance for the interest rate swap and foreign currency non-delivery option contracts included in accumulated other
comprehensive income, net of tax, was $<span id="xdx_90E_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zklA5wNftUc6" title="Accumulated other comprehensive income net of tax">4,470</span> as of June 30,2025, comprised of a derivative gain of $<span id="xdx_90A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember_z7GFnbmmcWbe" title="Accumulated other comprehensive income net of tax">5,474</span> and an associated net tax liability
of $<span id="xdx_90A_eus-gaap--DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_pn3n3_c20250101__20250630_zTUQkfKEMu2c" title="Derivatives used in net investment hedge, tax (benefit)">1,004</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zkBYSyyOFyg1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the three months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z1AEfUF5gQW4" style="display: none">Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zb5YyI3puP3j" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">785</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zA8nhxHM7pKd" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">(342</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zSFZp28giw57" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">1,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zgZHr1mR6Gaf" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">1,084</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the six months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zmS7vJ8MDXra" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">148</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z3YVMpL85YLi" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zcC0SfrSwoo7" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">2,242</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zPfgPggbdv4a" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">2,183</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_zMx6fO3bOZHe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value Measurements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for financial assets and liabilities in accordance with accounting standards that define fair value and establish a
framework for measuring fair value. The hierarchy prioritizes the inputs into three broad levels. Level 1 inputs are quoted prices (unadjusted)
in active markets for identical assets or liabilities. Level 2 inputs are quoted prices for similar assets and liabilities in active
markets or inputs that are observable for the asset or liability, either directly or indirectly through market corroboration, for substantially
the full term of the financial instrument. Level 3 inputs are unobservable inputs based on the Company&#8217;s assumptions used to measure
assets and liabilities at fair value. A financial asset&#8217;s or liability&#8217;s classification within the hierarchy is determined
based on the lowest level input that is significant to the fair value measurement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of the Company&#8217;s financial instruments, including cash and cash equivalents, accounts receivable, accounts payable
and advances from customers approximate their fair value due to their relatively short-term maturities. The Company bases its fair value
estimate for long term debt obligations on its internal valuation that all debt is floating rate debt based on current interest rates
in Colombia.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of derivatives used to manage interest rate risks are based on SOFR rates and interest rate swap curves. Measurement of our
derivative assets and liabilities is considered a level 2 measurement. To carry out the swap valuation, the definition of the fixed leg
(obligation) and variable leg (right) is used. Once the projected flows are obtained in both fixed and variable rates, the regression
analysis is performed for prospective effectiveness test. The projection curve contains the forward interest rates to project flows at
a variable rate and the discount curve contains the interest rates to discount future flows, using the one-month USD Libor curve.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, financial instruments carried at amortized cost that do not approximate fair value consist of long-term debt. See Note
8 &#8211; Debt. The fair value of long-term debt was calculated based on an analysis of future cash flows discounted at current market
rates (which are level 2 inputs).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89A_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_z1BxGVLh2hod" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the fair value and carrying amounts of our long-term debt:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zrWzehFPbjff" style="display: none">Schedule
of Fair Value and Carrying Amounts of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zKSFfjpgxTHj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zylaaA0znO3i" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zHgIaoPXtv5f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Fair Value</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">106,361</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">109,341</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_z0gDt86oJFNg" style="vertical-align: bottom; background-color: White">
    <td>Carrying Value</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,642</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,220</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_zfV2xNQRYgB5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 182<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-182<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 185<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-185<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 184<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-184<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 181<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-181<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4H<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4H<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4H<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4H<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 15<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480960/815-15-50-3<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 183<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-183<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4K<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4K<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4I<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4F<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4F<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-1A<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/815/tableOfContent<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-5C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_z1Ys1rfkb3Xd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10. <span id="xdx_82C_zTubXLwW6vli">Income Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company files income tax returns for TG, ES and ES Metals in the Republic of Colombia. GM&amp;P, Componenti and ESW LLC are U.S. entities
based in Florida subject to U.S. federal and state income taxes. Tecnoglass as well as the Company&#8217;s other subsidiaries in the
Cayman Islands do not currently have any tax obligations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">On July 4, 2025, the One Big Beautiful Bill Act (&#8220;OBBBA&#8221;)
was signed into law. The OBBBA permanently establishes key elements of the Tax Cuts and Jobs Act, and also introduces modifications to
certain international tax provisions. These provisions have various effective dates, some of which extended into 2027. The Company is
assessing the effects that the OBBBA may have on the Company&#8217;s consolidated financial statements.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zQfoqzcffNe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of income tax expense are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z8axA28Osoef" style="display: none">Schedule
of Components of Income Tax Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zXjFIVlNoGKi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zF8XPmlKeUy2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_z4oojgzwYYGb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240630_zsPWUzPu4Cge" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Current income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zWDjDQtJhZoi" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(8,286</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,775</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(11,920</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(8,607</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zMJPpoaAVidb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Colombia</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(10,329</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(9,774</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(21,881</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(13,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_zseIQhhkO6da" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Panama</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zxw7YMgN5W9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total current income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(18,616</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(14,554</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,806</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(22,195</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income Tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zGM3ptZOQoWa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">58</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">929</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,355</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(249</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_z3p45wBD3UA" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Colombia</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">410</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,132</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(647</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,208</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zqohWn0MTOJc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total deferred income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">468</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,061</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,002</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,457</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_zlrVkpugucCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income provision</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(18,148</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(12,493</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(35,808</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(23,652</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zb9EbSeVHb52" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Effective tax rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.8</td><td style="text-align: left">%</td></tr>
  </table>

<p id="xdx_8A6_zrPT7FnLKWGj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the three and six months ended June 30, 2025, of <span id="xdx_903_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250401__20250630_zW7bpVMBHYLe" title="Statutory income tax rate">29.7</span>% and <span id="xdx_901_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250101__20250630_z6xZxa6W3Szj" title="Statutory income tax rate">29.6</span>%, respectively, approximates the weighted
average statutory rate of <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_pid_dp_uPure_c20250101__20250630_zj7Y3Yh2EN5k" title="Weighted average statutory rate">29.1</span>%. The effective income tax rate for the three and six months ended June 30, 2024, of <span id="xdx_905_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240401__20240630_zkjBTX7f7lxi" title="Statutory income tax rate">26.3</span>% and <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zafXuIBrwwXg" title="Statutory income tax rate">26.8</span>% are
below the weighted average statutory rate as the Colombian subsidiaries which bear a higher corporate income tax rate recorded a proportionally
lower share of the consolidated income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477617/942-740-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478822/944-740-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Parties<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Parties</a></td>
<td class="text"><p id="xdx_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zIJEW2fEcbNe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11. <span id="xdx_825_zKxztDXXIMo9">Related Parties</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_z6zD4EULDjEk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a summary of assets, liabilities, and income transactions with all related parties:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zl8yH0nFXpf6" style="display: none">Schedule of Related Parties</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250630_zkBEHl6ZSlbk" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2025</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20241231_zUQWOGbb5M3e" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due from related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZzH24vfehXf" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left">Fundaci&#243;n Tecnoglass-ESWindows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">921</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">809</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zjwqPLU25a6e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Prisma-Glass LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">808</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">375</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8awo4liwvn" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">594</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">629</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zU8D5UPZ6Qk9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">409</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">301</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIyrNmZtnEDj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Due from other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">613</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">560</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZHjclP3si95" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due from related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">3,345</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2,674</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zc2pE8gL2hwj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Vidrio Andino</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,619</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,660</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlV2Vc1kDQtd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Due to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,095</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,204</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNeR63q9q6k7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due to related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">9,714</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">9,864</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_zBehgbPNiHhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zbhvOvYOiFD6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zlBnj5Z4z0N2" style="display: none">Schedule of Sale to Related Parties</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250401__20250630_zPGRmHkYMAbf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240401__20240630_zIsB1dnJXVMl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_zB6XFsfatFFg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20240630_zFsLO0kfIGai" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3P9f4TbRDz1" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">Prisma Glass LLC</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">785</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">315</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,168</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">508</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z61DuR6IyMn3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">230</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">239</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">587</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">378</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zVvB5kvVngVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">294</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">532</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3JEas7aVDV9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sales to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">93</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">23</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">131</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zu0qQVgBqf27" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales to related parties</span></td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">1,401</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">726</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2,417</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">1,264</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A9_zRAPjFX9znLb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Alutrafic
Led SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Alutrafic Led SAS (&#8220;Alutrafic&#8221;), a fabricator of electrical lighting
equipment. Affiliates of Jose Daes and Christian Daes, the Company&#8217;s Chief Executive Officer and Chief Operating Officer, respectively,
have an ownership stake in Alutrafic. During the three and six months ended June 30, 2025, we sold $<span id="xdx_90B_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z986HCjvsYyg" title="Revenue from related parties">230</span> and $<span id="xdx_902_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3myU4JM0Mfi" title="Revenue from related parties">587</span> to Alutrafic, respectively,
compared to $<span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zULtjzEwxEGk" title="Revenue from related parties">239</span> and $<span id="xdx_90E_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zO1tmFXAd7Wa" title="Revenue from related parties">378</span> during the three and six months ended June 30, 2024, respectively. Additionally, we had outstanding accounts
receivable from Alutrafic of $<span id="xdx_902_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_znfWKhpqG936" title="Accounts receivable">594</span> and $<span id="xdx_90F_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zHcvO9wQxb81" title="Accounts receivable">629</span> as of June 30, 2025, and December 31, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Fundacion
Tecnoglass-ESWindows</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fundacion
Tecnoglass-ESWindows is a non-for-profit entity set up by the Company to carry out social causes in the communities around where we operate.
We made charitable contributions during the three and six months ended June 30, 2025, of $<span id="xdx_907_ecustom--CashContributionsForSocialCauses_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zUhUy8tyleGg" title="Cash contributions for social causes">998</span> and $<span id="xdx_90F_ecustom--CashContributionsForSocialCauses_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_z3kowrpuJnJk" title="Cash contributions for social causes">2,046</span>, respectively, compared to $<span id="xdx_90E_ecustom--CashContributionsForSocialCauses_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zLMyEoeohcq4" title="Cash contributions for social causes">821</span>
and $<span id="xdx_905_ecustom--CashContributionsForSocialCauses_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zgS8pW3auoYl" title="Cash contributions for social causes">1,570</span> during the three and six months ended June 30, 2024, respectively. Additionally, Fundaci&#243;n Tecnoglass-ESWindows received
$<span id="xdx_905_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z7gJaKsaOMAi">921</span> and $<span id="xdx_902_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zXgJgUNpazRj">809</span> from us as of June 30, 2025, and December 31, 2024, respectively, from advances on future contributions we made to them
for the construction of a school in the local community where we operate.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Prisma-Glass
LLC</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Prisma-Glass LLC, a distributer and installer of architectural systems in Florida
that is owned and controlled by family members of Christian Daes. We sold $<span id="xdx_908_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z18Vj9AGlfdi" title="Revenue from related parties">785</span> and $<span id="xdx_909_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zwneoyUisXl2" title="Revenue from related parties">1,168</span> to Prisma-Glass LLC during the three and six
months ended June 30, 2025, respectively, compared to $<span id="xdx_904_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zOOTddcbV39l" title="Revenue from related parties">315</span> and $<span id="xdx_905_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNydhwYw8wui" title="Revenue from related parties">508</span> during the three and six months ended June 30, 2024, respectively.
The Company had outstanding accounts receivable from Prisma-Glass of $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zQw0XtawMDa" title="Accounts receivable">808 </span>and $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zcOFfI5yY1p3" title="Accounts receivable">375</span> as of June 30, 2025, and December 31, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Santa
Maria del Mar SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we purchase fuel for use at our manufacturing facilities from Estaci&#243;n Santa Maria del Mar SAS,
a gas station located in the vicinity of our manufacturing campus which is owned by affiliates of Jose Daes and Christian Daes. During
the three and six months ended June 30, 2025, we purchased $<span id="xdx_903_ecustom--PurchasePriceOfFuel_pn3n3_c20250401__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zso7wzA3Mx07" title="Purchases of fuel">131</span> and $<span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20250101__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZC5NvvKTCp6" title="Purchases of fuel">719</span>, respectively, compared to $<span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20240401__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zH1kvSIo5Lja" title="Purchases of fuel">110</span> and $<span id="xdx_90D_ecustom--PurchasePriceOfFuel_pn3n3_c20240101__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIRy79A2lqJe" title="Purchases of fuel">261</span> purchased during the
three and six months ended June 30, 2024, respectively. Additionally, we finalized the purchase of a lot of land adjacent to our manufacturing
facilities for $<span id="xdx_908_eus-gaap--PaymentsToAcquireLandHeldForUse_pn3n3_c20250101__20250331__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvF2N6oTUcyj" title="Payment for acquisition, land">334</span> during the three months ended March 31, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Studio
Avanti SAS</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we sell products to Studio Avanti SAS (&#8220;Avanti&#8221;), a distributer and installer of architectural
systems in Colombia. Avanti is owned and controlled by Alberto Velilla, who is director of Energy Holding Corporation, the controlling
shareholder of the Company. As of June 30, 2025, and December 31, 2024, the Company had outstanding accounts receivable from Avanti of
$<span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z6HXdiN71li" title="Accounts receivable">409</span> and $<span id="xdx_90D_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zqr6uiKlzqj3" title="Accounts receivable">301</span>, respectively. During the three and six months ended June 30, 2025, we sold $<span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zkuFZZENPIIl" title="Revenue from related parties">294</span> and $<span id="xdx_90A_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zd0ZCtZK3fJh" title="Revenue from related parties">532</span> of products to Avanti, respectively,
compared to $<span id="xdx_908_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zPh32tSSrXbd" title="Revenue from related parties">149</span> and $<span id="xdx_909_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zRP1ZQYmGtv6" title="Revenue from related parties">345</span> during the three and six months ended June 30, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Vidrio
Andino Joint Venture</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
May 3, 2019, we consummated a joint venture agreement with Saint-Gobain, a world leader in the production of float glass, a key component
of our manufacturing process, whereby we acquired a <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_c20190503__srt--OwnershipAxis__custom--VidrioAndinoMember_z9OlDkCCAj95" title="Minority interest ownership">25.8</span>% minority ownership interest in Vidrio Andino, a Colombia-based subsidiary of
Saint-Gobain. The purchase price for our interest in Vidrio Andino was $<span id="xdx_907_eus-gaap--BusinessCombinationConsiderationTransferred1_pn6n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_z1ppXNkovUN5" title="Purchase price of interest">45</span> million, of which $<span id="xdx_90A_eus-gaap--PaymentsToAcquireBusinessesGross_pn5n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zVye7PqvyoRl" title="Payment of cash">34.1 </span>million was paid in cash and $<span id="xdx_901_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iI_pn5n6_c20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zaPS1FeyKSAl" title="Land contribution value">10.9</span>
million paid through the contribution of land on December 9, 2020. On October 28, 2020, we acquired said land from a related party and
paid for it with the issuance of an aggregate of <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_pid_c20201028__20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zs5l4vPU3eEb" title="Shares issued during acquisition">1,557,142</span> ordinary shares of the Company, valued at $<span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_pid_c20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zWx9gNc8vvRd" title="Shares issued, price per share">7.00</span> per share, which represented
an approximate <span id="xdx_90D_ecustom--PremiumClosingStockPercentage_iI_pid_dp_uPure_c20201027__srt--OwnershipAxis__custom--VidrioAndinoMember_z1QRgr0QdXJ9" title="Premium closing stock, percent">33</span>% premium based on the closing stock price as of October 27, 2020.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
land will serve the purpose of developing a second float glass plant nearby our existing manufacturing facilities which we expect will
carry significant efficiencies for us once it becomes operative, in which we will also have a <span id="xdx_90C_ecustom--ExpectedOwnershipPercentage_pid_dp_uPure_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zBgk2NMyjKzd" title="Expected ownership percentage">25.8</span>% interest. The new plant will be funded
with proceeds from the original cash contribution made by the Company, operating cashflows from the Bogota plant, debt incurred at the
joint venture level that will not consolidate into the Company and an additional contribution by us of approximately $<span id="xdx_90C_ecustom--FutureAdditionalContributionAmount_pn5n6_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zsGjL7OvlBoi" title="Additional contribution amount">12.5 </span>million if
needed (based on debt availability as a first option).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the ordinary course of business, we purchased $<span id="xdx_905_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zUkphiM5TcJi" title="Purchase from related party">10,633</span> and $<span id="xdx_90F_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zFOEvWE796P2" title="Purchase from related party">19,678</span> of materials from Vidrio Andino during the three and six months ended
June 30, 2025, respectively, compared to $<span id="xdx_90E_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zRcFlO7W9Hi1" title="Purchase from related party">7,214</span> and $<span id="xdx_903_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zrClPWmJa8D6" title="Purchase from related party">14,095</span> during the three and six months ended June 30, 2024, respectively. We also
had outstanding payables to Vidrio Andino of $<span id="xdx_908_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20250630__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zhR0H8xpKhf9" title="Payable outstanding">6,619</span> and $<span id="xdx_902_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20241231__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlzpWH8tujvi" title="Payable outstanding">5,660</span> as of June 30, 2025, and December 31, 2024, respectively. We recorded
equity method income of $<span id="xdx_90B_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zEoZ2sY8ary6" title="Equity method income">941</span> and $<span id="xdx_903_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zCorjHDCVL87" title="Equity method income">2,285</span> on our Consolidated Statement of Operations during the three and six months ended June 30, 2025,
compared to $<span id="xdx_908_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zAZWCfkkysih" title="Equity method income">1,120</span> and $<span id="xdx_90C_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zVsDDwTUoj5i" title="Equity method income">2,568</span> recorded during the three and six months ended June 30, 2024, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Zofracosta
SA</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have an investment in Zofracosta SA, a real estate holding company located in the vicinity of the proposed glass plant being built through
our Vidrio Andino joint venture, recorded at $<span id="xdx_904_eus-gaap--Investments_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zaONNeANX898" title="Investments">748</span> and $<span id="xdx_90A_eus-gaap--Investments_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zPMaM0Ihw6Nj" title="Investments">690</span> as of June 30, 2025, and December 31, 2024, respectively. Affiliates of Jose
Daes and Christian Daes have a majority ownership stake in Zofracosta SA.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders&#8217; Equity<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Shareholders&#8217; Equity</a></td>
<td class="text"><p id="xdx_803_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z1sAc7aKmy0l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12. <span id="xdx_82F_z66Xw3aZhdFj">Shareholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dividends</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
June 10, 2025, the Company declared a regular quarterly dividend of $<span id="xdx_90A_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--QuarterlyRateMember_zpio3SAeYiel" title="Declared per share">0.15 </span>per share, or $<span id="xdx_906_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--AnnualBasisMember_z9YG6cNleBZj" title="Share price">0.60</span> per share on an annualized basis. The dividend
was paid on July 31, 2025, to shareholders of record as of the close of business on June 30, 2025.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Earnings
per Share</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89C_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJSlii5mLPQ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the computation of the basic and diluted earnings per share for the three and six months ended June 30, 2025,
and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zgBdR67uCrY2" style="display: none">Schedule of Earnings Per Share, Basic and Diluted</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zFLeVfXJ1gi1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240401__20240630_zGpuToK8KU7k" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250101__20250630_zT79QgeDdJW5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240630_zoVCAOIjtodk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Numerator for basic and diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_pn3n3_zdCIU5cyRAok" style="vertical-align: bottom; background-color: White">
    <td style="width: 40%; text-align: left">Net Income attributable to parent</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">44,083</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">35,028</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">86,272</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">64,758</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zYfqe25g7wf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator for basic earnings per ordinary share - weighted average shares outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,988,155</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,996,705</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,989,650</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,996,706</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zLJj07wPPSbg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Effect of dilutive securities and stock dividend</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1454">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1456">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1457">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zuKikMXcuhpl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Denominator for diluted earnings per ordinary share - weighted average shares outstanding</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,988,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,996,705</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,989,650</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,996,706</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pid_z4JGLFO7f1o7" style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.94</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.75</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.84</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.38</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EarningsPerShareDiluted_pid_zq6WgLPRLmOe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Diluted earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.94</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.75</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.84</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.38</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A9_zFjttEyfiiLe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z8D8qe9D2v2e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13. <span id="xdx_822_zLQ3zyI4Zrig">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Commitments</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2025, the Company had outstanding obligations to purchase an aggregate of at least $<span id="xdx_906_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--NovemberThirtyTwoThousandThirtyMember_zygNdgfEtqj1" title="Purchase of aggregate raw material">85,735</span> of certain raw materials from
a specific supplier before February 28, 2030, and an aggregate of at least $<span id="xdx_90C_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--ThroughTwoThousandTwentyEightMember_zLiPIwv3hQC4" title="Purchase of aggregate raw material">8,062</span> of certain raw materials from a specific supplier through
2028.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General
Legal Matters</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, the Company is involved in legal matters arising in the regular course of business. Some disputes are derived directly
from our construction projects, related to supply and installation, and even though deemed ordinary, they may involve significant monetary
damages. We are also subject to other type of litigations arising from employment practices, worker&#8217;s compensation, automobile
claims and general liability. It is very difficult to predict precisely what the outcome of these litigations might be. However, with
the information at our disposition as this time, there are no indications that such claims will result in a material adverse effect on
the business, financial condition or results of operations of the Company.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation and Use of Estimates</a></td>
<td class="text"><p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zahypv3cMjJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zGoquekU3sL1">Basis
of Presentation and Use of Estimates</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally
accepted in the United States of America (&#8220;US GAAP&#8221;) and pursuant to the accounting and disclosure rules and regulations
of the Securities and Exchange Commission (&#8220;SEC&#8221;) for interim reporting purposes. The results reported in these unaudited
condensed consolidated financial statements are not necessarily indicative of results that may be expected for the entire year. These
unaudited condensed consolidated financial statements should be read in conjunction with the information contained in the Company&#8217;s
Annual Report on Form 10-K for the year ended December 31, 2024. The year-end condensed balance sheet data was derived from the audited
financial statements in the Annual Report on Form 10-K but does not include all disclosures required by US GAAP.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of these unaudited condensed consolidated financial statements requires the Company to make estimates and judgments that
affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities
at the date of the Company&#8217;s financial statements. Actual results may differ from these estimates under different assumptions and
conditions. Estimates utilized in the preparation of these unaudited condensed consolidated financial statements relate to the collectability
of account receivables, the valuation of inventories, estimated earnings on uncompleted contracts, useful lives and potential impairment
of long-lived assets. Changes in estimates are reflected in the periods during which they become known. Actual amounts may differ from
these estimates and could differ materially. These financial statements reflect all adjustments that in the opinion of management are
necessary for a fair statement of the financial position, results of operations and cash flows for the period presented, and are of a
normal, recurring nature.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has one operating segment, Architectural Glass and Windows, which is also its reporting segment. The segment comprises the design,
manufacturing, distribution, marketing and installation of high-specification architectural glass and window products sold to residential
and commercial markets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
chief operating decision maker (&#8220;CODM&#8221;) assesses performance and decides how to allocate resources based on gross profit
and net income that also is reported on the income statement as consolidated net income, cash flows from operations which are reported
on the consolidated statement of cash flows, along with certain non-G.A.A.P metrics. Significant segment expenses include cost of sales,
selling expense, and general and administrative expenses. Other segment items included in consolidated net income are interest expense,
other expense, net and the provision for income taxes, which are reflected in the consolidated statements of comprehensive income. These
metrics are used to monitor budgeted versus actual results, and competitive analysis by benchmarking to the Company&#8217;s competitors.
The Company&#8217;s CODM are Company&#8217;s Chief Executive Officer and Chief Operating Officer acting together as a group.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company performs intra-entity sales and transfers within its single segment comprised of several vertically integrated processes including
its main manufacturing operations in Colombia and distribution and installation in the United States. The Company considers its operations
to be a single reporting segment because it only produces architectural glass and window systems to serve similar markets in a vertically
integrated platform.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--ConsolidationPolicyTextBlock_zdWvJAKXdlg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_865_zIBQPs4XUQk9">Principles
of Consolidation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
unaudited consolidated financial statements consolidate Tecnoglass, its subsidiaries Tecnoglass S.A.S (&#8220;TG&#8221;), C.I. Energ&#237;a
Solar S.A.S E.S. Windows (&#8220;ES&#8221;), ES Windows LLC (&#8220;ESW LLC&#8221;), Tecnoglass LLC, Tecno RE LLC, GM&amp;P Consulting
and Glazing Contractors (&#8220;GM&amp;P&#8221;), Componenti USA LLC, ES Metals SAS (&#8220;ES Metals&#8221;), Ventanas Solar S.A (&#8220;VS&#8221;),
which are entities wholly owned by Tecnoglass. To determine if we hold a controlling financial interest in an entity, we first evaluate
if we are required to apply the variable interest entity (&#8220;VIE&#8221;) model to the entity, otherwise the entity is evaluated under
the voting interest model. All significant intercompany accounts and transactions are eliminated in consolidation, including unrealized
intercompany profits and losses. The equity method of accounting is used for investments in affiliates and other joint ventures over
which the Company has significant influence but does not have effective control.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivative Financial Instruments</a></td>
<td class="text"><p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zLc5dECQ57X" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_zbgfqcdleg83">Derivative
Financial Instruments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes all derivative financial instruments as either assets or liabilities at fair value on the condensed consolidated balance
sheet. The unrealized gains or losses arising from changes in fair value of derivative instruments that are designated and qualify as
cash flow hedges, are recorded in the condensed consolidated statement of comprehensive income. Amounts in accumulated other comprehensive
loss on the condensed consolidated balance sheet are reclassified into the condensed consolidated statement of income in the same period
or periods during which the hedged transactions are settled.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_843_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_ztnfoLhO8eMf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zeHQaoB60cE6">Recently
Issued Accounting Pronouncements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, &#8220;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures (Subtopic
220-40)&#8221;. The Board is issuing this Update to improve the disclosures about a public business entity&#8217;s expenses and address
requests from investors for more detailed information about the types of expenses (including purchases of inventory, employee compensation,
depreciation, amortization, and depletion) in commonly presented expense captions (such as cost of sales, SG&amp;A, and research and
development). The amendments in this Update are effective for annual reporting periods beginning after December 15, 2026, and interim
reporting periods beginning after December 15, 2027. Early adoption is permitted. The Company is currently evaluating the potential effect
of this ASU on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The Board
is issuing the amendments in this Update to enhance the transparency and decision usefulness of income tax disclosures. Investors, lenders,
creditors, and other allocators of capital (collectively, &#8220;investors&#8221;) indicated that the existing income tax disclosures
should be enhanced to provide information to better assess how an entity&#8217;s operations and related tax risks and tax planning and
operational opportunities affect its tax rate and prospects for future cash flows. Investors currently rely on the rate reconciliation
table and other disclosures, including total income taxes paid, to evaluate income tax risks and opportunities. While investors find
these disclosures helpful, they suggested possible enhancements to better (1) understand an entity&#8217;s exposure to potential changes
in jurisdictional tax legislation and the ensuing risks and opportunities, (2) assess income tax information that affects cash flow forecasts
and capital allocation decisions, and (3) identify potential opportunities to increase future cash flows. The amendments in this Update
address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily
related to the rate reconciliation and income taxes paid information. This Update also includes certain other amendments to improve the
effectiveness of income tax disclosures. Specifically, the amendments require annual disclosure of: (i) a detailed rate reconciliation
table that includes specific categories with separate disclosure of items that are equal to or greater than 5% of the statutory tax applied
to pretax income; (ii) income taxes paid (net of refunds received), disaggregated by federal, state, and foreign amounts; and (iii) income
taxes paid (net) further disaggregated by individual jurisdiction when such amounts are equal to or greater than 5% of total income taxes
paid. Additionally, the Company must disclose pretax income (or loss) from continuing operations and income tax expense (or benefit)
from continuing operations, each disaggregated between domestic and foreign. The amendments in this Update are effective for annual periods
beginning after December 15, 2024, with early adoption permitted, and should be applied on a prospective basis and retrospective application
is permitted.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479693/815-10-S50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-8<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-7<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4F<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/815/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Purchase Price Allocation Consideration Transferred</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zQvblDMZ5js5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the purchase price allocation of the total consideration transferred:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zW7xFR80ON23" style="display: none">Schedule
of Purchase Price Allocation Consideration Transferred</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left"><span style="text-decoration: underline">Consideration Transferred:</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20250630_zLnsxgAWiGe6" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Total purchase price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zDA4t2YJ8oT8" style="width: 16%; text-align: right" title="Total purchase price">10,429</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Recognized amounts of identifiable assets acquired and liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_maBCRIAzx6E_zpLM52YPsks7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cash and equivalents</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0794">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_maBCRIAzx6E_zXS1MugMdv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accounts Receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,814</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_maBCRIAzx6E_zoOU9iDPRN94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Other Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">585</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_maBCRIAzx6E_zLa6VCJC5yB2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant, and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">826</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_maBCRIAzx6E_zHsADtJNKNPl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Trade Name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">170</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_maBCRIAzx6E_zanLF1TWNi3h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">670</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_maBCRIAzx6E_zF5RLL0OkLlg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Notice of Acceptance and FBC permits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,260</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_maBCRIAzx6E_zR4qbVSqOHM6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Right-of-use assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,192</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_iI_pn3n3_msBCRIAzx6E_zWye5XMxo8L1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Account payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,890</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_msBCRIAzx6E_zhm4JGZZrSJh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(81</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_msBCRIAzx6E_zXlCamXKz8we" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Service revenue deposit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(518</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_msBCRIAzx6E_zbVbEcyUX1Wc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,229</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_msBCRIAzx6E_zmbQouW0Idii" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Billings in excess of cost and profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,987</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_mtBCRIAzx6E_zZu3tG4jVkie" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total identifiable net assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,812</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_pn3n3_z4um2rxzjyFc" style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">6,617</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>



<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Schedule of Unaudited Pro Forma Financial Information</a></td>
<td class="text"><p id="xdx_898_eus-gaap--BusinessAcquisitionProFormaInformationTextBlock_zRCC8BMbrgr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zP1Xww20lzha" style="display: none">Schedule
of Unaudited Pro Forma Financial Information</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250401__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zOCJvB7svKPd" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b>Pro-Forma</b></p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zBX6FPw5qXj9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zW5VF6mn9CF8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zqWNKQ2QlvK9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Pro-Forma</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Three Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Six Months</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-style: italic"></td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June 30,<br/>
 2025</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">June
30,<br/>
 2024</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Pro Forma Results</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--BusinessAcquisitionsProFormaRevenue_pn3n3_zg9XrOXSv92d" style="vertical-align: bottom; background-color: White">
    <td style="width: 38%; text-align: left; padding-bottom: 2.5pt">Net sales</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right">255,692</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right">228,409</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right">482,220</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right">429,125</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessAcquisitionsProFormaNetIncomeLoss_pn3n3_zHlull7IrMzh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">44,108</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">34,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">83,548</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">63,022</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma revenue and earnings for business combination or aggregate of series of individually immaterial business combinations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-49<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of business combination. Includes, but is not limited to, recognized asset and liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z4ERmRRmT6v1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zni7nrhgTEXd" style="display: none">Schedule of Inventories</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20250630_zlJ2vhLwCNhg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zxHNQ8BPzIO8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zYXJQC35NErc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Raw materials</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">128,670</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">98,336</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryWorkInProcess_iI_pn3n3_maIGzzds_zjAeVHbFrFOc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Work in process</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,284</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,891</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--InventoryFinishedGoods_iI_pn3n3_maIGzzds_z0Fz3XcxHiM4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Finished goods</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,629</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,248</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherInventoriesSpareParts_iI_pn3n3_maIGzzds_zqXh8mTUGeJi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Spares and accessories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,607</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--InventoryPackingMaterialGross_iI_pn3n3_maIGzzds_zpfxlwNnwYog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Packing material</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,666</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,220</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--InventoryGross_iTI_pn3n3_mtIGzzds_maINzh7N_zHIae4JqKLH4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total Inventories, gross</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">176,856</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">139,910</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iNI_pn3n3_di_msINzh7N_zMb04VQ34VH4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Inventory allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(335</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(268</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--InventoryNet_iTI_pn3n3_mtINzh7N_zjzKyXEWiqNl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total inventories, net</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">176,521</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">139,642</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Disaggregation by Revenue</a></td>
<td class="text"><p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zyrb1AEFypK9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors
affect the nature, amount, timing and uncertainty of the Company&#8217;s revenue and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zEzE6TV4o3o9" style="display: none">Schedule
of Disaggregation by Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250401__20250630_zHmcyRQec4fc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240401__20240630_zFCFcVifeaqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250101__20250630_zzUrx5PqsH07" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240630_ztGzFhQbuLti" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_zwqN0WVbWcfh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Fixed price contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">61,228</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">31,422</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">114,202</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">64,054</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zLIid8wSwCIc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Product sales</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">194,318</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">188,232</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">363,632</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">348,227</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zF3mp1ahpHwb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Geographic Information</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_zL4cs4M5Hyh5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by geographical location:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zr5qdreW2tNl" style="display: none">Schedule of Geographic Information</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250401__20250630_zpR4f00nN6o8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zMmaLkjOj0yl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250101__20250630_zLD1zbyFsL57" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20240630_zOHGcn4u0hI" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended <br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_zb0hkZbzwmv" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Colombia</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">6,621</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">5,830</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">13,035</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">11,069</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_z9A50Aag6Vl7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">242,347</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">209,698</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">454,801</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,701</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--PA_zo8grYtOghCa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Panama</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">54</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">434</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">509</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">528</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_ze3lggE61pWj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Other</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,524</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,692</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,489</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,983</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zS9Wdy3b4Yha" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock', window );">Schedule of Revenues Distribution By End Market</a></td>
<td class="text"><p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zNHD1rDz72F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents revenues broken down by market:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zhHlgqGz7mYg" style="display: none">Schedule
of Revenues Distribution By End Market</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250401__20250630_zBqQR36grob" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240401__20240630_zULhTsNYkIO3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250101__20250630_zmYjZth4TlYa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20240630_zZPshmDQj2X1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Three months ended</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Six months ended</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_zRZrs4eUOrQj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Residential</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">109,598</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">95,749</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">198,527</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">168,903</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zCsGFvsvJ2qj" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Commercial</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">145,948</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">123,905</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">279,307</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">243,378</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zgL8lm0U35Rj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total Revenues</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">255,546</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">219,654</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">477,834</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">412,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Trade Accounts Receivable</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zWxH3UeWBvI9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable consists of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zenLAJkB3Ytg" style="display: none">Schedule of Trade Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zT2WlstFcB6h" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_zWtnbvBgRWNf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AccountsReceivableGross_iI_pn3n3_maARNCzixK_zgy5KiWSXhql" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left; padding-bottom: 1pt">Trade accounts receivable</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">230,327</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">205,730</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzixK_zjvFkJ63bU9k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: Allowance for credit losses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,738</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,815</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--AccountsReceivableNetCurrent_iTI_pn3n3_mtARNCzixK_zUor2N4ReAHe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">227,589</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">202,915</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock', window );">Schedule of Changes in Allowance for Doubtful Accounts Receivable</a></td>
<td class="text"><p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_z0jY2dyidyee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes in the allowance for credit losses for the six months ended June 30, 2025, are:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_z9jNQswrd3Og" style="display: none">Schedule of Changes in Allowance for Doubtful Accounts Receivable</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20250101__20250630_zPURWQB6lEb9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months<br/> ended<br/> June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iS_pn3n3_zYPjfVtrYSkd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at beginning of period</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,815</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_pn3n3_zEKrw7CSDr7b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Provisions for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">987</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AllowanceForDoubtfulAccountsReceivableWriteOffs_iN_pn3n3_di_zDOi4wLPdPQ6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deductions and write-offs, net of foreign currency adjustment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,064</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_z6b3Fa5sjvcl" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance at end of period</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">2,738</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract Assets and Liabilities</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zAKE7yj7Ollg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below presents the components of net contract assets (liabilities):</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_z4VKU0aVsWgk" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20250630_za3Fyptdc7Z1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20241231_zCWSLztV0ABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zwFHMoWfQzSh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Contract assets &#8212; current</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">30,768</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">22,920</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_maNCLAzcHD_zwa5htMaM0M" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract assets &#8212; non-current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,405</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,208</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerLiabilityCurrent_iNI_pn3n3_di_msNCLAzcHD_zpiuFaFcgks2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Contract liabilities &#8212; current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(128,306</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(97,979</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iNI_pn3n3_di_msNCLAzcHD_zSvEjWLkc41j" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Contract liabilities &#8212; non-current</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(140</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0968">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_z0NPxFpVNsok" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net contract liability</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(85,273</td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(59,851</td><td style="font-weight: bold; text-align: left">)</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractAssetsMember', window );">Contract Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract Assets and Liabilities</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zrU8jB4RxhCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract assets are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zKNkmT3MLlp6" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20250630_zasUp5msLqX4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20241231_zAS5iVLOJSBh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_z7bbkKsBrm2b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unbilled contract receivables, gross</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">5,807</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,584</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ConstructionContractorReceivableRetainage_iI_pn3n3_maCWCAGz5IH_zQ8hmnEvMr05" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Retainage</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,366</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,544</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetGrossCurrent_iTI_pn3n3_mtCWCAGz5IH_zQMOWXkv0yw9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">43,173</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">38,128</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_zuUbFt0ViH0f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,768</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">22,920</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_zDyQLihHINHf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract Assets &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,405</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">15,208</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractLiabilitiesMember', window );">Contract Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract Assets and Liabilities</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zEoOET2l1V4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of contract liabilities are presented in the table below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zqzycaZtR1Ti" style="display: none">Schedule of Contract Assets and Liabilities</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20250630_zJ2gL7JlWi3j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zvXxWjDYX7O3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_402_ecustom--BillingsInExcessOfCosts_iI_pn3n3_maCWCLzMYb_zPi9aNt6wu58" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Billings in excess of costs</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">81,324</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">58,708</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_maCWCLzMYb_zo9xJbHlQozj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Advances from customers on uncompleted contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,122</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">39,271</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--ContractWithCustomerLiability_iTI_pn3n3_mtCWCLzMYb_zJAvqu8dnSS4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Total contract liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">128,446</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">97,979</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pn3n3_zryvS1oFfwu2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">128,306</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">97,979</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iI_pn3n3_z3eJuByT13Z1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Contract liabilities &#8211; non-current</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">140</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of changes in allowance for doubtful accounts receivable [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Revenues Distribution By End Market [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Net</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zbA9zaN3Kznc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z90kaSqQmlIj" style="display: none">Schedule
of Finite-Lived Intangible Assets, Net</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left; padding-left: 0pt">Trade Names</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zOrPLnW0K2x4" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross">170</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z1sAm0PTlJ1j" style="width: 16%; text-align: right" title="Accumulated Amortization">(7</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zbEbUW1PeBi4" style="width: 16%; text-align: right" title="Intangible assets, net">163</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0pt">Software and licenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z15OthIXufg4" style="text-align: right" title="Finite-Lived Intangible Assets, Gross">15,152</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z8fot14ubwj4" style="text-align: right" title="Accumulated Amortization">(9,172</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zGTneYqNmdIl" style="text-align: right" title="Intangible assets, net">5,980</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zilcTJ8nINgi" style="text-align: right" title="Finite-Lived Intangible Assets, Gross">6,260</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_ziAccv8yDJU3" style="text-align: right" title="Accumulated Amortization">(261</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zVHpXh9rwb8f" style="text-align: right" title="Intangible assets, net">5,999</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 0pt">Contract Backlog</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ziG5xMIhidW3" style="border-bottom: Black 1pt solid; text-align: right" title="Finite-Lived Intangible Assets, Gross">670</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zty4z9XXhlc6" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization">(37</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_znLolmdeega7" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net">633</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630_zPQDRBr4cgpj" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite-Lived Intangible Assets, Gross">22,252</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630_zht6XScLPg3e" style="border-bottom: Black 2.5pt double; text-align: right" title="Accumulated Amortization">(9,477</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630_zjURkUTpPg6l" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">12,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Gross</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Acc. Amort.</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Net</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Notice of Acceptances (NOAs), product designs and other intellectual property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIoOUgPZE6bb" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross">14,263</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIxZ7N3XJXuh" style="width: 16%; text-align: right" title="Accumulated Amortization">(9,874</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_z5IXjo3B3PQk" style="width: 16%; text-align: right" title="Intangible assets, net">4,389</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite Lived Intangible Assets Future Amortization Expense</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zdkFEEeobpX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
estimated aggregate amortization expense for each of the five succeeding years as of June 30, 2025, is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zDUxkFHnknO9" style="display: none">Schedule
of Finite Lived Intangible Assets Future Amortization Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Year ending December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20250630_zslxqOWgV8f5">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_pn3n3_maFLIANz7hA_zlDqKIsq4fEg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center; padding-left: 0pt">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pn3n3_maFLIANz7hA_zfc9NifHbuEc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,095</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pn3n3_maFLIANz7hA_zyFjkLB7DUhh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,956</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pn3n3_maFLIANz7hA_zEUlfotqZnl6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-left: 0pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,619</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pn3n3_maFLIANz7hA_zJKi7Ea7akpi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-left: 0pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,341</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_iI_pn3n3_maFLIANz7hA_zyfFq4coBTPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt; padding-left: 0pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,046</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pn3n3_mtFLIANz7hA_zRfKfDpUocr" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt; padding-left: 0pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,775</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationSegmentAllocationTableTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--BusinessCombinationSegmentAllocationTableTextBlock_z2us1GnCx1D4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B7_zG4ZWr5tQD8f" style="display: none">Schedule
of Goodwill</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_498_20250101__20250630_z8sI8YZMe5yf" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--Goodwill_iS_pn3n3_zWCNZd4WkeOh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Beginning balance - December 31, 2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">23,561</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GoodwillAcquiredDuringPeriod_pn3n3_zzg11H91tT0k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Continental Glass Acquisition</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,617</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--Goodwill_iE_pn3n3_zqtbkxEkp9w2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 2.5pt">Ending balance &#8211; June 30, 2025</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">30,178</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationSegmentAllocationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill acquired in business combination by reportable segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationSegmentAllocationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of Long Term Debt</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zvI0df5v8aVi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s debt is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BE_zr1gIXuCVNXj" style="display: none">Schedule
of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20250630_zt03FMNK10T1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20241231_zCiLRaWtTBu7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_z5DwDBP2DL6b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Revolving lines of credit</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">507</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">600</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--FinanceLeaseDebt_iI_pn3n3_maDICAz25p_zGgJAn1CXcd5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Finance lease</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">80</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zOZymwlbCqv2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other current debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1123">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">378</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zXcPHJivgN6c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Senior Secured Credit Facility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredCostsCurrent_iNI_pn3n3_di_msDICAz25p_zOXYUy3vSuv9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Deferred cost of financing</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,358</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,782</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DebtInstrumentCarryingAmount_iTI_pn3n3_mtDICAz25p_z4xG5kph7wz3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total obligations under borrowing arrangements</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109,229</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109,307</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_iI_pn3n3_zympKhE5LrOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: Current portion of long-term debt and other current borrowings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">587</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,087</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zwUvjCXYVUbc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">108,642</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">108,220</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of Maturities of Long Term Debt</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_z0SntajItUx6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Maturities
of long-term debt and other current borrowings as of June 30, 2025, are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_zfI0pgrStoJj" style="display: none">Schedule
of Maturities of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_49C_20250630_zg6Wg74PGfgi" style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_pn3n3_maLTDz5iw_zYjMaPOD0s0h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: center">2026</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">587</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_zEJRi6LcL4Rh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: center">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">110,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zWYW5Md4M2si" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt">Total</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">110,587</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Hedging Activity and Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock', window );">Schedule of Fair Value of Foreign Currency Hedges</a></td>
<td class="text"><p id="xdx_891_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zyJkoh8PwfDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of our interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2025, as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zNtvyTYRhFdf" style="display: none">Schedule
of Fair Value of Foreign Currency Hedges</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Assets</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivative Liabilities</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">Derivatives designated as hedging instruments</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30, 2025</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font-weight: bold">under Subtopic 815-20:</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Location</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Fair Value</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Derivative instruments:</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td style="border-right: Black 1pt solid">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 31%; text-align: left; padding-left: 10pt">Interest Rate Swap Contracts</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: left">Other current assets</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zOg4uN3hky17" style="width: 14%; text-align: right" title="Total derivative assets">2,606</td><td style="width: 1%; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 13%; text-align: right"><span id="xdx_900_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zDdnWG7VjPh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1179">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">foreign currency non-delivery forwards</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zxvAZElhpIK1" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets">2,868</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_902_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_z8dUK87zojIh" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1183">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total derivative instruments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630_zoDYAErRSzbi" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets">5,474</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-right: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td>&#160;</td>
    <td style="text-align: left; padding-bottom: 1pt">Total derivative liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630_zazF9cf7iM5g" title="Total derivative liabilities"><span style="-sec-ix-hidden: xdx2ixbrl1187">-</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended</a></td>
<td class="text"><p id="xdx_894_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zkBYSyyOFyg1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the three months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z1AEfUF5gQW4" style="display: none">Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zb5YyI3puP3j" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">785</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zA8nhxHM7pKd" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">(342</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zSFZp28giw57" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">1,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zgZHr1mR6Gaf" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">1,084</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the six months ended June 30, 2025, and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives in Cash Flow Hedging Relationships</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss)</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">Location of Gain or (Loss) Reclassified from Accumulated</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Amount of Gain or (Loss) <br/> Reclassified from</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Recognized in OCI (Loss) on</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">OCI (Loss) into</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="font-weight: bold; text-align: center">Accumulated</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Derivatives</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">OCI (Loss) into Income</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six Months Ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 13%; text-align: center">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 15%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 13%; font-weight: bold; text-align: right">&#160;</td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest Rate Swap and foreign currency non-delivery forwards Contracts</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zmS7vJ8MDXra" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">148</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z3YVMpL85YLi" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives">694</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest Expense and Operating Revenues</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zcC0SfrSwoo7" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">2,242</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zPfgPggbdv4a" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income">2,183</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Fair Value and Carrying Amounts of Long Term Debt</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_z1BxGVLh2hod" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the fair value and carrying amounts of our long-term debt:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zrWzehFPbjff" style="display: none">Schedule
of Fair Value and Carrying Amounts of Long Term Debt</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250630_zKSFfjpgxTHj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zylaaA0znO3i" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zHgIaoPXtv5f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Fair Value</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">106,361</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">109,341</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_z0gDt86oJFNg" style="vertical-align: bottom; background-color: White">
    <td>Carrying Value</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,642</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,220</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of fair value of foreign currency hedges [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-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 entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-8<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CC<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CC<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zQfoqzcffNe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of income tax expense are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B8_z8axA28Osoef" style="display: none">Schedule
of Components of Income Tax Expense</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zXjFIVlNoGKi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240401__20240630_zF8XPmlKeUy2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_z4oojgzwYYGb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240630_zsPWUzPu4Cge" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Current income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zWDjDQtJhZoi" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(8,286</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,775</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(11,920</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(8,607</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zMJPpoaAVidb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Colombia</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(10,329</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(9,774</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(21,881</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(13,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_zseIQhhkO6da" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Panama</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zxw7YMgN5W9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total current income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(18,616</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(14,554</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,806</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(22,195</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income Tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zGM3ptZOQoWa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">58</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">929</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,355</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(249</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_z3p45wBD3UA" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Colombia</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">410</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,132</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(647</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,208</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zqohWn0MTOJc" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total deferred income
    tax</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">468</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,061</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,002</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,457</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_zlrVkpugucCe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income provision</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(18,148</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(12,493</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(35,808</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(23,652</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zb9EbSeVHb52" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Effective tax rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29.2</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29.3</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.8</td><td style="text-align: left">%</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Parties (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock', window );">Schedule of Related Parties</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_z6zD4EULDjEk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following is a summary of assets, liabilities, and income transactions with all related parties:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zl8yH0nFXpf6" style="display: none">Schedule of Related Parties</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250630_zkBEHl6ZSlbk" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2025</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20241231_zUQWOGbb5M3e" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due from related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZzH24vfehXf" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left">Fundaci&#243;n Tecnoglass-ESWindows</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">921</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">809</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zjwqPLU25a6e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Prisma-Glass LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">808</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">375</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8awo4liwvn" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">594</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">629</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zU8D5UPZ6Qk9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">409</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">301</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIyrNmZtnEDj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Due from other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">613</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">560</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZHjclP3si95" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due from related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">3,345</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2,674</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Due to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zc2pE8gL2hwj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Vidrio Andino</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,619</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,660</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlV2Vc1kDQtd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Due to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,095</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,204</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNeR63q9q6k7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total due to related parties</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">9,714</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">9,864</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock', window );">Schedule of Sale to Related Parties</a></td>
<td class="text"><p id="xdx_890_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zbhvOvYOiFD6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zlBnj5Z4z0N2" style="display: none">Schedule of Sale to Related Parties</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20250401__20250630_zPGRmHkYMAbf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240401__20240630_zIsB1dnJXVMl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20250101__20250630_zB6XFsfatFFg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20240630_zFsLO0kfIGai" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales to related parties:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3P9f4TbRDz1" style="vertical-align: bottom; background-color: White">
    <td style="width: 44%; text-align: left">Prisma Glass LLC</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">785</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">315</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,168</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">508</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z61DuR6IyMn3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Alutrafic Led SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">230</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">239</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">587</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">378</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zVvB5kvVngVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Studio Avanti SAS</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">294</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">532</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3JEas7aVDV9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sales to other related parties</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">93</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">23</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">131</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zu0qQVgBqf27" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales to related parties</span></td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">1,401</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">726</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2,417</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">1,264</td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Sale To Related Party [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of related party transactions. Examples of related party transactions include, but are not limited to, transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders&#8217; Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2025</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJSlii5mLPQ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the computation of the basic and diluted earnings per share for the three and six months ended June 30, 2025,
and 2024:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B2_zgBdR67uCrY2" style="display: none">Schedule of Earnings Per Share, Basic and Diluted</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20250401__20250630_zFLeVfXJ1gi1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240401__20240630_zGpuToK8KU7k" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20250101__20250630_zT79QgeDdJW5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240630_zoVCAOIjtodk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six months ended</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2025</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Numerator for basic and diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_pn3n3_zdCIU5cyRAok" style="vertical-align: bottom; background-color: White">
    <td style="width: 40%; text-align: left">Net Income attributable to parent</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">44,083</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">35,028</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">86,272</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">64,758</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zYfqe25g7wf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator for basic earnings per ordinary share - weighted average shares outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,988,155</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,996,705</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,989,650</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">46,996,706</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zLJj07wPPSbg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Effect of dilutive securities and stock dividend</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1454">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1455">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1456">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1457">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zuKikMXcuhpl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Denominator for diluted earnings per ordinary share - weighted average shares outstanding</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,988,155</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,996,705</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,989,650</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">46,996,706</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pid_z4JGLFO7f1o7" style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.94</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.75</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.84</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.38</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EarningsPerShareDiluted_pid_zq6WgLPRLmOe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Diluted earnings per ordinary share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.94</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">0.75</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.84</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.38</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Purchase Price Allocation Consideration Transferred (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Total purchase price</a></td>
<td class="nump">$ 10,429<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash and equivalents</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts Receivable</a></td>
<td class="nump">4,814<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other Current Assets</a></td>
<td class="nump">585<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant, and equipment</a></td>
<td class="nump">826<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Trade Name</a></td>
<td class="nump">170<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog', window );">Contract Backlog</a></td>
<td class="nump">670<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits', window );">Notice of Acceptance and FBC permits</a></td>
<td class="nump">6,260<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Right-of-use assets</a></td>
<td class="nump">1,192<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables', window );">Account payable</a></td>
<td class="num">(2,890)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense', window );">Accrued expenses</a></td>
<td class="num">(81)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit', window );">Service revenue deposit</a></td>
<td class="num">(518)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities', window );">Lease liabilities</a></td>
<td class="num">(1,229)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit', window );">Billings in excess of cost and profit</a></td>
<td class="num">(5,987)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Total identifiable net assets</a></td>
<td class="nump">3,812<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Goodwill</a></td>
<td class="nump">$ 6,617<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed billings in excess of cost and profit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed contract backlog.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accounts payable assumed in business combination and recognized at acquisition date, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed current liabilities accrued expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease liabilities assumed in business combination and recognized at acquisition date, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed notice of acceptance and permits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed service revenue deposit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset acquired in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalent acquired in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset acquired in business combination and recognized at acquisition date, classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of receivable acquired in business combination and recognized at acquisition date, classified as current. Includes, but is not limited to, receivable from customer for product and service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of identifiable finite-lived intangible asset acquired in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset acquired in excess of (less than) liability assumed in business combination and recognized at acquisition date. Excludes goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of property, plant, and equipment acquired in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset acquired in excess of (less than) liability assumed plus goodwill in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Unaudited Pro Forma Financial Information (Details) - Pro Forma [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Net sales</a></td>
<td class="nump">$ 255,692<span></span>
</td>
<td class="nump">$ 228,409<span></span>
</td>
<td class="nump">$ 482,220<span></span>
</td>
<td class="nump">$ 429,125<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 44,108<span></span>
</td>
<td class="nump">$ 34,156<span></span>
</td>
<td class="nump">$ 83,548<span></span>
</td>
<td class="nump">$ 63,022<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-50<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of pro forma revenue of combined entity as if acquisition date of business combination occurred as of beginning of period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ProFormaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ProFormaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Apr. 03, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Business Combination, Transaction Cost, Excluding Separately Recognized Transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 588,000<span></span>
</td>
<td class="nump">$ 588,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Total consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,429,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 962<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Remaining useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Remaining useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=TGLS_ContiglassAssetAcquisitionLLCMember', window );">Contiglass Asset Acquisition LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Combination [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationPriceOfAcquisitionExpected', window );">Business Combination, Price of Acquisition, Expected</a></td>
<td class="nump">$ 10,429,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts', window );">Business Combination, Transaction Cost, Excluding Separately Recognized Transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,588,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_WorkingCapitalAdjustment', window );">[custom:WorkingCapitalAdjustment-0]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 253,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_WorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Working capital adjustment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_WorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction cost incurred to effect business combination. Excludes separately recognized transaction and indirect cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-47<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-4A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-4<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-4A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-4A<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br><br>Reference 37: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationPriceOfAcquisitionExpected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of expected business acquisition prior to consideration being transferred. Excludes asset acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationPriceOfAcquisitionExpected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 25: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 37: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 38: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=TGLS_ContiglassAssetAcquisitionLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=TGLS_ContiglassAssetAcquisitionLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 128,670<span></span>
</td>
<td class="nump">$ 98,336<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in process</a></td>
<td class="nump">18,284<span></span>
</td>
<td class="nump">16,891<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">2,629<span></span>
</td>
<td class="nump">1,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInventoriesSpareParts', window );">Spares and accessories</a></td>
<td class="nump">25,607<span></span>
</td>
<td class="nump">22,215<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_InventoryPackingMaterialGross', window );">Packing material</a></td>
<td class="nump">1,666<span></span>
</td>
<td class="nump">1,220<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Total Inventories, gross</a></td>
<td class="nump">176,856<span></span>
</td>
<td class="nump">139,910<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Less: Inventory allowance</a></td>
<td class="num">(335)<span></span>
</td>
<td class="num">(268)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventories, net</a></td>
<td class="nump">$ 176,521<span></span>
</td>
<td class="nump">$ 139,642<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_InventoryPackingMaterialGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects Gross amount, as of the balance sheet date of packing materials.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_InventoryPackingMaterialGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInventoriesSpareParts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of components of assembled products that can be sold directly or indirectly through sales of assembled products.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInventoriesSpareParts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Disaggregation by Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 255,546<span></span>
</td>
<td class="nump">$ 219,654<span></span>
</td>
<td class="nump">$ 477,834<span></span>
</td>
<td class="nump">$ 412,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=TGLS_FixedPriceContractsMember', window );">Fixed Price Contracts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">61,228<span></span>
</td>
<td class="nump">31,422<span></span>
</td>
<td class="nump">114,202<span></span>
</td>
<td class="nump">64,054<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=TGLS_ProductSalesMember', window );">Product Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 194,318<span></span>
</td>
<td class="nump">$ 188,232<span></span>
</td>
<td class="nump">$ 363,632<span></span>
</td>
<td class="nump">$ 348,227<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=TGLS_FixedPriceContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=TGLS_FixedPriceContractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=TGLS_ProductSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=TGLS_ProductSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Geographic Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 255,546<span></span>
</td>
<td class="nump">$ 219,654<span></span>
</td>
<td class="nump">$ 477,834<span></span>
</td>
<td class="nump">$ 412,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CO', window );">COLOMBIA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">6,621<span></span>
</td>
<td class="nump">5,830<span></span>
</td>
<td class="nump">13,035<span></span>
</td>
<td class="nump">11,069<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">242,347<span></span>
</td>
<td class="nump">209,698<span></span>
</td>
<td class="nump">454,801<span></span>
</td>
<td class="nump">393,701<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_PA', window );">PANAMA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">54<span></span>
</td>
<td class="nump">434<span></span>
</td>
<td class="nump">509<span></span>
</td>
<td class="nump">528<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=TGLS_OtherMember', window );">Due from Other Related Parties [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 6,524<span></span>
</td>
<td class="nump">$ 3,692<span></span>
</td>
<td class="nump">$ 9,489<span></span>
</td>
<td class="nump">$ 6,983<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CO">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CO</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_PA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_PA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=TGLS_OtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=TGLS_OtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Revenues Distribution By End Market (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 255,546<span></span>
</td>
<td class="nump">$ 219,654<span></span>
</td>
<td class="nump">$ 477,834<span></span>
</td>
<td class="nump">$ 412,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=TGLS_ResidentialMember', window );">Residential [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">109,598<span></span>
</td>
<td class="nump">95,749<span></span>
</td>
<td class="nump">198,527<span></span>
</td>
<td class="nump">168,903<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=TGLS_CommercialMember', window );">Commercial [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenues</a></td>
<td class="nump">$ 145,948<span></span>
</td>
<td class="nump">$ 123,905<span></span>
</td>
<td class="nump">$ 279,307<span></span>
</td>
<td class="nump">$ 243,378<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=TGLS_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=TGLS_ResidentialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=TGLS_CommercialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=TGLS_CommercialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Trade Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Trade accounts receivable</a></td>
<td class="nump">$ 230,327<span></span>
</td>
<td class="nump">$ 205,730<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Less: Allowance for credit losses</a></td>
<td class="num">(2,738)<span></span>
</td>
<td class="num">(2,815)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Total</a></td>
<td class="nump">$ 227,589<span></span>
</td>
<td class="nump">$ 202,915<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482736/825-10-45-1A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 2,815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provisions for credit losses</a></td>
<td class="nump">987<span></span>
</td>
<td class="nump">$ 275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Deductions and write-offs, net of foreign currency adjustment</a></td>
<td class="num">(1,064)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at end of period</a></td>
<td class="nump">$ 2,738<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Contract Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Operating revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Less: current portion</a></td>
<td class="nump">$ 30,768<span></span>
</td>
<td class="nump">$ 22,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetNoncurrent', window );">Contract Assets &#8211; non-current</a></td>
<td class="nump">12,405<span></span>
</td>
<td class="nump">15,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities &#8212; current</a></td>
<td class="num">(128,306)<span></span>
</td>
<td class="num">(97,979)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Contract liabilities &#8212; non-current</a></td>
<td class="num">(140)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_NetContractLiabilitiesAssets', window );">Net contract liability</a></td>
<td class="num">(85,273)<span></span>
</td>
<td class="num">(59,851)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled contract receivables, gross</a></td>
<td class="nump">5,807<span></span>
</td>
<td class="nump">6,584<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionContractorReceivableRetainage', window );">Retainage</a></td>
<td class="nump">37,366<span></span>
</td>
<td class="nump">31,544<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetGrossCurrent', window );">Total contract assets</a></td>
<td class="nump">43,173<span></span>
</td>
<td class="nump">38,128<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_BillingsInExcessOfCosts', window );">Billings in excess of costs</a></td>
<td class="nump">81,324<span></span>
</td>
<td class="nump">58,708<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms', window );">Advances from customers on uncompleted contracts</a></td>
<td class="nump">47,122<span></span>
</td>
<td class="nump">39,271<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Total contract liabilities</a></td>
<td class="nump">128,446<span></span>
</td>
<td class="nump">97,979<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Less: current portion</a></td>
<td class="nump">128,306<span></span>
</td>
<td class="nump">97,979<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Contract liabilities &#8211; non-current</a></td>
<td class="nump">$ 140<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_BillingsInExcessOfCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_BillingsInExcessOfCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_NetContractLiabilitiesAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net contract liabilities assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_NetContractLiabilitiesAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionContractorReceivableRetainage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 910<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482546/910-10-50-7<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(c)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionContractorReceivableRetainage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of advances received from customers under long-term contracts which have been offset against inventories accounts at the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(d)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2027</div></th>
<th class="th"><div>Dec. 31, 2026</div></th>
<th class="th"><div>Dec. 31, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Sales related to contract liabilities</a></td>
<td class="nump">$ 10,314<span></span>
</td>
<td class="nump">$ 3,613<span></span>
</td>
<td class="nump">$ 16,858<span></span>
</td>
<td class="nump">$ 10,344<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligation</a></td>
<td class="nump">$ 820,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 820,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Performance obligation, percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 208,300<span></span>
</td>
<td class="nump">$ 326,400<span></span>
</td>
<td class="nump">$ 285,300<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Finite-Lived Intangible Assets, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">$ 22,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(9,477)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">12,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_SoftwareAndLicensesMember', window );">Software And Licenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">15,152<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(9,172)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">5,980<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember', window );">Notice Of Acceptances Product Designs And Intellectual Property [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">6,260<span></span>
</td>
<td class="nump">$ 14,263<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(261)<span></span>
</td>
<td class="num">(9,874)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">5,999<span></span>
</td>
<td class="nump">$ 4,389<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_ContractBacklogMember', window );">Contract Backlog [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">670<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(37)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">$ 633<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 38<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-38<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 14: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 18: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-31<br><br>Reference 19: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-29<br><br>Reference 20: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-29<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 22: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-20<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 24: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 26: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 27: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479876/805-20-55-14<br><br>Reference 28: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_SoftwareAndLicensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_SoftwareAndLicensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_ContractBacklogMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=TGLS_ContractBacklogMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2025</a></td>
<td class="nump">$ 1,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2026</a></td>
<td class="nump">3,095<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2027</a></td>
<td class="nump">2,956<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2028</a></td>
<td class="nump">2,619<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2029</a></td>
<td class="nump">1,341<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour', window );">Thereafter</a></td>
<td class="nump">1,046<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 12,775<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite lived intangible assets amortization expense after year four.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Beginning balance - December 31, 2024</a></td>
<td class="nump">$ 23,561<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Continental Glass Acquisition</a></td>
<td class="nump">6,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Ending balance &#8211; June 30, 2025</a></td>
<td class="nump">$ 30,178<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478064/805-740-55-13<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 39<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-39<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 645<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">$ 950<span></span>
</td>
<td class="nump">$ 684<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-11<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-24<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476148/220-40-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Supplier Finance Program (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems', window );"><strong>Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">$ 138,608<span></span>
</td>
<td class="nump">$ 98,843<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems', window );"><strong>Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Due to related parties</a></td>
<td class="nump">9,714<span></span>
</td>
<td class="nump">9,864<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=TGLS_SupplierFinanceProgramMember', window );">Supplier Finance Program [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems', window );"><strong>Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProgramRightsObligationsCurrent', window );">Current liabilities</a></td>
<td class="nump">21,088<span></span>
</td>
<td class="nump">1,852<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">20,671<span></span>
</td>
<td class="nump">1,338<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=TGLS_SupplierFinanceProgramMember', window );">Supplier Finance Program [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems', window );"><strong>Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Due to related parties</a></td>
<td class="nump">$ 417<span></span>
</td>
<td class="nump">$ 514<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProgramRightsObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations related to rights to programming, including, but not limited to, feature films and episodic series, acquired under license agreements that will be paid within the next twelve months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProgramRightsObligationsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=TGLS_SupplierFinanceProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=TGLS_SupplierFinanceProgramMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Long Term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Revolving lines of credit</a></td>
<td class="nump">$ 507<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_FinanceLeaseDebt', window );">Finance lease</a></td>
<td class="nump">80<span></span>
</td>
<td class="nump">111<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLongTermDebtCurrent', window );">Other current debt</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">378<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_SeniorSecuredCreditFacility', window );">Senior Secured Credit Facility</a></td>
<td class="nump">110,000<span></span>
</td>
<td class="nump">110,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCostsCurrent', window );">Less: Deferred cost of financing</a></td>
<td class="num">(1,358)<span></span>
</td>
<td class="num">(1,782)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total obligations under borrowing arrangements</a></td>
<td class="nump">109,229<span></span>
</td>
<td class="nump">109,307<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: Current portion of long-term debt and other current borrowings</a></td>
<td class="nump">587<span></span>
</td>
<td class="nump">1,087<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">$ 108,642<span></span>
</td>
<td class="nump">$ 108,220<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_FinanceLeaseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance lease debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_FinanceLeaseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_SeniorSecuredCreditFacility">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Senior secured credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_SeniorSecuredCreditFacility</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of deferred costs capitalized at the end of the reporting period that are expected to be charged against earnings within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Maturities of Long Term Debt (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">2026</a></td>
<td class="nump">$ 587<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2027</a></td>
<td class="nump">110,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total</a></td>
<td class="nump">$ 110,587<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Line of credit facility</a></td>
<td class="nump">$ 507,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDateDescription', window );">Loan maturity period description</a></td>
<td class="text">several weeks to 2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtWeightedAverageInterestRate', window );">Debt, weighted average interest rate</a></td>
<td class="nump">5.87%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=TGLS_SeniorSecuredCreditFacilityMember', window );">Senior Secured Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Line of credit facility</a></td>
<td class="nump">$ 110,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 150,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt instrument basis spread on variable rate</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod', window );">Line of credit interest rate</a></td>
<td class="nump">6.77%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentMaturityDateDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the maturity date of the debt instrument including whether the debt matures serially and, if so, a brief description of the serial maturities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentMaturityDateDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtWeightedAverageInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate of debt outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtWeightedAverageInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=TGLS_SeniorSecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=TGLS_SeniorSecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Fair Value of Foreign Currency Hedges (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Total derivative assets</a></td>
<td class="nump">$ 5,474<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities', window );">Total derivative liabilities</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsMember', window );">Interest Rate Swap Contracts [Member] | Other Current Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Total derivative assets</a></td>
<td class="nump">2,606<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsMember', window );">Interest Rate Swap Contracts [Member] | Accrued Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities', window );">Total derivative liabilities</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember', window );">Foreign Currency Non Delivery Forwards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Total derivative assets</a></td>
<td class="nump">5,474<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember', window );">Foreign Currency Non Delivery Forwards [Member] | Other Current Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Total derivative assets</a></td>
<td class="nump">2,868<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember', window );">Foreign Currency Non Delivery Forwards [Member] | Accrued Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities', window );">Total derivative liabilities</a></td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the asset arising from derivative instruments and hedging activities, which are expected to be converted into cash or otherwise disposed of within a year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgesLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 182<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-182<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CC<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CC<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details) - Interest Rate Swap Contracts and Foreign Currency Non-delivery Forwards [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives</a></td>
<td class="nump">$ 785<span></span>
</td>
<td class="num">$ (342)<span></span>
</td>
<td class="nump">$ 148<span></span>
</td>
<td class="nump">$ 694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion', window );">Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income</a></td>
<td class="nump">$ 1,250<span></span>
</td>
<td class="nump">$ 1,084<span></span>
</td>
<td class="nump">$ 2,242<span></span>
</td>
<td class="nump">$ 2,183<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Derivative instruments gain loss reclassified from accumulated OCI into income effective portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 182<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-182<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CC<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CC<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtFairValue', window );">Fair Value</a></td>
<td class="nump">$ 106,361<span></span>
</td>
<td class="nump">$ 109,341<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Carrying Value</a></td>
<td class="nump">$ 108,642<span></span>
</td>
<td class="nump">$ 108,220<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-12<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Hedging Activity and Fair Value Measurements (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Jun. 21, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income net of tax</a></td>
<td class="num">$ (68,177)<span></span>
</td>
<td class="num">$ (101,161)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Accumulated other comprehensive income net of tax</a></td>
<td class="nump">5,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit', window );">Derivatives used in net investment hedge, tax (benefit)</a></td>
<td class="nump">1,004<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=TGLS_AccumulatedOtherComprehensiveLossMember', window );">Accumulated Other Comprehensive Loss [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ReclassifiedEarningsExpected', window );">Reclassified earnings, expected</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative assets</a></td>
<td class="nump">5,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestEarningAssetsAverageAmountOutstanding', window );">Interest earning assets average outstanding</a></td>
<td class="nump">110,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAverageAmountOutstanding', window );">Debt outstanding amount</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive income net of tax</a></td>
<td class="nump">4,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Derivative fixed interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.93%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Derivative fixed interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.87%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember', window );">Foreign Currency Non Delivery Forwards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedges', window );">Accumulated other comprehensive income net of tax</a></td>
<td class="nump">$ 5,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ReclassifiedEarningsExpected">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reclassified earnings expected.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ReclassifiedEarningsExpected</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480870/815-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other 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 assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-7A<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-10<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-11<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482881/825-10-55-12<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-22<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-21<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-20<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-15<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483444/210-20-55-10<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483466/210-20-50-3<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 103<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-103<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-12<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477439/946-210-55-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 32: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(3)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5C<br> -Subparagraph (SX 210.12-13C(Column H)(Footnote 7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5C<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(3)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SX 210.12-13(Column A)(Footnote 3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5C<br> -Subparagraph (SX 210.12-13C(Column H))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5C<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5A<br> -Subparagraph (SX 210.12-13A(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5B<br> -Subparagraph (SX 210.12-13B(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5B<br> -Subparagraph (SX 210.12-13B(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-5B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the asset arising from derivative instruments and hedging activities, which are expected to be converted into cash or otherwise disposed of within a year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 182<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480401/815-10-55-182<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CCC<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CC<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4CC<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4C<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4D<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income tax expense (benefit) from transactions on foreign currency derivatives that are designated as, and are effective as, economic hedges of a net investment in a foreign entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestEarningAssetsAverageAmountOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Average amount outstanding of interest-earning assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph b<br> -Subparagraph (1)<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestEarningAssetsAverageAmountOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAverageAmountOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Average amount outstanding of long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph a<br> -Publisher SEC<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph b<br> -Subparagraph (1)<br> -Publisher SEC<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAverageAmountOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=TGLS_AccumulatedOtherComprehensiveLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=TGLS_AccumulatedOtherComprehensiveLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=TGLS_ForeignCurrencyNonDeliveryForwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Components of Income Tax Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Total current income tax</a></td>
<td class="num">$ (18,616)<span></span>
</td>
<td class="num">$ (14,554)<span></span>
</td>
<td class="num">$ (33,806)<span></span>
</td>
<td class="num">$ (22,195)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred income tax</a></td>
<td class="nump">468<span></span>
</td>
<td class="nump">2,061<span></span>
</td>
<td class="num">(2,002)<span></span>
</td>
<td class="num">(1,457)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income provision</a></td>
<td class="num">$ (18,148)<span></span>
</td>
<td class="num">$ (12,493)<span></span>
</td>
<td class="num">$ (35,808)<span></span>
</td>
<td class="num">$ (23,652)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">29.20%<span></span>
</td>
<td class="nump">26.30%<span></span>
</td>
<td class="nump">29.30%<span></span>
</td>
<td class="nump">26.80%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Total current income tax</a></td>
<td class="num">$ (8,286)<span></span>
</td>
<td class="num">$ (4,775)<span></span>
</td>
<td class="num">$ (11,920)<span></span>
</td>
<td class="num">$ (8,607)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred income tax</a></td>
<td class="nump">58<span></span>
</td>
<td class="nump">929<span></span>
</td>
<td class="num">(1,355)<span></span>
</td>
<td class="num">(249)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CO', window );">COLOMBIA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Total current income tax</a></td>
<td class="num">(10,329)<span></span>
</td>
<td class="num">(9,774)<span></span>
</td>
<td class="num">(21,881)<span></span>
</td>
<td class="num">(13,582)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred income tax</a></td>
<td class="nump">410<span></span>
</td>
<td class="nump">1,132<span></span>
</td>
<td class="num">(647)<span></span>
</td>
<td class="num">(1,208)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_PA', window );">PANAMA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Total current income tax</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
<td class="num">$ (6)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CO">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CO</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_PA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_PA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory income tax rate</a></td>
<td class="nump">29.70%<span></span>
</td>
<td class="nump">26.30%<span></span>
</td>
<td class="nump">29.60%<span></span>
</td>
<td class="nump">26.80%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">Weighted average statutory rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Related Parties (Details) - Related Party [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">$ 3,345<span></span>
</td>
<td class="nump">$ 2,674<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Total due to related parties</a></td>
<td class="nump">9,714<span></span>
</td>
<td class="nump">9,864<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember', window );">Fundacion Tecnoglass-ESWindows [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">921<span></span>
</td>
<td class="nump">809<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember', window );">Prisma Glass LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">808<span></span>
</td>
<td class="nump">375<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember', window );">Alutrafic Led SAS [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">594<span></span>
</td>
<td class="nump">629<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember', window );">Studio Avanti SAS [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">409<span></span>
</td>
<td class="nump">301<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_DueFromOtherRelatedPartiesMember', window );">Due from Other Related Parties [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Total due from related parties</a></td>
<td class="nump">613<span></span>
</td>
<td class="nump">560<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Total due to related parties</a></td>
<td class="nump">3,095<span></span>
</td>
<td class="nump">4,204<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_VidrioAndinoMember', window );">Vidrio Andino [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Total due to related parties</a></td>
<td class="nump">$ 6,619<span></span>
</td>
<td class="nump">$ 5,660<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_DueFromOtherRelatedPartiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_DueFromOtherRelatedPartiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_VidrioAndinoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_VidrioAndinoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Sale to Related Parties (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="nump">$ 5,296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,401,000<span></span>
</td>
<td class="nump">$ 726,000<span></span>
</td>
<td class="nump">$ 2,417,000<span></span>
</td>
<td class="nump">$ 1,264,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember', window );">Prisma Glass LLC [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">785,000<span></span>
</td>
<td class="nump">315,000<span></span>
</td>
<td class="nump">1,168,000<span></span>
</td>
<td class="nump">508,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember', window );">Alutrafic Led SAS [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">230,000<span></span>
</td>
<td class="nump">239,000<span></span>
</td>
<td class="nump">587,000<span></span>
</td>
<td class="nump">378,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember', window );">Studio Avanti SAS [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">294,000<span></span>
</td>
<td class="nump">149,000<span></span>
</td>
<td class="nump">532,000<span></span>
</td>
<td class="nump">345,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_SalesToOtherRelatedPartiesMember', window );">Sales To Other Related Parties [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 93,000<span></span>
</td>
<td class="nump">$ 23,000<span></span>
</td>
<td class="nump">$ 131,000<span></span>
</td>
<td class="nump">$ 33,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_SalesToOtherRelatedPartiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_SalesToOtherRelatedPartiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Parties (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 09, 2020</div></th>
<th class="th"><div>Oct. 28, 2020</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Oct. 27, 2020</div></th>
<th class="th"><div>May 03, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price of interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,429,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity method income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,286,000<span></span>
</td>
<td class="nump">$ 2,283,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=TGLS_VidrioAndinoMember', window );">Vidrio Andino [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Minority interest ownership</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.80%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price of interest</a></td>
<td class="nump">$ 45,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Payment of cash</a></td>
<td class="nump">34,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand', window );">Land contribution value</a></td>
<td class="nump">$ 10,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Shares issued during acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,557,142<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssuedPricePerShare', window );">Shares issued, price per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_PremiumClosingStockPercentage', window );">Premium closing stock, percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_ExpectedOwnershipPercentage', window );">Expected ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_FutureAdditionalContributionAmount', window );">Additional contribution amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireProductiveAssets', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,633,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,214,000<span></span>
</td>
<td class="nump">19,678,000<span></span>
</td>
<td class="nump">14,095,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity method income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">941,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,120,000<span></span>
</td>
<td class="nump">2,285,000<span></span>
</td>
<td class="nump">2,568,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,401,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">726,000<span></span>
</td>
<td class="nump">2,417,000<span></span>
</td>
<td class="nump">1,264,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other Receivables, Net, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,345,000<span></span>
</td>
<td class="nump">3,345,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,345,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,674,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member] | Vidrio Andino [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Payable outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,619,000<span></span>
</td>
<td class="nump">6,619,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,619,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,660,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember', window );">Alutrafic Led SAS [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">230,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239,000<span></span>
</td>
<td class="nump">587,000<span></span>
</td>
<td class="nump">378,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">629,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other Receivables, Net, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">594,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">629,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember', window );">Fundacion Tecnoglass-ESWindows [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_CashContributionsForSocialCauses', window );">Cash contributions for social causes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">998,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">821,000<span></span>
</td>
<td class="nump">2,046,000<span></span>
</td>
<td class="nump">1,570,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember', window );">Fundacion Tecnoglass-ESWindows [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other Receivables, Net, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">921,000<span></span>
</td>
<td class="nump">921,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">921,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">809,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember', window );">Prisma Glass LLC [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">785,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">315,000<span></span>
</td>
<td class="nump">1,168,000<span></span>
</td>
<td class="nump">508,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">375,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other Receivables, Net, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">808,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">375,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_SantaMariaDelMarSASMember', window );">Santa Maria Del Mar SAS [Member] | Related Party [Member] | CEO and COO [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_PurchasePriceOfFuel', window );">Purchases of fuel</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">131,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,000<span></span>
</td>
<td class="nump">719,000<span></span>
</td>
<td class="nump">261,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireLandHeldForUse', window );">Payment for acquisition, land</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 334,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember', window );">Studio Avanti SAS [Member] | Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue from related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">294,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 149,000<span></span>
</td>
<td class="nump">532,000<span></span>
</td>
<td class="nump">$ 345,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">301,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other Receivables, Net, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">409,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">301,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=TGLS_ZofracostaSAMember', window );">Zofracosta SA [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 748,000<span></span>
</td>
<td class="nump">$ 748,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 748,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 690,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_CashContributionsForSocialCauses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash contributions for social causes</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_CashContributionsForSocialCauses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_ExpectedOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected ownership percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_ExpectedOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_FutureAdditionalContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future additional contribution amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_FutureAdditionalContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_PremiumClosingStockPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Premium closing stock, percent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_PremiumClosingStockPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_PurchasePriceOfFuel">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of fuel.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_PurchasePriceOfFuel</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of land acquired in business combination and recognized at acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479303/805-10-55-41<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireLandHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for acquisition of land for use; excludes purchases of land held as inventory or as investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireLandHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480060/805-50-25-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480027/805-50-30-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480027/805-50-30-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480434/815-10-50-4A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478671/942-235-S50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-14<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 605<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477548/944-605-55-11<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or per unit amount of equity securities issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=TGLS_VidrioAndinoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=TGLS_VidrioAndinoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_AlutraficLedSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_FundacionTecnoglassMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_PrismaGlassLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_SantaMariaDelMarSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_SantaMariaDelMarSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=TGLS_CEOAndCOOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=TGLS_CEOAndCOOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_StudioAvantiSASMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=TGLS_ZofracostaSAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=TGLS_ZofracostaSAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income attributable to parent</a></td>
<td class="nump">$ 44,083<span></span>
</td>
<td class="nump">$ 42,189<span></span>
</td>
<td class="nump">$ 35,028<span></span>
</td>
<td class="nump">$ 29,730<span></span>
</td>
<td class="nump">$ 86,272<span></span>
</td>
<td class="nump">$ 64,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic earnings per ordinary share - weighted average shares outstanding</a></td>
<td class="nump">46,988,155<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,996,705<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,989,650<span></span>
</td>
<td class="nump">46,996,706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_TGLS_EffectOfDilutiveSecuritiesAndStockDividend', window );">Effect of dilutive securities and stock dividend</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per ordinary share - weighted average shares outstanding</a></td>
<td class="nump">46,988,155<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,996,705<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,989,650<span></span>
</td>
<td class="nump">46,996,706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per ordinary share</a></td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.84<span></span>
</td>
<td class="nump">$ 1.38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per ordinary share</a></td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.84<span></span>
</td>
<td class="nump">$ 1.38<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_TGLS_EffectOfDilutiveSecuritiesAndStockDividend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effect of dilutive securities and stock dividend.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">TGLS_EffectOfDilutiveSecuritiesAndStockDividend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>TGLS_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 220<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 480<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3A<br> -Subparagraph (24)(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 9<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 17<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (f)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4<br><br>Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Shareholders&#8217; Equity (Details Narrative) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2025</div></th>
<th class="th"><div>Jun. 10, 2025</div></th>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.11<span></span>
</td>
<td class="nump">$ 0.11<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=TGLS_QuarterlyRateMember', window );">Quarterly Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=TGLS_AnnualBasisMember', window );">Annual Basis [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.60<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=TGLS_QuarterlyRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=TGLS_QuarterlyRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=TGLS_AnnualBasisMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=TGLS_AnnualBasisMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.2</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details Narrative) - Minimum [Member]<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2025 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">November 30, 2030 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Purchase of aggregate raw material</a></td>
<td class="nump">$ 85,735<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Through 2028 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Purchase of aggregate raw material</a></td>
<td class="nump">$ 8,062<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum amount the entity agreed to spend under the long-term purchase commitment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 275<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483359/720-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 27<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482395/460-10-55-27<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=TGLS_NovemberThirtyTwoThousandThirtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=TGLS_NovemberThirtyTwoThousandThirtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=TGLS_ThroughTwoThousandTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=TGLS_ThroughTwoThousandTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>221</ContextCount>
  <ElementCount>293</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>53</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/BalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome</Role>
      <ShortName>Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/StatementsOfCashFlows</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/StatementsOfShareholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>999013 - Disclosure - General</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/General</Role>
      <ShortName>General</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>999015 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>999016 - Disclosure - Inventories, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/InventoriesNet</Role>
      <ShortName>Inventories, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities</Role>
      <ShortName>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>999018 - Disclosure - Intangible Assets and Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IntangibleAssetsAndGoodwill</Role>
      <ShortName>Intangible Assets and Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>999019 - Disclosure - Supplier Finance Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/SupplierFinanceProgram</Role>
      <ShortName>Supplier Finance Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>999020 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>999021 - Disclosure - Hedging Activity and Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements</Role>
      <ShortName>Hedging Activity and Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>999022 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>999023 - Disclosure - Related Parties</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RelatedParties</Role>
      <ShortName>Related Parties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>999024 - Disclosure - Shareholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ShareholdersEquity</Role>
      <ShortName>Shareholders??? Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>999025 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>999027 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/Acquisitions</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>999028 - Disclosure - Inventories, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/InventoriesNetTables</Role>
      <ShortName>Inventories, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/InventoriesNet</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables</Role>
      <ShortName>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>999030 - Disclosure - Intangible Assets and Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables</Role>
      <ShortName>Intangible Assets and Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/IntangibleAssetsAndGoodwill</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>999031 - Disclosure - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/DebtTables</Role>
      <ShortName>Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/Debt</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables</Role>
      <ShortName>Hedging Activity and Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>999033 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/IncomeTaxes</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>999034 - Disclosure - Related Parties (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RelatedPartiesTables</Role>
      <ShortName>Related Parties (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/RelatedParties</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>999035 - Disclosure - Shareholders??? Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ShareholdersEquityTables</Role>
      <ShortName>Shareholders??? Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/ShareholdersEquity</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails</Role>
      <ShortName>Schedule of Purchase Price Allocation Consideration Transferred (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails</Role>
      <ShortName>Schedule of Unaudited Pro Forma Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>999038 - Disclosure - Acquisitions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/AcquisitionsDetailsNarrative</Role>
      <ShortName>Acquisitions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/AcquisitionsTables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>999039 - Disclosure - Schedule of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfInventoriesDetails</Role>
      <ShortName>Schedule of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails</Role>
      <ShortName>Schedule of Disaggregation by Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>999041 - Disclosure - Schedule of Geographic Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails</Role>
      <ShortName>Schedule of Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails</Role>
      <ShortName>Schedule of Revenues Distribution By End Market (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails</Role>
      <ShortName>Schedule of Trade Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails</Role>
      <ShortName>Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of Contract Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative</Role>
      <ShortName>Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails</Role>
      <ShortName>Schedule of Finite-Lived Intangible Assets, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails</Role>
      <ShortName>Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>999049 - Disclosure - Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfGoodwillDetails</Role>
      <ShortName>Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative</Role>
      <ShortName>Intangible Assets and Goodwill (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>999051 - Disclosure - Supplier Finance Program (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative</Role>
      <ShortName>Supplier Finance Program (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/SupplierFinanceProgram</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>999052 - Disclosure - Schedule of Long Term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails</Role>
      <ShortName>Schedule of Long Term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails</Role>
      <ShortName>Schedule of Maturities of Long Term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>999054 - Disclosure - Debt (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/DebtDetailsNarrative</Role>
      <ShortName>Debt (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/DebtTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails</Role>
      <ShortName>Schedule of Fair Value of Foreign Currency Hedges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails</Role>
      <ShortName>Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails</Role>
      <ShortName>Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative</Role>
      <ShortName>Hedging Activity and Fair Value Measurements (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails</Role>
      <ShortName>Schedule of Components of Income Tax Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>999060 - Disclosure - Income Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/IncomeTaxesTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>999061 - Disclosure - Schedule of Related Parties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails</Role>
      <ShortName>Schedule of Related Parties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>999062 - Disclosure - Schedule of Sale to Related Parties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails</Role>
      <ShortName>Schedule of Sale to Related Parties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>999063 - Disclosure - Related Parties (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/RelatedPartiesDetailsNarrative</Role>
      <ShortName>Related Parties (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/RelatedPartiesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails</Role>
      <ShortName>Schedule of Earnings Per Share, Basic and Diluted (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>999065 - Disclosure - Shareholders??? Equity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative</Role>
      <ShortName>Shareholders??? Equity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/ShareholdersEquityTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>999066 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://tecnoglass.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>63</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="form10-q.htm">form10-q.htm</File>
    <File>tgls-20250630.xsd</File>
    <File>tgls-20250630_cal.xml</File>
    <File>tgls-20250630_def.xml</File>
    <File>tgls-20250630_lab.xml</File>
    <File>tgls-20250630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="852">http://fasb.org/us-gaap/2025</BaseTaxonomy>
    <BaseTaxonomy items="32">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>79
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form10-q.htm": {
   "nsprefix": "TGLS",
   "nsuri": "http://tecnoglass.com/20250630",
   "dts": {
    "inline": {
     "local": [
      "form10-q.htm"
     ]
    },
    "schema": {
     "local": [
      "tgls-20250630.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/net-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://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd",
      "https://xbrl.sec.gov/country/2025/country-2025.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd",
      "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tgls-20250630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tgls-20250630_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tgls-20250630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tgls-20250630_pre.xml"
     ]
    }
   },
   "keyStandard": 260,
   "keyCustom": 33,
   "axisStandard": 17,
   "axisCustom": 0,
   "memberStandard": 19,
   "memberCustom": 33,
   "hidden": {
    "total": 124,
    "http://fasb.org/us-gaap/2025": 112,
    "http://xbrl.sec.gov/dei/2025": 4,
    "http://tecnoglass.com/20250630": 8
   },
   "contextCount": 221,
   "entityCount": 1,
   "segmentCount": 53,
   "elementCount": 547,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2025": 852,
    "http://xbrl.sec.gov/dei/2025": 32,
    "http://xbrl.sec.gov/ecd/2025": 4
   },
   "report": {
    "R1": {
     "role": "http://tecnoglass.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://tecnoglass.com/role/BalanceSheets",
     "longName": "00000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://tecnoglass.com/role/BalanceSheetsParenthetical",
     "longName": "00000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
     "longName": "00000004 - Statement - Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Operations and Other Comprehensive Income (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://tecnoglass.com/role/StatementsOfCashFlows",
     "longName": "00000005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DepreciationAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://tecnoglass.com/role/StatementsOfShareholdersEquity",
     "longName": "00000006 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_RetainedEarningsMember",
      "name": "us-gaap:DividendsCommonStock",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical",
     "longName": "00000007 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical)",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited) (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:SharePrice",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R9": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://tecnoglass.com/role/General",
     "longName": "999013 - Disclosure - General",
     "shortName": "General",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies",
     "longName": "999014 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://tecnoglass.com/role/Acquisitions",
     "longName": "999015 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://tecnoglass.com/role/InventoriesNet",
     "longName": "999016 - Disclosure - Inventories, net",
     "shortName": "Inventories, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities",
     "longName": "999017 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities",
     "shortName": "Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://tecnoglass.com/role/IntangibleAssetsAndGoodwill",
     "longName": "999018 - Disclosure - Intangible Assets and Goodwill",
     "shortName": "Intangible Assets and Goodwill",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://tecnoglass.com/role/SupplierFinanceProgram",
     "longName": "999019 - Disclosure - Supplier Finance Program",
     "shortName": "Supplier Finance Program",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:SupplierFinanceProgramTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:SupplierFinanceProgramTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://tecnoglass.com/role/Debt",
     "longName": "999020 - Disclosure - Debt",
     "shortName": "Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements",
     "longName": "999021 - Disclosure - Hedging Activity and Fair Value Measurements",
     "shortName": "Hedging Activity and Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://tecnoglass.com/role/IncomeTaxes",
     "longName": "999022 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://tecnoglass.com/role/RelatedParties",
     "longName": "999023 - Disclosure - Related Parties",
     "shortName": "Related Parties",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://tecnoglass.com/role/ShareholdersEquity",
     "longName": "999024 - Disclosure - Shareholders\u2019 Equity",
     "shortName": "Shareholders\u2019 Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://tecnoglass.com/role/CommitmentsAndContingencies",
     "longName": "999025 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "999026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://tecnoglass.com/role/AcquisitionsTables",
     "longName": "999027 - Disclosure - Acquisitions (Tables)",
     "shortName": "Acquisitions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://tecnoglass.com/role/InventoriesNetTables",
     "longName": "999028 - Disclosure - Inventories, net (Tables)",
     "shortName": "Inventories, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables",
     "longName": "999029 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)",
     "shortName": "Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables",
     "longName": "999030 - Disclosure - Intangible Assets and Goodwill (Tables)",
     "shortName": "Intangible Assets and Goodwill (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://tecnoglass.com/role/DebtTables",
     "longName": "999031 - Disclosure - Debt (Tables)",
     "shortName": "Debt (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables",
     "longName": "999032 - Disclosure - Hedging Activity and Fair Value Measurements (Tables)",
     "shortName": "Hedging Activity and Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://tecnoglass.com/role/IncomeTaxesTables",
     "longName": "999033 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://tecnoglass.com/role/RelatedPartiesTables",
     "longName": "999034 - Disclosure - Related Parties (Tables)",
     "shortName": "Related Parties (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://tecnoglass.com/role/ShareholdersEquityTables",
     "longName": "999035 - Disclosure - Shareholders\u2019 Equity (Tables)",
     "shortName": "Shareholders\u2019 Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails",
     "longName": "999036 - Disclosure - Schedule of Purchase Price Allocation Consideration Transferred (Details)",
     "shortName": "Schedule of Purchase Price Allocation Consideration Transferred (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R34": {
     "role": "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails",
     "longName": "999037 - Disclosure - Schedule of Unaudited Pro Forma Financial Information (Details)",
     "shortName": "Schedule of Unaudited Pro Forma Financial Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30_srt_ProFormaMember",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_srt_ProFormaMember",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
     "longName": "999038 - Disclosure - Acquisitions (Details Narrative)",
     "shortName": "Acquisitions (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-042025-06-30",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R36": {
     "role": "http://tecnoglass.com/role/ScheduleOfInventoriesDetails",
     "longName": "999039 - Disclosure - Schedule of Inventories (Details)",
     "shortName": "Schedule of Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
     "longName": "999040 - Disclosure - Schedule of Disaggregation by Revenue (Details)",
     "shortName": "Schedule of Disaggregation by Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_custom_FixedPriceContractsMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R38": {
     "role": "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails",
     "longName": "999041 - Disclosure - Schedule of Geographic Information (Details)",
     "shortName": "Schedule of Geographic Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_country_CO",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails",
     "longName": "999042 - Disclosure - Schedule of Revenues Distribution By End Market (Details)",
     "shortName": "Schedule of Revenues Distribution By End Market (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_custom_ResidentialMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails",
     "longName": "999043 - Disclosure - Schedule of Trade Accounts Receivable (Details)",
     "shortName": "Schedule of Trade Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails",
     "longName": "999044 - Disclosure - Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)",
     "shortName": "Schedule of Changes in Allowance for Doubtful Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "TGLS:ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails",
     "longName": "999045 - Disclosure - Schedule of Contract Assets and Liabilities (Details)",
     "shortName": "Schedule of Contract Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:ContractWithCustomerAssetNetCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "TGLS:NetContractLiabilitiesAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative",
     "longName": "999046 - Disclosure - Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)",
     "shortName": "Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails",
     "longName": "999047 - Disclosure - Schedule of Finite-Lived Intangible Assets, Net (Details)",
     "shortName": "Schedule of Finite-Lived Intangible Assets, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails",
     "longName": "999048 - Disclosure - Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)",
     "shortName": "Schedule of Finite Lived Intangible Assets Future Amortization Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://tecnoglass.com/role/ScheduleOfGoodwillDetails",
     "longName": "999049 - Disclosure - Schedule of Goodwill (Details)",
     "shortName": "Schedule of Goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:BusinessCombinationSegmentAllocationTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative",
     "longName": "999050 - Disclosure - Intangible Assets and Goodwill (Details Narrative)",
     "shortName": "Intangible Assets and Goodwill (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative",
     "longName": "999051 - Disclosure - Supplier Finance Program (Details Narrative)",
     "shortName": "Supplier Finance Program (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30_custom_SupplierFinanceProgramMember",
      "name": "us-gaap:ProgramRightsObligationsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SupplierFinanceProgramTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails",
     "longName": "999052 - Disclosure - Schedule of Long Term Debt (Details)",
     "shortName": "Schedule of Long Term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LineOfCredit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "TGLS:FinanceLeaseDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails",
     "longName": "999053 - Disclosure - Schedule of Maturities of Long Term Debt (Details)",
     "shortName": "Schedule of Maturities of Long Term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://tecnoglass.com/role/DebtDetailsNarrative",
     "longName": "999054 - Disclosure - Debt (Details Narrative)",
     "shortName": "Debt (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LineOfCredit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DebtInstrumentMaturityDateDescription",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails",
     "longName": "999055 - Disclosure - Schedule of Fair Value of Foreign Currency Hedges (Details)",
     "shortName": "Schedule of Fair Value of Foreign Currency Hedges (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:DerivativeInstrumentsAndHedges",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_OtherCurrentAssetsMember",
      "name": "us-gaap:DerivativeInstrumentsAndHedges",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails",
     "longName": "999056 - Disclosure - Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)",
     "shortName": "Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails",
     "longName": "999057 - Disclosure - Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)",
     "shortName": "Schedule of Fair Value and Carrying Amounts of Long Term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LongTermDebtFairValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:LongTermDebtFairValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
     "longName": "999058 - Disclosure - Hedging Activity and Fair Value Measurements (Details Narrative)",
     "shortName": "Hedging Activity and Fair Value Measurements (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-01to2025-06-30",
      "name": "us-gaap:DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
     "longName": "999059 - Disclosure - Schedule of Components of Income Tax Expense (Details)",
     "shortName": "Schedule of Components of Income Tax Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://tecnoglass.com/role/IncomeTaxesDetailsNarrative",
     "longName": "999060 - Disclosure - Income Taxes (Details Narrative)",
     "shortName": "Income Taxes (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
     "longName": "999061 - Disclosure - Schedule of Related Parties (Details)",
     "shortName": "Schedule of Related Parties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30_us-gaap_RelatedPartyMember",
      "name": "us-gaap:OtherReceivablesNetCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember",
      "name": "us-gaap:OtherReceivablesNetCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails",
     "longName": "999062 - Disclosure - Schedule of Sale to Related Parties (Details)",
     "shortName": "Schedule of Sale to Related Parties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "From2025-04-042025-06-30",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
     "longName": "999063 - Disclosure - Related Parties (Details Narrative)",
     "shortName": "Related Parties (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "From2025-04-042025-06-30",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2019-05-03_custom_VidrioAndinoMember",
      "name": "us-gaap:MinorityInterestOwnershipPercentageByParent",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
     "longName": "999064 - Disclosure - Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "shortName": "Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "From2025-04-012025-06-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R62": {
     "role": "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative",
     "longName": "999065 - Disclosure - Shareholders\u2019 Equity (Details Narrative)",
     "shortName": "Shareholders\u2019 Equity (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "AsOf2025-06-30",
      "name": "us-gaap:SharePrice",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2025-06-10_custom_QuarterlyRateMember",
      "name": "us-gaap:SharePrice",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "999066 - Disclosure - Commitments and Contingencies (Details Narrative)",
     "shortName": "Commitments and Contingencies (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember",
      "name": "us-gaap:LongTermPurchaseCommitmentAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember",
      "name": "us-gaap:LongTermPurchaseCommitmentAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "TGLS_AccountPayableForBusinessAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "AccountPayableForBusinessAcquisition",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Account payable for business acquisition",
        "documentation": "Account payable for business acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade accounts payable and accrued expenses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payable outstanding",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r1022"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r221",
      "r222",
      "r632",
      "r1345"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r827",
      "r896",
      "r1045",
      "r1344",
      "r1345"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade accounts receivable, net",
        "totalLabel": "Total",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1243"
     ]
    },
    "us-gaap_AccountsReceivableNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsReceivableNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term account receivables",
        "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 noncurrent."
       }
      }
     },
     "auth_ref": [
      "r734",
      "r1243"
     ]
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccruedLiabilitiesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities [Member]",
        "documentation": "This item represents obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss",
        "verboseLabel": "Accumulated other comprehensive income net of tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r61",
      "r133",
      "r753",
      "r780",
      "r781",
      "r1303"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r11",
      "r15",
      "r606",
      "r609",
      "r654",
      "r776",
      "r777",
      "r1172",
      "r1173",
      "r1174",
      "r1232",
      "r1233",
      "r1234",
      "r1235"
     ]
    },
    "TGLS_AccumulatedOtherComprehensiveLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "AccumulatedOtherComprehensiveLossMember",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Loss [Member]",
        "documentation": "Accumulated Other Comprehensive Loss [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average amortization period",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r910"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1102"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r1022",
      "r1378"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r796",
      "r1232",
      "r1233",
      "r1234",
      "r1235",
      "r1304",
      "r1381"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1073",
      "r1084",
      "r1094",
      "r1119"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r1076",
      "r1087",
      "r1097",
      "r1122"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r1108"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r1115"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1115",
      "r1123",
      "r1127",
      "r1135"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "auth_ref": [
      "r1133"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails",
      "http://tecnoglass.com/role/ScheduleOfTradeAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Allowance for credit losses",
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r223",
      "r258"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deductions and write-offs, net of foreign currency adjustment",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r262"
     ]
    },
    "TGLS_AlutraficLedSASMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "AlutraficLedSASMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Alutrafic Led SAS [Member]",
        "documentation": "Alutrafic Led SAS [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r159",
      "r276",
      "r283",
      "r914",
      "r922",
      "r923",
      "r926",
      "r929"
     ]
    },
    "TGLS_AnnualBasisMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "AnnualBasisMember",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Basis [Member]",
        "documentation": "Annual Basis [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r1080"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r101",
      "r127",
      "r170",
      "r173",
      "r174",
      "r205",
      "r209",
      "r215",
      "r216",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r529",
      "r533",
      "r637",
      "r737",
      "r738",
      "r747",
      "r832",
      "r937",
      "r938",
      "r947",
      "r1022",
      "r1037",
      "r1038",
      "r1054",
      "r1272",
      "r1273",
      "r1334"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r138",
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r529",
      "r533",
      "r637",
      "r1022",
      "r1272",
      "r1273",
      "r1334"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total long-term assets",
        "label": "Assets, Noncurrent",
        "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 after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r529",
      "r533",
      "r637",
      "r1272",
      "r1273",
      "r1334"
     ]
    },
    "us-gaap_AssetsNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsNoncurrentAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r1080"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r1130"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r1131"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r1129"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r1128"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r1127"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance is reported."
       }
      }
     },
     "auth_ref": [
      "r296",
      "r546",
      "r551",
      "r552",
      "r553",
      "r554",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r636",
      "r1005",
      "r1006",
      "r1149",
      "r1347"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in statement of financial position where disaggregated cumulative balance is reported."
       }
      }
     },
     "auth_ref": [
      "r296",
      "r546",
      "r551",
      "r552",
      "r553",
      "r554",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r636",
      "r1005",
      "r1006",
      "r1149",
      "r1347"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation and Use of Estimates",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r1221"
     ]
    },
    "TGLS_BillingsInExcessOfCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BillingsInExcessOfCosts",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings in excess of costs",
        "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r522",
      "r523",
      "r524",
      "r784",
      "r957",
      "r958",
      "r1282",
      "r1286",
      "r1288"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r522",
      "r523",
      "r524",
      "r784",
      "r957",
      "r958",
      "r1282",
      "r1286",
      "r1288"
     ]
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Transaction Cost, Excluding Separately Recognized Transaction",
        "documentation": "Amount of transaction cost incurred to effect business combination. Excludes separately recognized transaction and indirect cost."
       }
      }
     },
     "auth_ref": [
      "r1284"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r464",
      "r465",
      "r466",
      "r467",
      "r473",
      "r474",
      "r475",
      "r476",
      "r482",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r518",
      "r519",
      "r520",
      "r524",
      "r961",
      "r970",
      "r1282",
      "r1286",
      "r1288"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Unaudited Pro Forma Financial Information",
        "documentation": "Tabular disclosure of pro forma revenue and earnings for business combination or aggregate of series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r971",
      "r1146",
      "r1147",
      "r1283"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "label": "Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax",
        "documentation": "Amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r480",
      "r482",
      "r961",
      "r971",
      "r972"
     ]
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "documentation": "Amount of pro forma revenue of combined entity as if acquisition date of business combination occurred as of beginning of period."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r480",
      "r482",
      "r961",
      "r971"
     ]
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total purchase price",
        "verboseLabel": "Total consideration transferred",
        "terseLabel": "Purchase price of interest",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r508",
      "r520",
      "r961",
      "r966"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquisitions",
        "documentation": "The entire disclosure for business combination."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464",
      "r468",
      "r477",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r488",
      "r489",
      "r495",
      "r498",
      "r499",
      "r505",
      "r506",
      "r507",
      "r515",
      "r519",
      "r520",
      "r521",
      "r523",
      "r525",
      "r961",
      "r962",
      "r963",
      "r964",
      "r967",
      "r968",
      "r969"
     ]
    },
    "us-gaap_BusinessCombinationPriceOfAcquisitionExpected": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationPriceOfAcquisitionExpected",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Price of Acquisition, Expected",
        "documentation": "Purchase price of expected business acquisition prior to consideration being transferred. Excludes asset acquisition."
       }
      }
     },
     "auth_ref": [
      "r1284"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-use assets",
        "documentation": "Amount of asset acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r493",
      "r498"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billings in excess of cost and profit",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed billings in excess of cost and profit."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and equivalents",
        "documentation": "Amount of cash and cash equivalent acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Backlog",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed contract backlog."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Assets",
        "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Amount of receivable acquired in business combination and recognized at acquisition date, classified as current. Includes, but is not limited to, receivable from customer for product and service."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Account payable",
        "documentation": "Amount of accounts payable assumed in business combination and recognized at acquisition date, classified as current."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed current liabilities accrued expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Name",
        "documentation": "Amount of identifiable finite-lived intangible asset acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land contribution value",
        "documentation": "Amount of land acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liabilities",
        "documentation": "Amount of lease liabilities assumed in business combination and recognized at acquisition date, classified as current."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total identifiable net assets",
        "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less)",
        "documentation": "Amount of asset acquired in excess of (less than) liability assumed in business combination and recognized at acquisition date. Excludes goodwill."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r966",
      "r1287",
      "r1289"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notice of Acceptance and FBC permits",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed notice of acceptance and permits."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant, and equipment",
        "documentation": "Amount of property, plant, and equipment acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r966",
      "r1287",
      "r1289"
     ]
    },
    "TGLS_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Service revenue deposit",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed service revenue deposit."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfPurchasePriceAllocationConsiderationTransferredDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill",
        "documentation": "Amount of asset acquired in excess of (less than) liability assumed plus goodwill in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1287",
      "r1289"
     ]
    },
    "us-gaap_BusinessCombinationSegmentAllocationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationSegmentAllocationTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill",
        "documentation": "Tabular disclosure of goodwill acquired in business combination by reportable segment."
       }
      }
     },
     "auth_ref": [
      "r1291",
      "r1292"
     ]
    },
    "TGLS_CEOAndCOOMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "CEOAndCOOMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CEO and COO [Member]",
        "documentation": "CEO and COO [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "country_CO": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "CO",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COLOMBIA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r122",
      "r915"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "CASH AND CASH EQUIVALENTS - Beginning of period",
        "periodEndLabel": "CASH AND CASH EQUIVALENTS - End of period",
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation",
        "documentation": "Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r76",
      "r167"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS",
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation",
        "documentation": "Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r76"
     ]
    },
    "TGLS_CashContributionsForSocialCauses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "CashContributionsForSocialCauses",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash contributions for social causes",
        "documentation": "Cash contributions for social causes"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_CashPaidDuringPeriodForInterestAndTaxesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "CashPaidDuringPeriodForInterestAndTaxesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid during the period for:",
        "documentation": "Cash Paid During Period For Interest And Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1106"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CityAreaCode",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "TGLS_CommercialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "CommercialMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial [Member]",
        "documentation": "Commercial [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r91",
      "r750",
      "r818"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r301",
      "r302",
      "r897",
      "r1264",
      "r1266"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r1042",
      "r1043",
      "r1044",
      "r1046",
      "r1047",
      "r1048",
      "r1051",
      "r1232",
      "r1233",
      "r1235",
      "r1304",
      "r1376",
      "r1381"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary shares, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary shares, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r819"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary shares, shares issued",
        "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."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary shares, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r50",
      "r819",
      "r838",
      "r1381",
      "r1382"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary shares, $0.0001 par value, 100,000,000 shares authorized, 46,987,148 and 46,991,558 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively",
        "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."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r339",
      "r345",
      "r752",
      "r1022"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r1111"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r1113"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r1110"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r88",
      "r145",
      "r147",
      "r152",
      "r735",
      "r764"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r932"
     ]
    },
    "us-gaap_ConstructionContractorReceivableRetainage": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConstructionContractorReceivableRetainage",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_ContractWithCustomerAssetGrossCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retainage",
        "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r695"
     ]
    },
    "TGLS_ContiglassAssetAcquisitionLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ContiglassAssetAcquisitionLLCMember",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contiglass Asset Acquisition LLC [Member]",
        "documentation": "Contiglass Asset Acquisition LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ContractAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ContractAssetsMember",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets [Member]",
        "documentation": "Contract Assets [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ContractBacklogMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ContractBacklogMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Backlog [Member]",
        "documentation": "Contract Backlog [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ContractLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ContractLiabilitiesMember",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Liabilities [Member]",
        "documentation": "Contract Liabilities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Contract Assets and Liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1277"
     ]
    },
    "us-gaap_ContractWithCustomerAssetGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total contract assets",
        "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1275",
      "r1276"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "TGLS_NetContractLiabilitiesAssets",
       "weight": 1.0,
       "order": 1.0
      },
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets \u2013 current portion",
        "verboseLabel": "Less: current portion",
        "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."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r364",
      "r366",
      "r377"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerAssetNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "TGLS_NetContractLiabilitiesAssets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets \u2013 non-current",
        "verboseLabel": "Contract Assets \u2013 non-current",
        "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 noncurrent."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r364",
      "r366",
      "r377"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total contract liabilities",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r363",
      "r366",
      "r377"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "TGLS_NetContractLiabilitiesAssets",
       "weight": -1.0,
       "order": 3.0
      },
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liability \u2013 current portion",
        "negatedLabel": "Contract liabilities \u2014 current",
        "verboseLabel": "Less: current portion",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r363",
      "r366",
      "r377"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "TGLS_NetContractLiabilitiesAssets",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liability \u2013 non-current",
        "negatedLabel": "Contract liabilities \u2014 non-current",
        "verboseLabel": "Contract liabilities \u2013 non-current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r362",
      "r363",
      "r366",
      "r377"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales related to contract liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r378"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cost of sales",
        "label": "Cost of Product and Service Sold",
        "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."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r66",
      "r696",
      "r923",
      "r931",
      "r1004",
      "r1212"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CountryRegion",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r1271"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r1271"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Total current income tax",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r1222",
      "r1227"
     ]
    },
    "us-gaap_DebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term debt and current portion of long-term debt",
        "documentation": "Amount of debt and lease obligation, classified as current."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/Debt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r170",
      "r172",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r309",
      "r310",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r328",
      "r330",
      "r331",
      "r333",
      "r601",
      "r649"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt instrument basis spread on variable rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total obligations under borrowing arrangements",
        "label": "Long-Term Debt, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r90",
      "r334"
     ]
    },
    "us-gaap_DebtInstrumentMaturityDateDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentMaturityDateDescription",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan maturity period description",
        "documentation": "Description of the maturity date of the debt instrument including whether the debt matures serially and, if so, a brief description of the serial maturities."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Table]",
        "documentation": "Disclosure of information about allowance for credit loss on investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r1249"
     ]
    },
    "us-gaap_DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesHeldtomaturityAllowanceForCreditLossLineItems",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Allowance for Credit Loss [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1249"
     ]
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtWeightedAverageInterestRate",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, weighted average interest rate",
        "documentation": "Weighted average interest rate of debt outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_DeferredCostOfFinancing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "DeferredCostOfFinancing",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred cost of financing",
        "documentation": "Deferred cost of financing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCostsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredCostsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Deferred cost of financing",
        "label": "Deferred Costs, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of deferred costs capitalized at the end of the reporting period that are expected to be charged against earnings within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1162"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r437",
      "r438"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Total deferred income tax",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r105",
      "r1222",
      "r1227"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r437",
      "r438",
      "r748"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred income taxes",
        "label": "Deferred Income Taxes and Tax Credits",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r25"
     ]
    },
    "us-gaap_DerivativeAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeAssets",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative assets",
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other 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 assets not subject to a master netting arrangement and not elected to be offset."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r140",
      "r597",
      "r620",
      "r621",
      "r629",
      "r633",
      "r634",
      "r635",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r825",
      "r826",
      "r879",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r911",
      "r917",
      "r919",
      "r920",
      "r921",
      "r1010",
      "r1013",
      "r1020",
      "r1044",
      "r1307",
      "r1308",
      "r1309",
      "r1377"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails",
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r546",
      "r548",
      "r549",
      "r551",
      "r552",
      "r553",
      "r554",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r807",
      "r809",
      "r824",
      "r825",
      "r826",
      "r828",
      "r829",
      "r830",
      "r831",
      "r833",
      "r834",
      "r835",
      "r836",
      "r851",
      "r852",
      "r853",
      "r854",
      "r857",
      "r858",
      "r859",
      "r860",
      "r879",
      "r880",
      "r882",
      "r884",
      "r917",
      "r918",
      "r921",
      "r1005",
      "r1006",
      "r1042",
      "r1044",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315",
      "r1317",
      "r1318"
     ]
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeFixedInterestRate",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative fixed interest rate",
        "documentation": "Fixed interest rate related to the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeGainLossOnDerivativeNet",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives",
        "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r1297"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails",
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r546",
      "r548",
      "r549",
      "r551",
      "r552",
      "r553",
      "r554",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r807",
      "r809",
      "r824",
      "r825",
      "r826",
      "r828",
      "r829",
      "r830",
      "r831",
      "r833",
      "r834",
      "r835",
      "r836",
      "r851",
      "r852",
      "r853",
      "r854",
      "r857",
      "r858",
      "r859",
      "r860",
      "r879",
      "r880",
      "r882",
      "r884",
      "r917",
      "r918",
      "r921",
      "r1005",
      "r1006",
      "r1042",
      "r1044",
      "r1163",
      "r1164",
      "r1165",
      "r1166",
      "r1167",
      "r1168",
      "r1169",
      "r1170",
      "r1171",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315",
      "r1317",
      "r1318"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedges",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total derivative assets",
        "verboseLabel": "Accumulated other comprehensive income net of tax",
        "documentation": "Carrying amount as of the balance sheet date of the asset arising from derivative instruments and hedging activities, which are expected to be converted into cash or otherwise disposed of within a year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1162"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgesLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedgesLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total derivative liabilities",
        "documentation": "Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Activity and Fair Value Measurements",
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts."
       }
      }
     },
     "auth_ref": [
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r604",
      "r615",
      "r1005",
      "r1006",
      "r1007",
      "r1008",
      "r1009"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails",
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table]",
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r548",
      "r549",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r1006"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails",
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r548",
      "r549",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r1006"
     ]
    },
    "TGLS_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income",
        "documentation": "Derivative instruments gain loss reclassified from accumulated OCI into income effective portion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Financial Instruments",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r178",
      "r195",
      "r535",
      "r582",
      "r596",
      "r598",
      "r599",
      "r600",
      "r602",
      "r603"
     ]
    },
    "us-gaap_DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives used in net investment hedge, tax (benefit)",
        "documentation": "Amount of income tax expense (benefit) from transactions on foreign currency derivatives that are designated as, and are effective as, economic hedges of a net investment in a foreign entity."
       }
      }
     },
     "auth_ref": [
      "r1328"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails",
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r375",
      "r376",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails",
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r375",
      "r376",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Disaggregation by Revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1278"
     ]
    },
    "us-gaap_DividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DividendsCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividend ($0.11 per share)",
        "label": "Dividends, Common Stock",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK)."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r86"
     ]
    },
    "us-gaap_DividendsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DividendsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends payable",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r1068"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r1066",
      "r1068",
      "r1080"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r1067"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r1068"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1068"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1101"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentType",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "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'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "TGLS_DueFromOtherRelatedPartiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "DueFromOtherRelatedPartiesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Due from Other Related Parties [Member]",
        "documentation": "Due from Other Related Parties [Member]",
        "label": "Due from Other Related Parties [Member] [Default Label]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic income per share",
        "verboseLabel": "Basic earnings per ordinary share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r153",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r197",
      "r199",
      "r201",
      "r202",
      "r203",
      "r204",
      "r337",
      "r434",
      "r461",
      "r527",
      "r618",
      "r619",
      "r736",
      "r765",
      "r933"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted income per share",
        "verboseLabel": "Diluted earnings per ordinary share",
        "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."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r153",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r199",
      "r201",
      "r202",
      "r203",
      "r204",
      "r337",
      "r434",
      "r461",
      "r527",
      "r618",
      "r619",
      "r736",
      "r765",
      "r933"
     ]
    },
    "TGLS_EffectOfDilutiveSecuritiesAndStockDividend": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "EffectOfDilutiveSecuritiesAndStockDividend",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of dilutive securities and stock dividend",
        "documentation": "Effect of dilutive securities and stock dividend."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash and cash equivalents",
        "documentation": "Amount of increase (decrease) from effect of exchange rate change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r1327"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r960"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://tecnoglass.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory income tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r175",
      "r440",
      "r452",
      "r960"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "presentation": [
      "http://tecnoglass.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average statutory rate",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r960",
      "r1222",
      "r1228",
      "r1279"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r1061"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r1142"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r1139"
     ]
    },
    "dei_EntityListingParValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityListingParValuePerShare",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Par Value Per Share",
        "documentation": "The par value per share of security quoted in same currency as Trading currency. Example: '0.01'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r1080"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r1140"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r110",
      "r112",
      "r113",
      "r148",
      "r149",
      "r150",
      "r180",
      "r181",
      "r182",
      "r184",
      "r191",
      "r193",
      "r195",
      "r206",
      "r256",
      "r257",
      "r290",
      "r336",
      "r361",
      "r434",
      "r450",
      "r451",
      "r458",
      "r459",
      "r460",
      "r462",
      "r526",
      "r527",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r617",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r650",
      "r652",
      "r654",
      "r762",
      "r776",
      "r777",
      "r778",
      "r796",
      "r864"
     ]
    },
    "TGLS_EquityMethodIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "EquityMethodIncome",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity method income",
        "documentation": "Equity method income."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1109"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r1073",
      "r1084",
      "r1094",
      "r1119"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r1070",
      "r1081",
      "r1091",
      "r1116"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1115"
     ]
    },
    "TGLS_ExpectedOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ExpectedOwnershipPercentage",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected ownership percentage",
        "documentation": "Expected ownership percentage."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "Extension",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ExternalCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ExternalCustomersMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "External Customers [Member]",
        "documentation": "External Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueByLiabilityClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByLiabilityClassAxis",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability Class [Axis]",
        "documentation": "Information by class of liability."
       }
      }
     },
     "auth_ref": [
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r630"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents classes of liabilities measured and disclosed at fair value."
       }
      }
     },
     "auth_ref": [
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r630"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]",
        "documentation": "Disclosure of information about financial instrument liability measured at fair value on recurring basis using unobservable input."
       }
      }
     },
     "auth_ref": [
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r630"
     ]
    },
    "us-gaap_FairValueOfAssetsAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueOfAssetsAcquired",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets acquired under credit or debt",
        "documentation": "The fair value of assets acquired in noncash investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20",
      "r21"
     ]
    },
    "TGLS_FinanceLeaseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "FinanceLeaseDebt",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance lease",
        "documentation": "Finance lease debt."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r259",
      "r260",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r332",
      "r359",
      "r601",
      "r615",
      "r631",
      "r636",
      "r638",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r744",
      "r763",
      "r940",
      "r1010",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1023",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1244",
      "r1245",
      "r1246",
      "r1247",
      "r1305",
      "r1307",
      "r1308",
      "r1309",
      "r1316",
      "r1319",
      "r1320",
      "r1321"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining useful life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated Amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r270",
      "r282",
      "r914"
     ]
    },
    "TGLS_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thereafter",
        "documentation": "Finite lived intangible assets amortization expense after year four."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r910",
      "r914"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r1383"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2029",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r910",
      "r914"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r910",
      "r914"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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)."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r910",
      "r914"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r285",
      "r286",
      "r697",
      "r698",
      "r784",
      "r910",
      "r914",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r282",
      "r698",
      "r914"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r282",
      "r285",
      "r286",
      "r288",
      "r697",
      "r910",
      "r914",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r285",
      "r286",
      "r784",
      "r910",
      "r914",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails",
      "http://tecnoglass.com/role/ScheduleOfFiniteLivedIntangibleAssetsFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net",
        "totalLabel": "Total",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r697",
      "r1259"
     ]
    },
    "TGLS_FixedPriceContractsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "FixedPriceContractsMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fixed Price Contracts [Member]",
        "documentation": "Fixed Price Contracts [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ForeignCurrencyNonDeliveryForwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ForeignCurrencyNonDeliveryForwardsMember",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Non Delivery Forwards [Member]",
        "documentation": "Foreign Currency Non Delivery Forwards [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency transactions (loss) gains",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r639",
      "r640",
      "r641",
      "r642",
      "r861"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionGainLossUnrealized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ForeignCurrencyTransactionGainLossUnrealized",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unrealized currency translation loss",
        "label": "Unrealized Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r839",
      "r1052",
      "r1325",
      "r1326",
      "r1380"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1123"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1123"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1123"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1123"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1123"
     ]
    },
    "TGLS_FundacionTecnoglassMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "FundacionTecnoglassMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fundacion Tecnoglass-ESWindows [Member]",
        "documentation": "Fundacion Tecnoglass-ESWindows [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_FutureAdditionalContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "FutureAdditionalContributionAmount",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional contribution amount",
        "documentation": "Future additional contribution amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnDispositionOfAssets1",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on disposal of assets",
        "label": "Gain (Loss) on Disposition of Assets",
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee."
       }
      }
     },
     "auth_ref": [
      "r1220"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "General and administrative expense",
        "label": "General and Administrative Expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r842"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodStartLabel": "Beginning balance - December 31, 2024",
        "periodEndLabel": "Ending balance \u2013 June 30, 2025",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r271",
      "r733",
      "r938",
      "r941",
      "r961",
      "r965",
      "r966",
      "r1001",
      "r1011",
      "r1022",
      "r1250",
      "r1251",
      "r1293"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Continental Glass Acquisition",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r272",
      "r517",
      "r520",
      "r524",
      "r941"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r67",
      "r100",
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r637",
      "r936",
      "r937",
      "r1237",
      "r1238",
      "r1239",
      "r1240",
      "r1241",
      "r1272"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r96",
      "r100",
      "r737",
      "r739",
      "r759",
      "r925",
      "r928",
      "r931",
      "r936",
      "r937",
      "r1237",
      "r1238",
      "r1239",
      "r1240",
      "r1241"
     ]
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Equity method income",
        "verboseLabel": "Equity method income",
        "label": "Income (Loss) from Equity Method Investments",
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss)."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r64",
      "r95",
      "r205",
      "r212",
      "r216",
      "r254",
      "r758"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementAbstract",
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r175",
      "r436",
      "r440",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r453",
      "r455",
      "r456",
      "r457",
      "r743",
      "r783",
      "r790",
      "r960"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax provision",
        "negatedTerseLabel": "Total income provision",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r106",
      "r170",
      "r194",
      "r195",
      "r205",
      "r213",
      "r216",
      "r439",
      "r440",
      "r454",
      "r766",
      "r925",
      "r928",
      "r931",
      "r960"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r166",
      "r447",
      "r448"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Trade accounts payable and accrued expenses",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Trade accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxes payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInCommodityContractAssetsAndLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInCommodityContractAssetsAndLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Contract assets and liabilities",
        "label": "Increase (Decrease) in Commodity Contract Assets and Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the assets (liabilities) created through trading commodity-based derivative instruments."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInDueToRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInDueToRelatedParties",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related parties",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families; affiliates; or other parties with the ability to exert significant influence."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Labor liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other liabilities",
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses",
        "label": "Increase (Decrease) in Prepaid Expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1077",
      "r1088",
      "r1098",
      "r1115",
      "r1123",
      "r1127",
      "r1135"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingArrLineItems",
     "auth_ref": [
      "r1133"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1069",
      "r1138"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r1069",
      "r1138"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r1069",
      "r1138"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwill"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets and Goodwill",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r274",
      "r287",
      "r289",
      "r909",
      "r910"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r1259",
      "r1261"
     ]
    },
    "us-gaap_InterestEarningAssetsAverageAmountOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestEarningAssetsAverageAmountOutstanding",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest earning assets average outstanding",
        "documentation": "Average amount outstanding of interest-earning assets."
       }
      }
     },
     "auth_ref": [
      "r1151"
     ]
    },
    "TGLS_InterestExpenseAndDeferredCostOfFinancing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "InterestExpenseAndDeferredCostOfFinancing",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense and deferred cost of financing",
        "documentation": "Interest expense and deferred cost of financing.",
        "label": "InterestExpenseAndDeferredCostOfFinancing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r164",
      "r165"
     ]
    },
    "TGLS_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfGainsLossesOnDerivativeFinancialInstrumentsQuarterEndedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Rate Swap Contracts and Foreign Currency Non-delivery Forwards [Member]",
        "documentation": "Interest Rate Swap Contracts and Foreign Currency Non-delivery Forwards [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_InterestRateSwapContractsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "InterestRateSwapContractsMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Rate Swap Contracts [Member]",
        "documentation": "Interest Rate Swap Contracts [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestRateSwapMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestRateSwapMember",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Rate Swap [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1005",
      "r1049",
      "r1050",
      "r1298"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/InventoriesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories, net",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r269"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1157"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Inventories, gross",
        "label": "Inventory, Gross",
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      },
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "totalLabel": "Total inventories, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r916",
      "r1022"
     ]
    },
    "TGLS_InventoryPackingMaterialGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "InventoryPackingMaterialGross",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Packing material",
        "documentation": "Reflects Gross amount, as of the balance sheet date of packing materials."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1159"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Inventory allowance",
        "label": "Inventory Valuation Reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r1161"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in process",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r1158"
     ]
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investments",
        "label": "Investments [Default Label]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r745",
      "r746",
      "r1037",
      "r1038",
      "r1039",
      "r1041"
     ]
    },
    "TGLS_LegalReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "LegalReserves",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Reserves",
        "documentation": "Legal reserves."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_LegalReservesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "LegalReservesMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Reserves [Member]",
        "documentation": "Legal Reserves [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r40",
      "r41",
      "r42",
      "r45",
      "r46",
      "r47",
      "r48",
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r530",
      "r533",
      "r534",
      "r637",
      "r817",
      "r935",
      "r947",
      "r1054",
      "r1272",
      "r1334",
      "r1335"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r92",
      "r755",
      "r1022",
      "r1037",
      "r1038",
      "r1222",
      "r1226",
      "r1248",
      "r1324"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r121",
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r530",
      "r533",
      "r534",
      "r637",
      "r1022",
      "r1272",
      "r1334",
      "r1335"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total long-term liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r45",
      "r46",
      "r47",
      "r48",
      "r170",
      "r173",
      "r174",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r530",
      "r533",
      "r534",
      "r637",
      "r1272",
      "r1334",
      "r1335"
     ]
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesNoncurrentAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving lines of credit",
        "verboseLabel": "Line of credit facility",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r90",
      "r1343"
     ]
    },
    "us-gaap_LineOfCreditFacilityInterestRateDuringPeriod": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityInterestRateDuringPeriod",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit interest rate",
        "documentation": "The effective interest rate during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r44"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r1222",
      "r1224",
      "r1271"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r44"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r44",
      "r310",
      "r1222",
      "r1224",
      "r1271"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r90",
      "r171",
      "r179",
      "r327",
      "r335",
      "r741",
      "r944",
      "r945",
      "r1021",
      "r1343"
     ]
    },
    "us-gaap_LongTermDebtAverageAmountOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtAverageAmountOutstanding",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt outstanding amount",
        "documentation": "Average amount outstanding of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r109",
      "r848"
     ]
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: Current portion of long-term debt and other current borrowings",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "us-gaap_LongTermDebtFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtFairValue",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value",
        "documentation": "The fair value amount of long-term debt whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r1020",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1320",
      "r1321",
      "r1322",
      "r1323"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "Long-Term Debt, Maturity, Year One",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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)."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r171",
      "r179",
      "r329",
      "r741"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfMaturitiesOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Long-Term Debt, Maturity, Remainder of Fiscal Year",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r1223",
      "r1231"
     ]
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfFairValueAndCarryingAmountsOfLongTermDebtDetails",
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term debt",
        "verboseLabel": "Carrying Value",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_LongTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term investments",
        "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle)."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongTermPurchaseCommitmentAmount",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase of aggregate raw material",
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LossContingenciesLineItems",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingencies [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r303",
      "r304",
      "r305",
      "r308",
      "r435",
      "r943",
      "r1267",
      "r1268"
     ]
    },
    "us-gaap_LossContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LossContingenciesTable",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingencies [Table]",
        "documentation": "Disclosure of information about loss contingency. Excludes environmental contingency, warranty, and unconditional purchase obligation."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r303",
      "r304",
      "r305",
      "r308",
      "r435",
      "r943",
      "r1267",
      "r1268"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MaximumMember",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r208",
      "r304",
      "r305",
      "r306",
      "r307",
      "r402",
      "r429",
      "r430",
      "r431",
      "r435",
      "r622",
      "r694",
      "r774",
      "r775",
      "r782",
      "r808",
      "r809",
      "r872",
      "r874",
      "r876",
      "r877",
      "r886",
      "r891",
      "r892",
      "r894",
      "r895",
      "r907",
      "r908",
      "r939",
      "r948",
      "r959",
      "r961",
      "r967",
      "r970",
      "r1013",
      "r1014",
      "r1018",
      "r1019",
      "r1033",
      "r1274",
      "r1336",
      "r1337",
      "r1338",
      "r1339",
      "r1340",
      "r1341"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MinimumMember",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r208",
      "r304",
      "r305",
      "r306",
      "r307",
      "r402",
      "r429",
      "r430",
      "r431",
      "r435",
      "r622",
      "r694",
      "r774",
      "r775",
      "r782",
      "r808",
      "r809",
      "r872",
      "r874",
      "r876",
      "r877",
      "r886",
      "r891",
      "r892",
      "r894",
      "r895",
      "r907",
      "r908",
      "r939",
      "r948",
      "r959",
      "r961",
      "r967",
      "r970",
      "r1013",
      "r1014",
      "r1018",
      "r1033",
      "r1274",
      "r1336",
      "r1337",
      "r1338",
      "r1339",
      "r1340",
      "r1341"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minority interest ownership",
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r1126"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r1134"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "CASH USED IN FINANCING ACTIVITIES",
        "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH FLOWS FROM FINANCING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "CASH USED IN INVESTING ACTIVITIES",
        "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH FLOWS FROM INVESTING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "CASH PROVIDED BY OPERATING ACTIVITIES",
        "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation",
        "documentation": "Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r78"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CASH FLOWS FROM OPERATING ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_NetContractLiabilitiesAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "NetContractLiabilitiesAssets",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net contract liability",
        "documentation": "Net contract liabilities assets.",
        "label": "NetContractLiabilitiesAssets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://tecnoglass.com/role/StatementsOfCashFlows",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "label": "Net income",
        "verboseLabel": "Net Income (Loss)",
        "terseLabel": "Net Income attributable to parent",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r78",
      "r97",
      "r113",
      "r119",
      "r143",
      "r146",
      "r150",
      "r170",
      "r173",
      "r174",
      "r177",
      "r183",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r194",
      "r195",
      "r200",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r337",
      "r340",
      "r342",
      "r346",
      "r434",
      "r461",
      "r527",
      "r619",
      "r637",
      "r761",
      "r840",
      "r862",
      "r863",
      "r925",
      "r928",
      "r931",
      "r1052",
      "r1272"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recently Issued Accounting Pronouncements",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1105"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1104"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1134"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1134"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NON-CASH INVESTING AND FINANCING ACTIVITIES:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r361",
      "r1232",
      "r1233",
      "r1234",
      "r1235",
      "r1381"
     ]
    },
    "us-gaap_NonoperatingGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NonoperatingGainsLosses",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-operating income, net",
        "documentation": "The aggregate amount of gains or losses resulting from nonoperating activities (for example, interest and dividend revenue, property, plant and equipment impairment loss, and so forth)."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71"
     ]
    },
    "us-gaap_NonrelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NonrelatedPartyMember",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrelated Party [Member]",
        "documentation": "Party not related to reporting entity."
       }
      }
     },
     "auth_ref": [
      "r1222",
      "r1229",
      "r1230"
     ]
    },
    "TGLS_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notice Of Acceptances Product Designs And Intellectual Property [Member]",
        "documentation": "Notice Of Acceptances Product Designs And Intellectual Property [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_NovemberThirtyTwoThousandThirtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "NovemberThirtyTwoThousandThirtyMember",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "November 30, 2030 [Member]",
        "documentation": "November 30, 2030 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r931"
     ]
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r925",
      "r931",
      "r936",
      "r1237",
      "r1238",
      "r1239",
      "r1240",
      "r1241"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/General"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r114",
      "r115",
      "r117",
      "r785",
      "r786"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r1022"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other long-term assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation",
        "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, attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r11",
      "r88"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in fair value of derivative contracts",
        "verboseLabel": "Derivative financial instruments",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r762"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r762"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other comprehensive income",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r11",
      "r88",
      "r144",
      "r147",
      "r191"
     ]
    },
    "us-gaap_OtherCurrentAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherCurrentAssetsMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFairValueOfForeignCurrencyHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Assets [Member]",
        "documentation": "Primary financial statement caption encompassing other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInventoriesSpareParts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherInventoriesSpareParts",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spares and accessories",
        "documentation": "Gross amount of components of assembled products that can be sold directly or indirectly through sales of assembled products."
       }
      }
     },
     "auth_ref": [
      "r1160"
     ]
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current liabilities",
        "verboseLabel": "Due to related parties",
        "terseLabel": "Total due to related parties",
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r1022"
     ]
    },
    "us-gaap_OtherLongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherLongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current debt",
        "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41",
      "r816"
     ]
    },
    "TGLS_OtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "OtherMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Due from Other Related Parties [Member]",
        "documentation": "Due from Other Related Parties [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other non-cash adjustments",
        "label": "Other Noncash Income (Expense)",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "TGLS_OtherOperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "OtherOperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating income",
        "documentation": "Other operating income loss."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r1107"
     ]
    },
    "us-gaap_OtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Due from related parties",
        "verboseLabel": "Total due from related parties",
        "terseLabel": "Other Receivables, Net, Current",
        "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r1068"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1075",
      "r1086",
      "r1096",
      "r1121"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1078",
      "r1089",
      "r1099",
      "r1124"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r1078",
      "r1089",
      "r1099",
      "r1124"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "auth_ref": []
    },
    "country_PA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "PA",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PANAMA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ParentMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent [Member]",
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r1103"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForRepurchaseOfEquity",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Stock buyback",
        "label": "Payments for Repurchase of Equity",
        "documentation": "The cash outflow to reacquire common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r788"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cash dividend",
        "label": "Payments of Dividends",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "TGLS_PaymentsOfNonControllingInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "PaymentsOfNonControllingInterestExpense",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-controlling interest purchase",
        "documentation": "Payments of non controlling interest expense.",
        "label": "PaymentsOfNonControllingInterestExpense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment of cash",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r509",
      "r961",
      "r966",
      "r1000"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Business acquisition",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of investments",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_PaymentsToAcquireLandHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireLandHeldForUse",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment for acquisition, land",
        "documentation": "The cash outflow for acquisition of land for use; excludes purchases of land held as inventory or as investments."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireProductiveAssets",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase from related party",
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r1294",
      "r1295",
      "r1296"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Acquisition of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1106"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1106"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1105"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r1108"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1104"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1105"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1062"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1064"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred shares, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r348"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred shares, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r819"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred shares, shares issued",
        "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r348"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred shares, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r819",
      "r838",
      "r1381",
      "r1382"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred shares, $0.0001 par value, 1,000,000 shares authorized, 0 shares issued and outstanding at June 30, 2025 and December 31, 2024, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r339",
      "r344",
      "r751",
      "r1022"
     ]
    },
    "TGLS_PremiumClosingStockPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "PremiumClosingStockPercentage",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Premium closing stock, percent",
        "documentation": "Premium closing stock, percent."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_PrismaGlassLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "PrismaGlassLLCMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prisma Glass LLC [Member]",
        "documentation": "Prisma Glass LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProFormaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProFormaMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pro Forma [Member]"
       }
      }
     },
     "auth_ref": [
      "r116",
      "r118",
      "r196",
      "r1143",
      "r1144"
     ]
    },
    "us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends received",
        "documentation": "Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r162",
      "r1217"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceOfDebt",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from debt",
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt."
       }
      }
     },
     "auth_ref": [
      "r1218"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of property and equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r217",
      "r696",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r912",
      "r923",
      "r928",
      "r931",
      "r949",
      "r950",
      "r1032",
      "r1033",
      "r1034",
      "r1036",
      "r1040",
      "r1148",
      "r1175",
      "r1176",
      "r1177",
      "r1178",
      "r1179",
      "r1180",
      "r1181",
      "r1182",
      "r1183",
      "r1184",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1269",
      "r1270",
      "r1346",
      "r1348",
      "r1349",
      "r1350",
      "r1351",
      "r1352",
      "r1353",
      "r1354",
      "r1355",
      "r1356",
      "r1357",
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375"
     ]
    },
    "TGLS_ProductSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ProductSalesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Sales [Member]",
        "documentation": "Product Sales [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "auth_ref": [
      "r217",
      "r696",
      "r767",
      "r768",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r912",
      "r923",
      "r928",
      "r931",
      "r949",
      "r950",
      "r1032",
      "r1033",
      "r1034",
      "r1036",
      "r1040",
      "r1148",
      "r1175",
      "r1176",
      "r1177",
      "r1178",
      "r1179",
      "r1180",
      "r1181",
      "r1182",
      "r1183",
      "r1184",
      "r1185",
      "r1186",
      "r1187",
      "r1188",
      "r1189",
      "r1190",
      "r1191",
      "r1192",
      "r1193",
      "r1194",
      "r1195",
      "r1196",
      "r1197",
      "r1198",
      "r1199",
      "r1200",
      "r1201",
      "r1202",
      "r1203",
      "r1204",
      "r1205",
      "r1206",
      "r1207",
      "r1208",
      "r1209",
      "r1210",
      "r1211",
      "r1213",
      "r1214",
      "r1215",
      "r1216",
      "r1269",
      "r1270",
      "r1346",
      "r1348",
      "r1349",
      "r1350",
      "r1351",
      "r1352",
      "r1353",
      "r1354",
      "r1355",
      "r1356",
      "r1357",
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r119",
      "r143",
      "r146",
      "r161",
      "r170",
      "r173",
      "r174",
      "r177",
      "r183",
      "r191",
      "r194",
      "r195",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r337",
      "r434",
      "r461",
      "r527",
      "r528",
      "r531",
      "r532",
      "r619",
      "r637",
      "r737",
      "r739",
      "r760",
      "r795",
      "r840",
      "r862",
      "r863",
      "r1002",
      "r1003",
      "r1053",
      "r1174",
      "r1272"
     ]
    },
    "us-gaap_ProgramRightsObligationsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProgramRightsObligationsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities",
        "documentation": "Amount of obligations related to rights to programming, including, but not limited to, feature films and episodic series, acquired under license agreements that will be paid within the next twelve months."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_ContractWithCustomerLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advances from customers on uncompleted contracts",
        "documentation": "Amount of advances received from customers under long-term contracts which have been offset against inventories accounts at the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r135"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment, net",
        "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."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r653",
      "r742",
      "r757",
      "r1022"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableDetails",
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for credit losses",
        "verboseLabel": "Provisions for credit losses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r156",
      "r261"
     ]
    },
    "TGLS_PurchasePriceOfFuel": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "PurchasePriceOfFuel",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchases of fuel",
        "documentation": "Purchase price of fuel."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r1103"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r1103"
     ]
    },
    "TGLS_QuarterlyRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "QuarterlyRateMember",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Rate [Member]",
        "documentation": "Quarterly Rate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeAxis",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r208",
      "r304",
      "r305",
      "r306",
      "r307",
      "r380",
      "r402",
      "r429",
      "r430",
      "r431",
      "r433",
      "r435",
      "r622",
      "r669",
      "r678",
      "r694",
      "r774",
      "r775",
      "r782",
      "r808",
      "r809",
      "r872",
      "r874",
      "r876",
      "r877",
      "r886",
      "r891",
      "r892",
      "r894",
      "r895",
      "r907",
      "r908",
      "r939",
      "r948",
      "r959",
      "r961",
      "r967",
      "r970",
      "r1013",
      "r1014",
      "r1018",
      "r1019",
      "r1033",
      "r1044",
      "r1265",
      "r1274",
      "r1308",
      "r1337",
      "r1338",
      "r1339",
      "r1340",
      "r1341"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeMember",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "auth_ref": [
      "r208",
      "r304",
      "r305",
      "r306",
      "r307",
      "r380",
      "r402",
      "r429",
      "r430",
      "r431",
      "r433",
      "r435",
      "r622",
      "r669",
      "r678",
      "r694",
      "r774",
      "r775",
      "r782",
      "r808",
      "r809",
      "r872",
      "r874",
      "r876",
      "r877",
      "r886",
      "r891",
      "r892",
      "r894",
      "r895",
      "r907",
      "r908",
      "r939",
      "r948",
      "r959",
      "r961",
      "r967",
      "r970",
      "r1013",
      "r1014",
      "r1018",
      "r1019",
      "r1033",
      "r1044",
      "r1265",
      "r1274",
      "r1308",
      "r1337",
      "r1338",
      "r1339",
      "r1340",
      "r1341"
     ]
    },
    "TGLS_ReclassifiedEarningsExpected": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ReclassifiedEarningsExpected",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassified earnings, expected",
        "documentation": "Reclassified earnings expected."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r1070",
      "r1081",
      "r1091",
      "r1116"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r221",
      "r381",
      "r398",
      "r658",
      "r659",
      "r749",
      "r756",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r837",
      "r871",
      "r1379"
     ]
    },
    "us-gaap_RelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyMember",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Member]",
        "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r658",
      "r659",
      "r660",
      "r661",
      "r749",
      "r756",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r837",
      "r871"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r658",
      "r659",
      "r1333"
     ]
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionDomain",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r1333"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r221",
      "r658",
      "r659",
      "r661",
      "r843",
      "r844",
      "r847"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome",
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Parties [Axis]",
        "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r221",
      "r381",
      "r398",
      "r658",
      "r659",
      "r749",
      "r756",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r837",
      "r871",
      "r1333",
      "r1379"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RelatedParties"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Parties",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r655",
      "r656",
      "r657",
      "r659",
      "r662",
      "r791",
      "r792",
      "r793",
      "r845",
      "r846",
      "r847",
      "r868",
      "r870"
     ]
    },
    "us-gaap_RepaymentsOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RepaymentsOfDebt",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayments of debt",
        "label": "Repayments of Debt",
        "documentation": "Amount of cash outflow for short-term and long-term debt. Excludes payment of lease obligation."
       }
      }
     },
     "auth_ref": [
      "r1219"
     ]
    },
    "TGLS_ResidentialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ResidentialMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential [Member]",
        "documentation": "Residential [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1071",
      "r1082",
      "r1092",
      "r1117"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r1072",
      "r1083",
      "r1093",
      "r1118"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r1079",
      "r1090",
      "r1100",
      "r1125"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r86",
      "r754",
      "r779",
      "r781",
      "r789",
      "r820",
      "r1022"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r112",
      "r113",
      "r180",
      "r181",
      "r182",
      "r184",
      "r191",
      "r193",
      "r195",
      "r256",
      "r257",
      "r290",
      "r336",
      "r434",
      "r450",
      "r451",
      "r458",
      "r459",
      "r460",
      "r462",
      "r526",
      "r527",
      "r605",
      "r607",
      "r608",
      "r610",
      "r617",
      "r650",
      "r652",
      "r776",
      "r778",
      "r796",
      "r1381"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating revenues:",
        "verboseLabel": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfDisaggregationByRevenueDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails",
      "http://tecnoglass.com/role/ScheduleOfRevenuesDistributionByEndMarketDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total operating revenues",
        "verboseLabel": "Total Revenues",
        "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."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r99",
      "r205",
      "r210",
      "r211",
      "r214",
      "r216",
      "r217",
      "r218",
      "r220",
      "r374",
      "r375",
      "r376",
      "r696",
      "r925",
      "r931"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r365",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r376",
      "r379"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining performance obligation",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance obligation, percentage",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r1145"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative",
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues",
        "verboseLabel": "Sales to related parties",
        "terseLabel": "Revenue from related parties",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r99",
      "r151",
      "r170",
      "r173",
      "r174",
      "r205",
      "r210",
      "r211",
      "r214",
      "r216",
      "r217",
      "r218",
      "r220",
      "r255",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r637",
      "r737",
      "r739",
      "r937",
      "r1004",
      "r1037",
      "r1038",
      "r1272"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1134"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1134"
     ]
    },
    "TGLS_SalesToOtherRelatedPartiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SalesToOtherRelatedPartiesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales To Other Related Parties [Member]",
        "documentation": "Sales To Other Related Parties [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_SantaMariaDelMarSASMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SantaMariaDelMarSASMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Santa Maria Del Mar SAS [Member]",
        "documentation": "Santa Maria Del Mar SAS [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ScenarioForecastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ScenarioForecastMember",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast [Member]"
       }
      }
     },
     "auth_ref": [
      "r403"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "auth_ref": [
      "r116",
      "r118",
      "r196",
      "r403",
      "r1143"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Trade Accounts Receivable",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r57"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Table]",
        "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r273",
      "r464",
      "r465",
      "r466",
      "r467",
      "r473",
      "r474",
      "r475",
      "r476",
      "r482",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r518",
      "r519",
      "r520",
      "r524",
      "r961",
      "r970",
      "r1282",
      "r1286",
      "r1288"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Purchase Price Allocation Consideration Transferred",
        "documentation": "Tabular disclosure of business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r966",
      "r1281",
      "r1283",
      "r1285",
      "r1289",
      "r1290",
      "r1292"
     ]
    },
    "TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in Allowance for Doubtful Accounts Receivable",
        "documentation": "Schedule of changes in allowance for doubtful accounts receivable [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r1280"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Fair Value and Carrying Amounts of Long Term Debt",
        "documentation": "Tabular disclosure of long-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 entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r26",
      "r27",
      "r37",
      "r84",
      "r85",
      "r944",
      "r946",
      "r1223",
      "r1231",
      "r1329",
      "r1342"
     ]
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDebtTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/DebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long Term Debt",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan [Table]",
        "documentation": "Disclosure of information about individual defined benefit pension plan or other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r28",
      "r29",
      "r30",
      "r31",
      "r382",
      "r383",
      "r384",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Gains (Losses) on Derivative Financial Instruments quarter ended",
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r547",
      "r550",
      "r555",
      "r563",
      "r574"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "TGLS_ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/HedgingActivityAndFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Fair Value of Foreign Currency Hedges",
        "documentation": "Schedule of fair value of foreign currency hedges [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Asset, Finite-Lived [Table]",
        "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r282",
      "r285",
      "r286",
      "r288",
      "r697",
      "r910",
      "r914",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977",
      "r978",
      "r979",
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets, Net",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r914",
      "r1258"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/InventoriesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventories",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r58",
      "r59",
      "r60"
     ]
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/DebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Maturities of Long Term Debt",
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Table]",
        "documentation": "Disclosure of information about related party transaction."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r176",
      "r177",
      "r658",
      "r659",
      "r661",
      "r843",
      "r844",
      "r847"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfRelatedPartyTransactionsTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Parties",
        "documentation": "Tabular disclosure of related party transactions. Examples of related party transactions include, but are not limited to, transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r1330",
      "r1331"
     ]
    },
    "TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ScheduleOfRevenuesDistributionByEndMarketTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues Distribution By End Market",
        "documentation": "Schedule Of Revenues Distribution By End Market [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_ScheduleOfSaleToRelatedPartyTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ScheduleOfSaleToRelatedPartyTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Sale to Related Parties",
        "documentation": "Schedule Of Sale To Related Party [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Geographic Information",
        "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."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r23",
      "r24"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/IntangibleAssetsAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite Lived Intangible Assets Future Amortization Expense",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r914",
      "r1260"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "Security12bTitle",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1056"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "Security12gTitle",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r1060"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1059"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1065"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "auth_ref": [
      "r207",
      "r218",
      "r219",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r737",
      "r738",
      "r739",
      "r740",
      "r801",
      "r804",
      "r806",
      "r873",
      "r875",
      "r878",
      "r887",
      "r891",
      "r893",
      "r894",
      "r895",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r913",
      "r934",
      "r949",
      "r951",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031",
      "r1035",
      "r1044",
      "r1346",
      "r1348",
      "r1349",
      "r1351",
      "r1352",
      "r1353",
      "r1354",
      "r1355",
      "r1356",
      "r1357",
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375"
     ]
    },
    "us-gaap_SellingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SellingExpense",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Selling expense",
        "label": "Selling Expense",
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r158",
      "r924",
      "r927",
      "r930"
     ]
    },
    "TGLS_SeniorSecuredCreditFacility": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SeniorSecuredCreditFacility",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails": {
       "parentTag": "us-gaap_DebtInstrumentCarryingAmount",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Secured Credit Facility",
        "documentation": "Senior secured credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_SeniorSecuredCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SeniorSecuredCreditFacilityMember",
     "presentation": [
      "http://tecnoglass.com/role/DebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Senior Secured Credit Facility [Member]",
        "documentation": "Senior Secured Credit Facility [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SharePrice",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquityDetailsNarrative",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend per share",
        "verboseLabel": "Share price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesIssuedPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SharesIssuedPricePerShare",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares issued, price per share",
        "documentation": "Per share or per unit amount of equity securities issued."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "periodEndLabel": "Balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r94",
      "r1162"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/BasisOfPresentationAndSummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation and Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r169"
     ]
    },
    "TGLS_SoftwareAndLicensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SoftwareAndLicensesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software And Licenses [Member]",
        "documentation": "Software And Licenses [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1063"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r50",
      "r54",
      "r55",
      "r110",
      "r112",
      "r113",
      "r148",
      "r149",
      "r150",
      "r180",
      "r181",
      "r182",
      "r184",
      "r191",
      "r193",
      "r195",
      "r206",
      "r256",
      "r257",
      "r290",
      "r336",
      "r361",
      "r434",
      "r450",
      "r451",
      "r458",
      "r459",
      "r460",
      "r462",
      "r526",
      "r527",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r617",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r650",
      "r652",
      "r654",
      "r762",
      "r776",
      "r777",
      "r778",
      "r796",
      "r864"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r207",
      "r218",
      "r219",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r737",
      "r738",
      "r739",
      "r740",
      "r801",
      "r804",
      "r806",
      "r873",
      "r875",
      "r878",
      "r887",
      "r891",
      "r893",
      "r894",
      "r895",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r903",
      "r904",
      "r905",
      "r906",
      "r913",
      "r934",
      "r949",
      "r951",
      "r1024",
      "r1025",
      "r1026",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031",
      "r1035",
      "r1044",
      "r1346",
      "r1348",
      "r1349",
      "r1351",
      "r1352",
      "r1353",
      "r1354",
      "r1355",
      "r1356",
      "r1357",
      "r1358",
      "r1359",
      "r1360",
      "r1361",
      "r1362",
      "r1363",
      "r1364",
      "r1365",
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementLineItems",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r206",
      "r338",
      "r339",
      "r341",
      "r343",
      "r652",
      "r696",
      "r787",
      "r797",
      "r798",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r819",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r828",
      "r829",
      "r830",
      "r831",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r841",
      "r842",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r864",
      "r928",
      "r931",
      "r1045",
      "r1379"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r116",
      "r118",
      "r196",
      "r403",
      "r1143",
      "r1144"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementTable",
     "presentation": [
      "http://tecnoglass.com/role/RevenuesTradeAccountsReceivableContractAssetsAndContractLiabilitiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfUnauditedProFormaFinancialInformationDetails",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Presentation of information about comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r206",
      "r221",
      "r338",
      "r339",
      "r341",
      "r343",
      "r652",
      "r696",
      "r787",
      "r797",
      "r798",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r819",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r828",
      "r829",
      "r830",
      "r831",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r841",
      "r842",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r864",
      "r928",
      "r931",
      "r1045",
      "r1379"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r1074",
      "r1085",
      "r1095",
      "r1120"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares issued during acquisition",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r50",
      "r86"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Share Repurchase, shares",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r49",
      "r50",
      "r86",
      "r788",
      "r864",
      "r888"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Share Repurchase",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r49",
      "r50",
      "r86",
      "r796",
      "r864",
      "r888",
      "r1053"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://tecnoglass.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets",
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total shareholders\u2019 equity",
        "periodStartLabel": "Beginning balance, value",
        "periodEndLabel": "Balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r54",
      "r55",
      "r79",
      "r821",
      "r838",
      "r865",
      "r866",
      "r1022",
      "r1054",
      "r1222",
      "r1225",
      "r1226",
      "r1248",
      "r1324",
      "r1381"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://tecnoglass.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r35",
      "r110",
      "r111",
      "r112",
      "r113",
      "r149",
      "r180",
      "r181",
      "r182",
      "r184",
      "r191",
      "r193",
      "r256",
      "r257",
      "r290",
      "r336",
      "r361",
      "r434",
      "r450",
      "r451",
      "r458",
      "r459",
      "r460",
      "r462",
      "r526",
      "r527",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r617",
      "r643",
      "r644",
      "r648",
      "r651",
      "r654",
      "r777",
      "r778",
      "r794",
      "r821",
      "r838",
      "r865",
      "r866",
      "r889",
      "r1037",
      "r1038",
      "r1053",
      "r1222",
      "r1225",
      "r1226",
      "r1248",
      "r1324",
      "r1381"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/ShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 Equity",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r347",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r360",
      "r361",
      "r601",
      "r616",
      "r867",
      "r869",
      "r890"
     ]
    },
    "TGLS_StudioAvantiSASMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "StudioAvantiSASMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails",
      "http://tecnoglass.com/role/ScheduleOfSaleToRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Studio Avanti SAS [Member]",
        "documentation": "Studio Avanti SAS [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://tecnoglass.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "TGLS_SupplierFinanceProgramMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "SupplierFinanceProgramMember",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier Finance Program [Member]",
        "documentation": "Supplier Finance Program [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplierFinanceProgramTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SupplierFinanceProgramTextBlock",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgram"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier Finance Program",
        "documentation": "The entire disclosure for supplier finance program."
       }
      }
     },
     "auth_ref": [
      "r297",
      "r298",
      "r299",
      "r300",
      "r942"
     ]
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r1114"
     ]
    },
    "TGLS_ThroughTwoThousandTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ThroughTwoThousandTwentyEightMember",
     "presentation": [
      "http://tecnoglass.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Through 2028 [Member]",
        "documentation": "Through 2028 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1242",
      "r1332"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1106"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r1113"
     ]
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfFinite-livedIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Names [Member]",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r974",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1257",
      "r1259",
      "r1261",
      "r1262",
      "r1263"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r1133"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r1135"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "TradingSymbol",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://tecnoglass.com/role/SupplierFinanceProgramDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r332",
      "r359",
      "r601",
      "r615",
      "r631",
      "r636",
      "r638",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r744",
      "r763",
      "r1010",
      "r1012",
      "r1013",
      "r1014",
      "r1015",
      "r1016",
      "r1017",
      "r1018",
      "r1019",
      "r1023",
      "r1150",
      "r1151",
      "r1152",
      "r1153",
      "r1154",
      "r1155",
      "r1156",
      "r1244",
      "r1245",
      "r1246",
      "r1247",
      "r1305",
      "r1307",
      "r1308",
      "r1309",
      "r1316",
      "r1319",
      "r1320",
      "r1321"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r1136"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r1137"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r1137"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r1135"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title"
       }
      }
     },
     "auth_ref": [
      "r1135"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r1136"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2025",
     "localname": "US",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfComponentsOfIncomeTaxExpenseDetails",
      "http://tecnoglass.com/role/ScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnbilledReceivablesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_ContractWithCustomerAssetGrossCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unbilled contract receivables, gross",
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r1132"
     ]
    },
    "TGLS_VidrioAndinoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "VidrioAndinoMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative",
      "http://tecnoglass.com/role/ScheduleOfRelatedPartiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vidrio Andino [Member]",
        "documentation": "Vidrio Andino [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted weighted average common shares outstanding",
        "verboseLabel": "Denominator for diluted earnings per ordinary share - weighted average shares outstanding",
        "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."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r203"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://tecnoglass.com/role/ScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://tecnoglass.com/role/StatementsOfOperationsAndOtherComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic weighted average common shares outstanding",
        "verboseLabel": "Denominator for basic earnings per ordinary share - weighted average shares outstanding",
        "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."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r203"
     ]
    },
    "TGLS_WorkingCapitalAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "WorkingCapitalAdjustment",
     "crdr": "credit",
     "presentation": [
      "http://tecnoglass.com/role/AcquisitionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "[custom:WorkingCapitalAdjustment-0]",
        "documentation": "Working capital adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://tecnoglass.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r1141"
     ]
    },
    "TGLS_ZofracostaSAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://tecnoglass.com/20250630",
     "localname": "ZofracostaSAMember",
     "presentation": [
      "http://tecnoglass.com/role/RelatedPartiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zofracosta SA [Member]",
        "documentation": "Zofracosta SA [Member]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477787/942-405-45-2"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481034/205-10-S45-5"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481003/205-10-S50-2"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480922/205-10-S99-3"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SAB Topic 1.B.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480922/205-10-S99-7"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(d)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-35"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21D"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481664/323-10-45-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-4"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-4"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-50/tableOfContent"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-3"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-1"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-3"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-1"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-3"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3A",
   "Subparagraph": "(24)(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-11"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(j)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-7"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "17",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-10/tableOfContent"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-4"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-5"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-20/tableOfContent"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-3"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-30/tableOfContent"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-3"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479326/805-40-45-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/815/tableOfContent"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4F",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4H"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4H"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4I"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8A"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8C"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479693/815-10-S50-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "15",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480960/815-15-50-3"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-1A"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-32"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/850/tableOfContent"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-7"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-20"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-20"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-28"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-28"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478671/942-235-S50-1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477617/942-740-50-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478822/944-740-50-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "805",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478072/944-805-50-1"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-6"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-6"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5A",
   "Subparagraph": "(SX 210.12-13A(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478322/948-310-S50-2"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/985-20/tableOfContent"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-10"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-20"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-12"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-11"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-12"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-14"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-18"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-19"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-21"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-24"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-25"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-4"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-18"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477128/405-50-55-3"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482395/460-10-55-27"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "64",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-64"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-8"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-38"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "39",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-39"
  },
  "r966": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-41"
  },
  "r967": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "43",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-43"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "45",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-45"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "46",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-46"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-47"
  },
  "r971": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-49"
  },
  "r972": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-50"
  },
  "r973": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r974": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r976": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29"
  },
  "r983": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-29"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-31"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478064/805-740-55-13"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "181",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "183",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-183"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "184",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-184"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "185",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-185"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-12"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-11"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-14"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-14"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-9"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r1137": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1140": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r1146": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1147": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1149": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "SubTopic": "310",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1150": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r1151": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1160": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1163": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1168": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1169": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1170": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r1171": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-12"
  },
  "r1172": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r1173": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r1174": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1179": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1182": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1184": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1185": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1186": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1187": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1188": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1189": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1190": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1191": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1193": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1194": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1195": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1196": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1197": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1198": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1199": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1200": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1201": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1202": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1203": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1204": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(r)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1205": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(s)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1206": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(t)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1207": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(u)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-30"
  },
  "r1209": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-31"
  },
  "r1210": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-32"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-33"
  },
  "r1212": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1213": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1214": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1215": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1216": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1217": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r1218": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r1219": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r1220": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r1221": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1222": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1"
  },
  "r1223": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4"
  },
  "r1224": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1225": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1226": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1227": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1228": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1229": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1230": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1231": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r1232": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r1233": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r1234": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r1235": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r1236": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r1237": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r1238": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r1239": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r1240": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1241": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1242": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r1243": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r1244": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9"
  },
  "r1245": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1246": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1247": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1248": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r1249": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r1253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1254": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r1258": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r1265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r1266": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r1267": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r1268": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1269": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1270": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r1271": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r1272": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1273": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1274": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r1275": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1"
  },
  "r1276": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r1277": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r1278": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r1279": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1280": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1281": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1282": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1283": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r1284": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7"
  },
  "r1285": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1286": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1287": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1288": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1289": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r1290": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r1291": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r1292": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r1293": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r1294": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480060/805-50-25-1"
  },
  "r1295": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-1"
  },
  "r1296": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480027/805-50-30-2"
  },
  "r1297": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1298": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r1299": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r1300": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1301": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1302": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1303": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r1304": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r1305": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r1306": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1307": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1308": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1309": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1310": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1311": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1312": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1313": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1314": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1315": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1316": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r1317": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1318": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1319": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r1320": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10"
  },
  "r1321": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r1322": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r1323": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r1324": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r1325": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1"
  },
  "r1326": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1"
  },
  "r1327": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1328": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r1329": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r1330": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1331": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1332": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r1333": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r1334": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1335": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1336": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1337": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1338": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1339": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1340": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1341": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1342": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r1343": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1344": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1345": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1346": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r1347": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1348": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1349": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1350": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r1351": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r1352": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r1353": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1354": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1355": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1356": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1357": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1358": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1359": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1360": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1361": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1362": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1363": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1364": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1365": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1366": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1367": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1368": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1369": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1370": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1371": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1372": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1373": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1374": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1375": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1376": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r1377": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1378": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r1379": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r1380": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1381": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1382": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1383": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>80
<FILENAME>0001641172-25-022618-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001641172-25-022618-xbrl.zip
M4$L#!!0    (  2+!UNB%]9^ 0@  /M    *    97@S,2TQ+FAT;>U<;7/:
M1A#^[AG_AZMGVG%FP&"G;J= F<$@UW0<X]I*)_EX2"NX6KHC=Q*$_OKNWDD"
MVSAQ6J>%0C(QD70OS][=/O?LGG#KPG]SV=[?:UUXG1Y^,OK3\OO^I==NU=PG
M/JWECUMG@]Y[=NN_O_1^/HB43!OLN#Y)F2\2,.P*9NQ&)5Q6W(T*NP4MH@.L
MZ/ZVKK^T;I,E7(^$;# J6OYKLA0^IE4>BQ$^"D"FH _:K?/!E;_<0S7BB8CG
MC<_U8<L:\2<X2 ?M[^303)JM&C6(XW#=_HKHM1B-T_R6D"%0TR<_'?U(.%[.
MHM99VWMWT3_K^_M[KX^/CENUL_:_8]]FS\[+H\>9Z'HW?O^\W^WX_<'5_M[@
MG'4O^MXY\]YYW;=^_W>/#<[QL7>SR;.$=EZ_O;E]V[G")></V*W7)7/9Z_H)
MFL?\"X_==F[..E?>;77P[M)[SSI=GYZ<U.LGFVSXO[D\_\A,*J+Y2\+O5_;W
M?E4&V)LCUN-4,@!-G;!TS-/&QMJU>EK\SMFEQ[K>Y>7M=:?;O_KEYX/Z@;V^
M[O1ZQ?47FS@383JFHO5OFVRH= BZ&J@XYA.#@(K_'=@=M^7??'D'4YJ3@,?%
M@*5J<I#OWRV_][<!UX].3H5\R6$_/BJ'W._]$X1?>]D[:&,^!:9A*F &(:YX
M8=B'C&NDB'B.]R=*ITQ)=JYT@A6KOS$5,1\"J48Q-X;U97#47#88?]RLRRQ_
M16]:ZZE]C/7_.BLG&^)L9]Q Z."A,R5S=B?5+(9P!!7G<[FGA0J;E2I%QI0I
M%Y)Q.6>93'4&S*0\A01W;W)!CIL*^JC@,8MX@+<T4XE(<6I<N4<%) 1@#-=S
MAP++)?P.L/.EA@W>"Q$1]AN32*>.J$ @=) E6$QB&P@'R9W-QB(8,Y/1CT7]
M&6C(&R$K$F%BX*&0(^3;=(Q6F@D$A#)'@8U/$*0*T6!<9<A P_EJ$MJ*Y;PC
MF76<E=?_"Y(!%@F)'DR,L/#8"C),R!0^UDO/A8QPO^>IP':$#.(L1,]$5ECI
MF14D&$&7$W1OHB>BK3AV0$H2REW?/$""/!<*ZJ=");(8"R#I*"0%V[NQ\ )N
MQBR*U<P4C*1A)$RJ.?;&Z:8S T%7ECC%%(B*47G*@JU8Q3MN6<=9^7Y#N,4?
M@P.W\+SOM/F0J:;)V2,/FFFO5U$D\/+0O+)NV6=<@R4 =&@QC($<E0&2T# 6
M9DPUJ%B">H<T#UV'P@2Q,AG6(R6D5>R88*)5 "'>-@[-(7I_"$@GCI^\C\&8
MRQ&P#HJ,FRQ&$X]?\^KQZ2$X*,>GH;MREX)2(=+1$'7"2(0LL9.C!P+T1$<.
MQ:/>HGN]1=@;6?R0N+ $15^-;5CG._99QUGAKS9C1GI@L.EB&[=!Q^<9HD)!
M4< S%$7/K4)AT1#0T5UW>:BC,HT-H*:8"D-*I8R@0-K&*$VX$#K+VDE#S"U]
M8.'[WE_)=14]%"AZ$)!1L0BQ%4([-"(47 NR0KBPS*HY22UEAJ(DR[HY#5)P
M9<4-I3%1\*"BHIH33@LOBSE)'330(EF$7%C#17'+$2C^;PA4$+43UH=P*QQA
M1T_K."O#S:6G9RN+1RSU?$WR%%D5,!:,1461Y:8B) [B1DE.,HP;Y"]*ZA Q
M<1T6_("T)?A0Q"*=4\"UJF_B34LEEB4<V]TKN@@Q'1PK^3[FIDTR/4&J,C94
M# *E0XO"YHA&(#'XBY&Q\ E,B ^I2"93QTK(FV*"6FLK/&#'2^LX*\&&\)(W
MY7'&R_0'^2M$$02IF**3F179E#*F>X96<I=Y@J7,K11'1JB9L")*'./2.$.5
MI9^!\1Q)Q\O20'FKZ%,IY!S*D-)BE!&S] IN3!!4T\'!'K9AS>Z89!UG)=P0
M)NDYU_Q<(M4>5^4I&%MF);=\@<*AR$H%0:;)KQ<1S).IJ$29%._3.R[8H,$Y
M+S"RPR?01$A5*#L>E,[1!\@=]KB-3N)D5H)[9:$5)^BFC/Y(M5AJ@] *.\M"
MN=Z:LUC< 7[8L[<'Y2O_>+!V=+:NSK,]=':Z%=EL^\I,6#!B92$P2/0L,]!"
M:Q"'K/3D/#A:%1<^RAF5$'D6BE1I4T9A]@:VFR0B30$^H>N&"N,\>AX*!&D;
M.50Y"I11AK0:?E(*JX@&X4,FT!!+J9D,[+'<JUW2>LV6]/:0S*8DK3O%&3CE
M9P1R"!WZT!E2( "=/8^@RKSQ#/@=14,N*V+C(9O9L:_V%.?A3_+(2OGDLKM<
MEV2W0HGP$&L;*(7(DYR3YX.P"A*'TLA[-BXS. (F2Q*NT71K42X%5[Y-L!,I
MZ[I:MX<_-B6KW)'YNWJ1QOV]@MX,5IH@']AWZW+BJ+@H2<BIBJ= H8CDH_P]
M09VK&4@FL9H#/IV-E=,O_!XM(8U\(F(K@KYG\L[1ZE54LZ^>MS?_%?J-@=_#
M)=+8W^MD(VR;_5AA)_63TXVU9O=]AF< /JU_N[8[V )B.:1#E:8J:;!AS(,[
M=HQMV%/P%_U:5K]=,S4'>_EK/JU:O[T-V]T+3N%+PJ*I<$#*^=C-Q7\$JSL6
M$#DDWD<(,CJ880.7]MCMY7\#_E?X<ND#W-]4J^Q<0!PVV#7*O296_)!A6$D5
MFFPPL5F:!KODN/%7J\4RZ_5_+] X*TH"_L%VLMA,ES?/AYMKWL(#"C^[3^&?
MV#4?[*Z/;5TX_0I7OC_2,42V1ND_2TTOYKQ8N\6Z;=5P)(I!61K*&HVE&Z\-
M6ALK5S;]$@/ZY07NMQG0+SWX"U!+ P04    "  $BP=;U.<[$0D(  "200
M"@   &5X,S$M,BYH=&WM7&UO(C<0_AXI_\&-U"J1()!<TU9 D0B0!HF&--FK
M>A_-KA?<>&W.WH6CO[XSMG<AA%QSUT2%PITNW*[?GK$]CY^97=*X#G[M-P\/
M&M?=5@<^"?YI!+V@WVTV*NX32BN^N'$YZ'P@]\&'?O?GHUC)M$;.JI.4!#QA
MAMRP&;E3"94E=Z-$[IGF\1$TQ+^-VR]M62<)U2,N:P2K%O_J)&6?TC(5? 1%
MFH_&Z5'S.SDTDWJC<MM\^[$:5X.;8'F <DP3+N:U?QK"UC7\+^8004^7S>X?
MU[W+7G!X\.[L]+Q1N81YQ^Z;;VQ*R&3*]&O:DJ_ =J*'E6AW[X+>5:_="GJ#
MF\.#P15I7_>Z5^2J=].Z:?=:?3*X@N+NW3:O$MAY^_[N_GWK!K9<,"#WW3::
M2]Y5S\$\$EQWR7WK[K)UT[TO#_[H=S^05CO DO-J=;\]7XC^S\RD/)Z_)OQ>
MZ?#@GLJ4TY$BOW!-1:1*,$T:!R+IF*:UK;5M_=($K<M^E[2[_?[];:O=N_GE
MYZ/JD;V^;74Z^?47FSCC43K&JM5OZV2H=,1T.51"T(D!0/G_CNQAV CNOGR
M*:Y)2$4^8:F:'/FCM1%TOAIP]?3\@LO7G/:STV+*@\Z_0?C66]]!&],I(YI-
M.9NQ"'8\-^1C1C70A)C#_8G2*5&27"F=0,/R;T3%)&"A5"-!C2$]&9[6EPV&
M'W>;LLIOZ$T;O;1/L?Y?5^5\2YSMDAH6.7C@3,F</$@U$RP:L9+S.>]ID8)N
MI4J!,65*N214SDDF4YTQ8E*:L@1.<'1!"H<*^"BG@L0TA%N:J(2GL#2NWI,*
MDH7,&*KG#@742^@#@\&7.C9P+P)$,*Y 38X#8860ZS!+H)J$/@ .D#N9C7DX
M)B;#'XOV,Z:9[P2M2+@1C$9<CH!OTS%8:28L1)0>!70^ 9 J H-AEP$##>?K
M26@GMO.>9#9Q5=[]+TB&D9A+\&!DA(7'EH!A(J*@6"^5<QG#>4]3#OUP&8HL
M L\$5ECKF24@&(Z7$W!OI">D+2$<D(*$O.N;%23 <Q''<4I8(Q-0 4A' 2G8
MT8V%%U(S)K%0,Y,SDF8C;E(-RIU0O.G, -"E)4XQ.:)\5IZS8"=V\9Y;-G%5
MOM\2;@G&S(%;>-YWVGS,5-UX]O!!,Y[U*HXY7!Z;$^N6/4(ULP0 #LV'@J&C
M$@8D-!3<C+$%5DM [Z#FP>N(FU HDT$[5$):"<<$$ZU"%L%MX] <@_='#.C$
M\5/W4SBF<L1("T3&72; Q+-WM'QV<<P<E+.+R%VY2X[I$.EH" <A*$*6V,G1
M P)Z9B"'XLEH\:/18A@-+5XE+JB!T5=M%_;YGGTV<57HR7:L2(<9Z#H_QFW0
M\<\,4<*@**09B**7-L&P:,C T=UP/M11F88.0%-,N4&E4D103-K.,$VX$#K+
MVDDS02U]0.7'WE_RN@H+.8@> &24X!'T@FB'AD><:HY6<!>6634GL:?,8)1D
M6=?3( 975MPHPP!5"HH*6TXH;KQ,4)0Z8*!%L@BYH(6+XM9G?>#>D&$34%'0
M$XMVPB7V1+6)JS+<7J)ZL<9XPE<O5R?/T58.8\%=6!7X;LHC9"-JE*0HR*@!
M)L/T#E(4U5'.%$!@G ZYX.D<0Z]U8R.#6E*Q+.%X[U'51;#IX%CQ]\F;-LGT
M!$C+V* Q#)6.+ J;+1HQ"6&@ $:"$C9!9L0JF4P=*P&#\@FHKIWP@#TO;>*J
MA%O"2]TI%1DM$B'HKRR.69CR*3B969-7*:*[%Z@F=^E3+<]F6:R.@BY ]B 5
M>3:@0Y6ESP-ZB<RC16V&N:SX<VEE#V6(J3+,DB'1.B#,31$@J^,(N[![]YRR
MB:L2;0FG=)QKKB97O8?A@RN?C+$E:[GE"Q0.QE@J##.-WKP4RSSMU2>>E4FA
M$-]X@0X-K'1.2.3X&30Q$!3(CI7:'GT(C&$?O.$S.9D5X$X<M#$U10B(@L5R
M&8M\K B*Q\Z,UUMS(O@#@P_[%&ZE4>E?3]:>OS;06W:'ORYV(J5MWYN)<@HL
M+10%JIQE\EGH"J2/M4[LXZ)U(>&3Q%$!D6813Y4V10!F;T"_2<+3E+'/2+JA
M@A /RR,.(&TGQ\JC -UD\+D;?&(>*Z=9]C'C8(AETTR&]MG<R3YSO6%;>G=(
M9ELRUZW\03BF9CAP"#[YP0=)(6?@[#YX*I+',T8?,/QQ"1$; -FDCGV_)W\H
M_BR/K%5.+L5+=4%V:T0(C:"U884&>99S?"H(F@!Q* V\9P,Q S-@LB2A&DRW
M%GD5N/:5@KJ/_/8B9=-VZ^[PQ[8DE%O2O[ 7:SC?2^#-S$H3X /[@ITGCI*+
M0KB<*C%E&(I(.O(O"VJO9E@R$6K.H'0V5DZ_T$>T!#3RF6 MC_)>R#NGZW=1
MQ;Y_WMS^]^BW!GX'MDCM\*"5C:!O\F.)G%?/+[;6FOV7&EX ^*+Z[<:>8 N(
MQ90.59JJI$:&@H8/Y SZL(_"7_7[6;UFQ50<[-7O^S0JO>8N''FON(RO"2M?
M#@>F6)/]>OQ'L-ICSF*'Y*HXU@<N_;%?EO\,UO&M>]Y-Q6JV",.MI>?B/E-U
MLM=?7P'_#;X9O(+[FW(9_(J)J$9N0:+7H>''C,D0&IS_5">#B4VMU4B?@EHK
ME_/-U^G]GL-Q9A2GY@]VE(4"6E8\JXK(][!R[EX^/G<_(W56)-%38Q=4L,;!
M'T^U8+%M47C54M>+1<\W;[YQ&Q68B7Q2EN:R@I/IYLM.<P5_IX+[)0OXNQC^
M!E!+ P04    "  $BP=;O\$Q,I0$  !)*   "    &5X,S(N:'1M[5IM;]I(
M$/Z.Q'^80VJ42+PF32\%%\F T[BB@8)S:CXN]AKV;MEU['43^NMOUL9 TMRE
M.=%>?&<B E[OSCPS\^QX/-BX<#X.N^62<6&9 _P$_3(<VQE:7:.1?N+9QOJT
MT1L-KF'J7 ^M=Q5?"M6&5C-0X+ EC>"2WL)$+HFHI@-5F-*0^15<J/^,\7-7
M=F!)PCD3;=!3-^\.*'JG:H2S.9YRJ5 TK'2-\]&ELZNAYI,EXZOV4SJ2N1'[
M2E-(E>Z!F$5!QVAH@>B%<?<'H@_9?*'V"=[H=:W/%W;/=LJEDV.CT>O^'$/R
M'8;]H\<X]*V)8Y_;?=.Q1Y?ETOAJ,KTR4;PSRG-8T+#66;ET59_6^W686GUM
M';1.3ILYM\J<EDOF8#1VK '\=V*U#E"Y]+;Y!D;GX%Q8,#4G/?/2FM9&GX?6
M-9A]1Y\Y;C:+?/&=Z'^/(\7\U3[AVZ)<<J40U%5,"KAE:@%J0>%33$+T%%_!
MA 8R5"!]<*@KY)R3* );N'4XU!,/N'<3RTY?+@,B5@=A<G0$*.M<ADO44ON$
M6L-$:( @I =4>-2##[&@<-*L(@..3X%$Y9+/.(YO($RI&X=,,;2'" ^L.W=!
MQ)P"JEJR*-)P=Q&D.#, U41$C)K""'U'O2HPD8RY)"#N5JQ,1SVB*,[PF(M?
MO')I1KF\K<*"AG2V0MJ$Z'B])(C#*"9"@9+0.H,L'ZW=I_-1%6T!XLD Y=R;
MGDW26P*]F9A(PAD1-*J-[CA=@>DF?M9;0N,GJIU;7N5\6[3JY9*# 5J3WX\Y
M[@07.<XU"384#>E-S$*ZQ*P2Z<AM>7!(< ^$T#H]](XVT=X2>D/F=<A;;T]>
M=S0?<^NQG ?\>!UP)C!9+4D21<R+BC#,'5GJR-A F$Z,04@C'?@DLQ#.$3EF
M3$8XTB(*D E1FH1\)HAP]3@*]%@B6F<>G!7SE#<2,V.B$[/@FBSKA%K/K4=S
M3HA!>ATPXSG*AE_3RU1NK7D\&([9&UK0MX;#Z=CLVY?OWU6:E>1X; X&V?&S
M3;QEGEKHJ<U7'9C)$*_!-5=R3H(( 67?*LF-O^%,GJ_@B[X<NX1G#E,RJ*S;
M"(8S^,> 3YNO?J#/G<$>(![O%6%OU=XOO-=GVXC/I%)RV889)^X?T$(9D>3,
MV^N-AMUM1(T4]@<94?A8AP&AD=&PN[N&X;_)2V';"V78_P"69D@*9$.3@B(%
MK%U8_06C?HK$NL-J7;$O%$:^S_ &L&!+ >L^K,-QR+"P#PA/X= -961*F:."
M,P6LIV 5O/BIL/97\_X[=>Z4",7(7,)[%A+NR:+6+6!]"RMC20IF0Y6")@6L
MOZAWSS==RJ+>+6!]5[V[;6SK=C9Q71ECUA'S)\K?1M)V[.:_?;HO^'LM%1Y@
M_*56PZU-N=>&,9G3#BZ\B:EP]8(.C(+D1X<V#$FDH%;+>#:P?\O0I(@W5<Z;
M1,FV<;S;*'[82%Y+>% G]>[727_3(7[02?[6UFTR>B3%W"<%IWZR8K.!=D1O
MXYOQ-..HT4!/9$[9<65#^S+UUPOE0<Y_?7D4OGXD4#\*F#X;J!\A_!-02P,$
M%     @ !(L'6[COYGJ460$ $FH/  P   !F;W)M,3 M<2YH=&WLO6EWVLBS
M./S>GT+7]_[NS9Q'3K2Q.1G_#P;LD-A #':6-QPA-:!$2$02MN'3/]U:0("$
MA&A PCTSF; (J;KVJJZN^O3_7D<J]0P,4]&U?_^/?<_\'P4T29<5;?#O_Y7;
ME7K]__[?U=FGH04O@Y=JYK_G0\L:7W[X\/+R\OZ%?Z\;@P]LJ53Z\(JN.7<N
MNGP-O(YC&/;#C_N[MC0$(_%"T4Q+U"0P_Y&J:'_"[X^^G5_:,U1EZ5+TB?<0
M_L/:K>&W\N('_HOS'YPOERZU B_-.9=:WJ6*J0L<6]@$AW/%_ >O8=>R"&:X
M0O#C^N%N<;D5?/WBT@^6(6IF7S=&H@5)B.Z4NV"X"R[ON\F%":2E&\'W[P?Z
M<^1]BA<\Z]UGC3C+*T5?]T1SCG$9K*#;>R;\ OZ"RWD73LR+@2B.YQ?W1;-G
MW];]8O5B0U>!&7BU_<W2Y;)E7%C3,3"# 8=??T!?H]]P%PSO6RV0Y&#PX1=+
MCY#TB689T^"+W2^7?F :UCKT\,.EBSJW=^WY51:0-'V@BJ;Y7M)']G5,GF?.
MD5P"4;XZH] _GRS%4L'5IP_.WV>?1L 2*72+"_!WHCS_>U[1-0MHUD4'+OF<
MDIQW_YY;X-7Z8 OO!_BK#\XM/_W7Q05UHP!5OJ3:P/I(-<01N*1>Y=>/5+UJ
MO^@R'--];/^'J]Z6RRWX%P(,_O7N1;&&\.]:I?H/=7$1\UX\TT6+[BXOMNLM
M-OZ-!-;Y$<NP"7Z=*W4!Y% (/ORO/ *:#/]8-ZHXZ/9%U01;W(GUW:DR,0QT
M'\641/4G$(V:)E=%"W2=K^_:S.N]PLSNO_W[[Q9/*/J>4-6ER6C^B!8P%%V^
M@9^9W6_<%K>L^6Y9TR K32OPIH:HUC49O'X%TRX#E7B.%_*%7/S;YJ\AHU2[
M;-?5A\[]X4=;W(+KMH>B <PNU[6UOW,/T_YLB]M4$20M]U;\&D [W;O4;4T,
MT!7\-QG#3[:XA="M0[$< *.;\UYMA>8V&" NZ#+>*^?7/5V>4J8U5<&_YWTH
M^)<4RXPMJJ.,X (;X(5ZT$>B1CL?T/ )AM)'^D56GKV?R8HY5L7I):7I&D#?
M*:^72%<  RH@^XTBRT!#V@B]@U<U($,:BN1HFE?K ?3_/;\Q]!&2R@N&A?]9
MNO,Z?P'5&:5 E7LC2A:#_N'/*0TN$3X7*)=+@GA^94OBIP]+3\'U7,'_W#"Q
M/;^ZN& Y:"[V!$3.#T2H9)]??>/V!$#>#T"@'CB_6BB"<"!N#'A'Z$^X=W--
M^F59LBVC^0 DH#R+/14T@-70-<G!]_D2T&6SV8> "@[&'4 ANW,*DC*&*4+8
M)YKB7 LE&)I0\U)35&C8C FDE ><!THT=,A.HF^^0SM6F9B6#E=UIX@]185H
M2 8E*^P!RM%(L1!CF&5-1C!#GQWZ[@HP R%;(K0/LAQ[;,C"<);C<$/6,D ?
M0.+);4N7_CR)Z@1LAZO"L2 *Q5$1%T3(^[IL6D-@-,? $!'-ZC 2'($[W5RA
MFZM&A L&_L<ZKX+PQ>6%HT+'1D"7QTW-6U'1$$!-K0JMI6XJZ)IFOVR:P#+9
M9&#RA1QVIA.GMG1V]+($0P,#7$],& ="*$VHAYO]BF@.W6_D9$ +7 F_I.@2
M +*)0&B+*FCVX2>0%ZQI2Q4U"VJ:&H1X/%K3S+%AYK$AVN96#\O-/K09MDW1
M5=7F6PM O]*JO8Z!9H) 8$,MM ]< 1N*;7!=FPRA1O;X1C<\IK YP6'EA(@M
M8>=@6UL.=15ZGR8BNS7=I#6[[L^Z+1$9[GLPZ@%C%<H<@]W<)(02N1CK[!(&
M-8\;ZJKRK$!'7C:1'=<U>Q&;F-1YQ?M7X/ME&-C8[!9&L,NR;+,Y]+)%1:YK
M%7&L6*(:M@3L*FZ')4BVG]J] P-1?0 F,)Z!&0(WB]T5Q8%Z"08Y$Q7&5K)M
MY>&=Q@880@6I/ /'TH<M9S]B^P!@Y"X-11/(U8D!Y= )O (\- S2P&)G)5QK
MV(*O..R!!&Y"/  +.FA KHF&!F\4NI#4<U1R:>&PFXLP ) ?C!S)&U5_^0SD
M ?"<XW(?&C08^:,<K])7)'O# ;IO'?$5NV#QV'7=$9>[G7GBL8OC$9:^A?KA
ML4OM$4D=4U/Q!Y-F& \ 9: Y"5%IVD&[A<X-T/K0.]59K?P;D@S%/78D"5?>
MT@W["\LRE-[$0L%%1W<<<?SBCMV.IAD?V^D#_!G(-.)F"X4A'$Q!IH%98FH4
M ;L6A4N)R-3M(O$"]CAR%WBWE$CLVBH)[%M(3 Z["MD)V8F=8/P;"[NL8V-2
M*H?=PN\"ZE:9J1RVY/^6^;2M$)P_5M9O)]SFCYKU$^;<@=*]6VCK_%&S?B%@
M;Z>T\T?-^JTL80O=73AJUB\,]8E5> &[V&)8SE8B7-B/>DR294HLSX7TY"V3
M2T8Q/7G+$$+$]-V+Z<E;8I?W8B;SEHD%JY3)O"46 UO*9-XRN?HI93)ON9NF
M*IUFWC*YN)]FWA*'/L@SIYFW3*PP\LQIYBUWTBAY_,4[L?(D224^C[_^91=X
MMY3(X^0MDTL,_HJ7G9"=U G.XR]UV64=F])J>?8X>4L,@7F>/6+>,CZ"]U2D
MLCV46^$6?_G).M202]0).L <:(2"P0U<*;]#76:>Q\Y%L1-42P6YV^VGY?'O
MH&, >SOSA'^C>X<E;&&E\.]'XT!]8F,E'&^+(GPY6XFP@+UL?>^1^2ZBCW]W
M]XC+W4YEX#\#=X2E;Z%J\&^ 'Y'4,2-$_#OI1USS5GHLA_V<V_$3!CLINA/,
MMN'2A/D3S+;MI"KS)YAMVUF7XB^:23-2ME*V>>Q.8W3B8Q=EB+\D9Q=XMU16
M1TA$[J1,\!?A[(3LQ+$=_NJ;7=:QE7SNJ>QF/QFHG5:*OV0BK2LM'377MMP#
M8PO5BW_7%P/86VG@ O[-V1V6$%\1%_#OH>) ?5)]7#AB$X#PY6PCP@4FD[FV
MI*)?P']6^HC+W4YEX-^X.L+2MU U&3QQ'4[J>/%A@<-ND(^XYJWT&(>]0U@J
M(N/$BNYP!_#3@(_M-.'A3N@?$S=;J,K#'>%/ [/$U*6G>,8?D[+EL6]LQ$I#
M)%>&Q\E785%6^*LJDL"^A3+!7TZQ$[(3QW;XZRAV6<=6\HF_@")V1[T=H#[:
MN>6=H,:_[^#U?X2LVE,T6_-#?UH?:,H,R'49ZG;H5R-5[[0W]1J&0EOA-4M6
M@ F_FXR ;'<4=3IT/HLJZHJY3=_= OX$G]V/4\3:X[F$?RL%/Y0LLZ=,RYVN
M#3K &%5!SZIL "N8Q"R+/TRN @,RFV7K5Q/>Q&M(;8>)IH]'-Y:YNA;'D[X'
MJ,';+^+8HXQK??QZ'H+KEX! >659_$=GL:YWQ1>$O%8%*KRU,87?O(B&G'CA
M^+<EL"Q\'4YLD;S=7K?6[P,)>LM519T@4-L "J^C(C6G^;>7<HU7V[X*K[!D
MMISY%L<%><V)6 <YES*0H]LN0Z#S*0-Z:6,T&.1",I#19_.I'F@!!FI6#_4!
M,.WOT<RG2],>Y@5O3=D3NBZ'!GJ*-5#-"\X=O_/^U82@.U^C>4O_GIO*:*P"
M-'#(?<S2G9U'F?K$<)\$+[)'JERZRW>&5833S/G-_%? 'F#A?3C_6'%]&&!0
M]B) X(RL2OWK\JR+U1_/'_8AZ&GNL\;VF?DU$$Q+-"PT4>1JL1+O/HOO5G\%
MG"DD5XL5+YXM^W_A?>Q_NO>9B\I0]"[48Q$"E1V4.J/?K*L%[//[N]]@14ZV
M^&T9.7[.P8\<SP'-(G($;[S/GCG'EPRT<P,M*/)3UW$Z"MX6FLD9'[7XW/U&
MAI"\CE5%4MQ(E)*5$4ICZ-K"(_.OQI=&-*^G_F_*KXIY?A7T&^?.GSX$/M '
MZH= 6#,B&(3VZ:/]P>4>!E;&FR=_(!+>BO03#D@9!^Q/!X3&\IEQD5;C%2$]
M\4IHUB&;R!42(%<X '+9$T'NUI'VWI$;VN*D]FH!0Q-5;P? ?%LVPLF1!>/@
MD"8B@[J/<%!Z.2B5"GZI]3?AH'1S4+KRQ6$N N&@]')01OP@DBA+1Z(LBQX0
MX9T4\DY&?!_".RGDG8QX/81W4L@[Z?)WEMM,9B>5YLN5\_O>+\M<GG%I(^'
M6TGK)U RK&K:%A0S]'.G8AX=F- UN[)S2;NLK?GD=HU"B+WY^,[I$W[C^D^=
M"3:<@SI=RMLIE( EGSJQ(PZ,GB[!%QYDT,+?"MGC'QT\?4Z(C8NWPAQ+,P).
MG_[^Y;X5$F\\!GKZ)-^T_%-E@>@YZ*=/][0$=BXM#D=L$MBE+[ [&!.0P.[X
M@=W!)9X$=FD([ ZOZ$E@EYG [N#,00*[DR<Q">S2%M@=B@4RN9VY=^2LSELD
M4>_Q)&'O&_NKQ"91;_JBWH,Q 8EZCQ_U'ESB2=2;AJCW\(J>1+V9B7H/SAPD
MZCUY$I.H-VU1[R&*>,EV9DH".V'?4?QV(QU/G_!I#.P.Q@0DL#M^8'=PB2>!
M71H"N\,K>A+892:P.SASD,#NY$E, KNT!7:'8H%,;F?N#SE!_01(_'O,^!='
M P$_L^RY^02)G],8/V>1B4C\?:3X.XO,0N+WH\?O668;$O^G//[/,G.1_ %A
MD0@6(?F'5.0?,LA"V<E?9 *Y(=U;2=;CR)*8OG:MX<Q"LAXIS7ID@8E(UB,E
M68\L, O)>J0NZY$EMB%9CXQE/;+$7"3K05@D@D5(UB.568_TL=!2BWI2CI":
MP#QA3_K]9G'"F84$YFD,S#/"1"0P3T-@GA%F(8%YN@+SC+$-"<RS%)AGC+E(
M8$Y8)()%2&">OL \&RR4T7*$M"(W9" HR7H<61+3-P$TG%E(UB.E68\L,!')
M>J0DZY$%9B%9C]1E/;+$-B3KD;&L1Y:8BV0]"(M$L C)>J0RZY$B%EITPB?A
M>$IZ N;V/:B<5/>G-)P^!A.0</CX/0$/+O$DG$U#3\##*WH2CJ8['#TF<Y!P
M\N1)3,+!5(2#AV0!LL^:GL!..#2Q26"7OL#N8$Q  KOC!W8'EW@2V*4AL#N\
MHB>!768"NX,S!PGL3I[$)+!+6V"W/Q8(.H,N^!R^"KQ6&:BB:99-$UAE":+.
MM-W@N[M*]EGB>F)".P\7MUB7S_6+L?BC;?PF/(<N['OC%U5]$^9)'_,LIXD0
ME?:?*30-JWNO:,IH,LHNM>$B+A]$;0 <VJ*W2VLZU5S?$A'%U],CHG]-)T?$
M);LN+!Z5T?-'[CJVM7:';MR#9*5EZ#>Z,1*S+2QS7[DM 4V$*%H(SO("L^8
M';IXDK#$6RV&#.I(35@B&TW*#]BNB[!$-@Z*'UI+^&)H0Y0L.X@\@1V8&U$Q
MGD1U JZG=XK84U24B;.CY.70>77-1(-LQ2X>;I53V*;=AF?6%DX8)U9#]1OE
M%<@M0Y& A\D,,XYK;>2)9#6--C">X;)\O!*Z5A+,Q#KM3GB%1#EQ#1+A%6*#
M(L,?PBLIX)6TQD7!_HJ+VK:H9MG#C6"2]442#R66AT*X@_@DX3X)X0[BA81[
M(80[B-\1Y'?H$^BG3;N59E;989Z:OP7ZP!#'0T4258<GW,5=5IK$P8AP, @;
M[%L;9,*3(&RP;VV0"9>!L,&^M4&6?(/']@FSP6.;^ ;Q? /"!L0W(&Q ? /"
M!GO6!EGR#5KE$V:#5IGX!O%\ \(&Q#<@;$!\ \(&>]8&F? -G!TGN[-(MK>:
M-K"#O=_D6R+Q%&*5,!"F('X#T13$BX@N6"!,07R*-4WQ $R'4%GNT!E1Q+*V
M1N):Q'(M"&\0#R/,PR"\01R-,$>#\ ;Q-\+\#=06'1C2*;/&ZA*)MQ'+VR"<
M07R-L&8%A#.(IT%TQM%U1HK\C'GW29:[X%F[,9+72>A&-X D9KD3=42#I."%
M'I(QEGI3VA28HP)[@]$\(?&129S?-XD+A,1')G%AWR1>G0K7,409-,11EL].
MSOM.*9IB@3OE&<AU#>)MH/14X#0ENY[>B[]UP]>%ROO1*@*.IKX/._*WK?>M
M%]$ 94V^@XZ.9KXY!K"]NE TO!$V:.@67':S7Y8D,(:/DH#I^L!58"H#S82(
M02,U5!5(UD14X9?PX=;T+?+*;KAZ(PSE=<>Y%J4_JCYXBWP2B()3);_@NHQ$
MG[P-?2(<RD'U_)3)&"X/&!"]"$,0!P-#S/!D"Q^[P/4HHEJ'&#0FZ$9^MV3#
MJD]5DVQ!>-_$2WO47TL\%16R+Y[8!@P_4F%TI)G0EL$+H!KS?[,Z@7.5$*?*
MIBL&C^BGE.BGO1NF+0A/]!/13\=BTU4S"C1%-]I FAA KL _BG4C2G9+]NPS
MY/)Z_+P8M>J3LTY1>_>$#X[.!RG>WW=U!X\>P+%S\^4-TWV CVF_B&/7NIW$
MG$B/=ZH07<^B98\']ZS:@V+^6;8?P9C 8M92.K#2Y87]&:IMF"WK\RQ3S6PI
M&*RY=V9;W?8,1C%AK5/WA@C]CTW_]'M!*YYS69(FHXD=/MK'&BOZ:&R (<+_
M,[C3S1/8-[\6512RMX< 6'>Z)*Z,1H^)@9/3(L'\@.J$E(%6F1@&T*1I0]>J
M0(6(,*;PFQ?1D$^ (38K$V<@2DPTO!&N6%6L*U-BYH;'$2 ;:2<S(S(&MT2@
M!VM^,%R;>5>$$8'PZA*O0KUO3(!\4K,I,\>K841X([P:U\R\=06+S1P337M,
M[GVC*C>EW/MF=&_4:?%0DUC69!(/;?8:MD#1,?,P&3JA3KCQM+DQ6Z?B"3>>
M-C>F*T<==1*?<.-I<V-*3_\O1ST3318E2)8.D#1]@(X]G'1=9$A!HC^^"<,(
MUH FTX61AR[<)DQ*F'1K)CUT]6[+4,R1>(M(<7=7>>/\&80,PIK'TI^$-0EK
MIE1KEM4)=.C[BG0'Y':Y_<9Y,Q ;A#F/I3<)<Q+F3*WF;%L36='+S_ A"F'.
M0&P0YCS:46O"G(0YTZHYJQ. 4O-VO8L/"?.2@3?+IU&((2Q[+'U*6):P;,:T
M[),BH]ZMFJQH^AMGTG54$+8\EB8E;$G8\JC:,JI^DR3K2;)^$Y-FN!B4L#9A
M[=BLG:W*4L+:A+6WT=H9*E,EK$U8>QNMG:*:URA?FVSPD@W>D_6V"7,3YCY9
M?YLP-V'ND_6X"7,3YCY9GYN4!I'2H)/UN0ES$^8^69^;,#=A[I/UN0ES$^8^
M79];5('9T4GYZ!J?1R"&L'QF/7'"\H3EWYA_3EB>L/P;\]H)RQ.6?UN^?&CK
MI]-FZ.0=K]Z4/QSJ'!"V20_;I-+ !H=1A&U2PC:I#$5"_3+"-NEAFPSY-I5:
MLZS)E6;3]=[G7KYFB?>BH8A5H,*_3S4_CT:\=A1+!<U^79.59T6>B*J/O5;0
M<P@??BFD"*$"B26RZA02>2/REGEYRY W3>2-R%NVY2U;80B1-R)OF9>W5,9O
M"W^2]S77(?)&Y"W;\I;0G^1]O8*PS^QA2Q<,>D9X"ZNL"DOS10.&.53&NW6E
MPL@,BQ90'M;GZ\?> HI!/::8XOQ5B1#XP-+N4F K:7=IM3=I)\QP#&E?)>M>
MI)VYX(J+5X3 AY=VA/=MI=W_F[U(.V&&8TB[GZSXNXXZ#R@0LAZ!K(7]*?'0
MG11"X'0':$?:T"9L\9;W74/W@0A;D.T*PA8DJXYM?@*;+\ ;\.P;YY<XC\MN
MHCHK4Q,(,[XM9CST9)E?>M\0)1T^I5W.KIF,OW&WOMXWHG4(H4]:HMFY1'^;
M0*0 0YT^0 QEG]+E%]&0.],Q\-$V8(G'E&)VCU*\0MRRIDU$]5HTE1,X Q)$
MVK4%GAQA0[.?T%WJWBN:,IJ,EDM^&OJS_;XS5)"Z>]$[0WUBBIKL?)!=1D .
MXH.H#5P&0&^7$(#%+41W;5M042#XVA+01.1\+C@N%G9)BC8A[W:&ACX9#/UH
M?8'(F-:4P= BG+L3Y\; [1OFVXFF.$S[V*ZNLM@(B.;$ %>*J0L<6[B$EWBW
M\KY:NC^Z5_#-VT/1 &;8_=W%V]<D?  $K17\$+LH<AVAZ)>-R0@8HJ6O,US\
MM:^"%W!/WQ.K0--'BA;QS$A\K#XTX+;>U_[E1Z.Q!1^QF4IC^#(AC>J0^P;K
MBLR[BRVL[C5)V<P1SXU/<*^)]81/'Y372T@$?6)(P(2?V!\,@2@CY?#I T3N
MU=G9V:<Q95I3%:K:/I2P2XIEQA;5@1K*I!K@A7K01Z)&.Q_05!L*9O\C-1*-
M@:)=4NC2^9^/%)+/"U%5!O KJ,HLA*Y/YEC4_$^XZ(LC19U>1CW#OM949L !
MZ?SJ?_^;S3,?/WU -[SZ]&%\M7_8G8?\U\4%=:, 5;ZD'B8JN&B) T!=7%Q]
M@ACTGO^BR-80 <#\YWSIBYYN0'Q?6/KXDKI61>D/)< 'FKJJR,MK'%L?*??B
MGFY!N^I=SWK7+U" 2.?^WP?<AR7H"&7W#7L1P?ZI=_78J'=JU;-VI]RIM3]]
MZ%UE=B7M6N7QH=ZIU]IGY4:5JOVH?"XW;FM4I7E_7V^WZ\U&)I?'N<O[+II#
M11M8ND:?5=]7WE,<DQ-*F5S2*<C-3?/A_LRY([)_K_)KM\04NT &RL5%59<F
MR-2AW$%70IXCPS)LMVN_RL-P9/; #"=?"]\^]]0_\';0M&FZ9CLPBD2YSN(#
MZ*\&-):^\$+/G8!'E"P&A1/".:6)*.:  %SZGW]^Q3(7WVSSN7C&@F<(^QP>
M=L@^[^[+#U_/FHW:/Z=% DOLJ0 ^2U7AIQ+45_^>0TY%[\>B+'OOMUZ?ST.9
M.QJ2KJKBV(3@>*]L[_.396Q__V=@6(HDJAZRH,?CNK*?+#DQN,Q[+J=HF#EG
M5>=45G3.(O<,QKIA!:N?WU6%+?S^FG^\*R56/WW=&(G6O^?*JW79TW45B)IE
M3,"*7LH%Z:45&!$KE0I"_F,<+67).Q#&+Q"_)Z:E]*>8R?/ML?S0J3W<_;2!
M?*BUF@\=JO7XT'XL-SI4ITE!-Z4#?1&*Y:GF \7FWLG_4,T;JO.Y1BT\F(7W
M4JYTT-=LB1=6T0#_9SBQDBUU5]G6'%F!'=E^W3BSAH#ZZ[$QY>1\**#)0*96
M);2\(J$M^^*:DST*ED^^W>S<%^OZ4Q6+>,HH1P=_-Y3%Z12(!M!6I#0?)*5+
M<)Y??9EH@.(9>FU]PLKZ;A03JM*?\#DW\!,S>(6U<FG4&+_<\S,%CP-4"%K"
M"BCG=A8O5,N\ 1>)V.=#V^=5Z;>K 114#+#)0&L#:?+E:^&Y9R47CP #W1=5
M<]5"%P,CAQ4H71,MG(*)[CR4&^TZ,L+$1I^\C;;FC.P9Z3X4&:A 3DNO9P5V
M2)F*/AHI)MI!/.LKT!AI$[3C=TDM/<2&0@:2;HB(=I?4!+I6AJIHX'Q-P]9<
M#5NS]P)OX#T;$V>+-TBS-EZ9EL V]2_EY*'/DOXL^?7G*@QHKY>]X',"GP_5
MG"?H9F0 ]F*(O;Y>XJ8',%!,I$.L!J1Q,$<-U.']UY)^JXEY+!S%,>L<M0S'
M^56G5FDT;^_*[?99O5%Y?W*^Z[O:*\3&&5HLI?>IQ?(IT:3:8R"A6@F94C2J
M;IE496@'8O]D<ZTG[*<[FX$87'6A])\#F*9579!?T@5U#9JCL6N1[+J7BC[1
M+&-:T>40U7#]>'LC-OGRSYZ$PXV_,(%T">2!:(P-_5ERGKX:S'/LNOK8"/KY
M546<0@S91*J;JJC)YM[=?)>NW-[)NB)=.( ^#C/FEIBQ([[6W9HQR:;J)I\'
M/#=&?\V'+^(KB\="<>LL%@+0^56I>,%R!9;EF)A,-8^9CIXI@,C*BA%Y9TNU
MK[(I^A_=H'0T,@B&V89BRHI]0L%OAFRL904!>M^&5_%K.GN)QD#4E)G]WN\@
M8$Q3I%EI98F%Z^\?WK??;\7#M=%8U:>H;"VC;+NL,VW8&_K[-48E>:0C92M6
MK7!UR0J79=D ING^=:=H@ VVP&+G_O;V"_.3X7@\%IA?M\ !P)Q?\;D<<];X
M#GT6:TBU+0, *\0,KV_LL$%KK<"73:.COVC!*[5^3*7'[Z5RGY?QK%0(7>D"
ME/.K>P72>+>5V1:T:;2@:PVM2(A'_SH<-ZZ_-FJ2ALVA-]%SD4./EKGFS>="
ME[\"[_G5C:H;BBR&8&$-";4@)+30B43UES(.#VKTKR]27YUH8D'$0^%\Z!*7
MH(',S+,"%YO(3"#[.G%/\,KR_5:I]W.@Y04!&W7=*"V0MH5PUG9^=7[UV"Z?
M7'(GXR:A_ PT*&9G%<60)MJSJ(H&):*<"C6R3$H&E"I23XI("0Q-78N&H>C4
MG6A22#KAH] GHO9WHJBJ2%,57=5'/47,+C'?N1Q[IO>IL0$5D3(650J\ FEB
M*<\H>P>=&V">4&XN*[!OR"&XZ@6E5?40.\X^SO*W3\52VRS@T?)+^\Q+ )Q?
M_7]LB));*['UC!:R_64#B.%FJIVWM+_7OZ__CE4\"UC:Z/$_'QHF)JRJ)-3J
MWNF2J+:&NK9QMPK\K-7;M]7KGSJ6-?!+6PNK()Q?Y?DBE6-S8=3(L):JF^8$
M&/_[WT6.+7PTSRR@@C%:N;O]2-13!.Q[*,5H0Q-A*&A,]9EA[^\  \C4>&*8
M$[318^GPEW9.BF*Y=[U_T#X0VM$O2]9E1E?\!G=Z-I\*<W"T7?+=/J2&C23V
M" \;:,A>0)2&E(0F>>+9+W I.%^]?4YNOO-QV(0A=D*P>;R$,$2$*QOL]G34
MT]5W/J>1D.% \H!VW)?$ ;Q*0]1(@()Z^&6HP$\6RCJUNS;X?.B0$UZN[9JR
M7,_6(,'>6WDZ'MS7:P.AG3R?L.2^+6WMKL)P?M4T()^+QM01(O<4^^:JH]VV
M%M*YX;%WZKNZRE%3P:2?*/K#O797R.D]/*1?VG)= L#IMD$(C9'0[(J8UUPE
M&%X$-JO_JCR:]:>7'QR^2@_XU*"\(<\'J0$_C) EAHX:1SCXJ1M_J+:E0TOC
M712#6PZUY70@/SLSP*-I<A+:R^]-*6D((-$@''^@[07V9CT*@8Q%.=P[]A]J
M*)H4*J65*5%5X9>H8-^$?_^=*"BB@H%4#[@7P'O.@RH>;8\[Q>UN:.5Q!XJQ
MT&>HHOU,AMRE#>SOQP:0 %(\,"*C[ -%)O4.W@0R+F5.H&M@#G54B.>56EM#
MT5H%^$5<!LVN ;9_[ +^#TV)FDR]XYR%]2#[P^][OR'89_!Z^U+X(P2%>Q]T
M8,&&P891-"VJQ%"R.#7?9Y0%#L>_!FK%M$]-NERU5)D8!B26<Z8$&3!+M,).
MB$W&U0;[6%6F^=]X+&C 1F(P/.=7/T,=IS/WJ"K5T*GYD1C"9.E6DDB/0!4R
M4BP+*AV@0E5BZ!H*.-0I!6#P,:50^R,#-6E]!E15M$0*U?"OZM#%/?Q9*M2Y
MYDQ@<FZA\D2U2SFH]D6'>H>07/A(<3SWWKW"&BHF!%D<HX)E"J]R/5M5K@[
M<YT)S'^(2CRZ2F17JHKGC(?XSM5((;L!GVO#;\]L;R+C.;O"!Q07!,-#5&+J
M@8^A$GW'** 2$BD5 @HH49*@2C10OVI;21C( 0O\E(+$OPC\PAQ!70J?8GB6
M]$S21W!E4QHYF?!VT$E#2!E0 T-_L8:4^_5[N!Q R:"O:,XA/:@AT28-QWP,
M <[^EOU(>Y>M@^->X5W@@G8V!\U[MG<=\C;=:T.@]*Y4-%O90P7=N^""G.;W
M9&<B=3L3>,Z*Y_"F6<-Z*"S.#QH5R-(#/:Q4:?1BOOR]45]^[9!:7,LWV ^W
MA4AR'[Z6>@BHU5J"]OSJ#LFMC>\UT0S;(Y^W?\%X2 ,SP<J+M=B@V>M9,W<G
MFP=O+"O^S2A( \!M5^LC4-8T_UI1!K<D?O9OKR>FH@$S)#CM,:_7#]62*'6&
M>^[/P <4"2X!&-V:X=29,YTYY9KK2]BP+/L3:_QWL\1_WB]O[1]5G-^$F('B
MX(<HOGXO%HK[YL/B.A\& IJ('TF.^;"Q0O\LW">GH9_KA!+4<BBA](,2*W8Z
M!5IX3;>S(1,3V%?!!3CML (Z<,"0 #U+G2+Q>%'@HY%0:!!\'840SXII>PR:
MJ$F*J"(_ I4+(DC1E M9-&230@7SBAQ6,,2_$P.SVN])A)KJ"-58B5#-(0PW
MYFKSG6@ZL:)S]']S+$9278=/=?T$YIDK8"@;M/D\?1O1UK-N<N\FY.24]*TH
M?9WE^9?DITUB6KB 3BY^&*/;5!)V.S3P9?O<07DR@+>F6)I"5*>1*C  ]8+^
M%]8NU=W_T4<CU!!!E_XXY3+-B66;&&AKNDK=Y<@BY,B9]+UX#90?K)5;!-PW
MAC/6;7U?:<-]SY?8MCP?HU6$;+O,D,(*ZVJ3D:Q;,I 4Z/^?4^X+\]_S>N/F
MG$*C$^Q;>M,XA#Q=*A9H5BAZ#.O!.P^\=;=@B')&7M#4_VSV3.^@<H9+:(G&
MDZA.0 L8]L-""O"_OPIRY[9]/U6C,19RY_-$>6V!380X_R@3YCWJ[12&N.73
M"3@8>2P:U#-:.7*2''+0E+[@&F+,C@#\,MAQ1FDX<#H3,QA49NI^X-5[,K[2
MTSCS-E8J0R/G;<SG<Z1DWD;&..H@S(.0_A'^[.\$:!*ZW*: G;%8YR2/O'G[
MEHN4O#\%OYJBCUEJ')I[7\G1KZ]LD3T*R DM,X *^O8OYJF8)>;W:.FE KP\
M@#O@9Q4G/0.(?RYZ .IV",S8QJ-?XAPDC9=1:)-X\:CQTLW]$K$'83C/#H.F
M$<*,G[Y<:]*7U=-S&:>#/:L%34&AX"N[BV^K]E!O5JE:HUJK4E\>&S6[L;G3
M')P0Z3C"4KZ^JYTU;ZA*L]&I-3K9'$9U6IOIN^R;!WH&\\;KF/NNXVSR%[C-
M=<0C8KWD1\2"#VDNDV'?PH"\*FQ;D#V(BH&A3S09<;EN7%+_7:G4:C<W/DZ%
M7Z"G_7O.)9"G/1/_DT@-#91J^&_S3Q>-W8#H,2RJ_AXZH=YN1UUS4A=V,SX1
M4[O-,$XX=!L[S-1_&2H6P*REWJA>6F'-POE5W0(CBO6SYGS8LTF]>]3$B0RQ
M+_^3=2[E#ZJ>TD;WS+(HPYY?571-!AK:+8:O;/-H%YM=BRKD6$"UAP!8)N%/
MHD /SYU<*'?ZM*C>IYICX#2K->U"Y*:]%8YV' TPA#]&YU%0]^X1R#H;"T3-
M9I*1^9B,7!'-(6IR]Y)YA9LC"C>#?"K$Y%-[AW>HJS#&-MU^8%3M[T2QIEGG
MVSS1L'OEW&5^R^&MK[?@]99.A;!P4 PV7ZJ8378M$#6;!36[3U!/) U%E./^
MS'K>341Q[ZE[41,'MN[S^GA25<64)O8P03MZ*FNB.C45V\XO5";2J4X!.KKF
M 9@3=37VRKKI1\-UB#)-/W,394J4Z1&5J9?5Y]]3W]"9&04ZDRC#A/0B_$#U
MWB.UJNKF!#6L%WOZQ(*ZU_@#+.I!,?]D7E?N,Q-%=&4F0"6Z\@2(N%]=671U
MI? >.9"6H:M.AKYEZ!*0)W9OU8PK0I+HS 1C$D680!%FIPR(*7EE0/7W[OX?
MJ0$BBN;H?,DRBQJ@.S 05<?TV3T*LV_[R&9)1IB26+^E^Q.FVH.FXQ9)YD?-
M-XRH+:K SA0[&\348F21'0H\FFB^G:<6B4XD.O$$0"4Z,2N4VJ].Y%V=F#O!
MH(3;9^T!T709 36#FHX$P(=4@8*K O/OJ=KK4.DI1SM,L-+3P&TPLMY>9$]*
M<NRL$^<_VRS);MI DH9+O)D[OVK#QXC62>Q$%$E7T$C@C]*<AOM(-<=VB=0E
MNKW;8/,C97?I@E^_J=XUZT*PVLS)ATD/AQ^ISG0,GU\VQ)XB?:30?#8'SPT=
M88];:D+C_<IN+'7*?7'VQ,IIA##;/=!ZOF$%WJEU=RVM\D/GK$Y!5JDWRHU*
MO7Q'U1NHVTJY4V\V#M7 (V-J_ @4*\PIAMS9L[ SW8A@OG/=!VDY2/K@K/;!
M 9*F#] ,\K.Z)KVW\\SM2<]49$4T%.3J9;4MSAI?HA/<[E+FQU[.-A[DSO#2
MW]6U,VNH3TQ(4'@E>)4 <F?0832;QO.VGQ1<NOA/MM?J;PZ1U75L[N*TR8?U
MNN?R#--E6;8[UGB-[\Y^ODS[\M_<77[,0S]W,H*KFMH77BZ4,+2EL7H:^/MO
M) A5X[G/JVVC@F/#]<Q3$%W\G1Z7X]*+%X#:D*/;J="S=Q$[=_U9/RW\H:T_
M5O<P+I3*O@;$/R"Z/^>_/O4;L>.* (""5O-EH@%?R[CE106L(.#&AT,)@U B
ML!S/=F?J5/_146K??_Y0<..D"B0PZD$MQCM]N 4<>/$E?.8+0CV\)^;%0!3'
M%Q=ETX3B4.ZAH0&2U56NN[,OA6M=KCT,^\7\^6;6#4H*&8/>.XX1:(XOTEPN
M]T]P8C4&/LKM=@UUL7.0$$BO 'EQ8LY@U@AHW1]]8= -4P1,((&Y-0*[8R@7
M=&982.F9_%3J?[Y^ -\2$/I[>-I\ W6=%;C@4*(-W&4*\9HJ8 *)7/81&?6.
M*&LR^@M56CR+*@I(RE9%- PT),;.-D&B<_7N2"Q79L4*M*?7XZ\_^%_/UU5&
MW8N<NY8PC_)( 2R VET@QTU"+\ "ZE74N+?A_A.LLY>O8@.?]3\A]V3S*Y=[
M ST"F^V[V+Z,A>RP*04!S?9+,9OM7R"W!](&@L(O=]T_OV+Y EUB"@']]H,7
M'HBF8-8\(?P+%RQWP:],B<C%G1*Q&?\"72QR^/ ?:;C;:)IU!QBCNO8,3,O.
M0*Q*N*E)S0>]5F@V^=T5_)7O07O6D9OI'[3R^.*6XS"0FZ-+0K2P'<G"8,)>
ML+#P6+"7%W([8B]0/O)^O\<9>F8^0+<:Z@@8=S: Y4T'7Y&3I^:#4;S^HE=_
M%?=B"=>7TC%$&7B#V=#,>0](FM* =50&V82X+<0LAX-1N *=*Y:R*6A;XS%8
MX/(X\,A A<7N1>3\)LDN<ULLUUP5N.'\R@>@HJ0,.K4S[:#YA@Y YO74_TWY
M53&[W< ?W=NALD^$)T;SMO/SIO][)N*+9=;Q49T JF_H(RBQ-C#4&$)C9Y6/
MR&GA>-\DKQYBN^MX76'!(@86Y&E^9YV?#?2Z8AP?O3C\?VA2"\(^Y+O@DV_D
M,6B6;DPA!E9-:.WE-B=^_SMZ_,9B-:%7WD./+63^Q<<W@_FXD]0V!A>%/)WC
M@H:I94!Z(O$6:/;R.+QTEB]!3S,Z*-O1T[1/M\-;?U>L865B0A8'AIUU"W<X
M?RN"5/Q9T\O27JV5!YF;9Z/LMD_L1TIRTV_V6'=4C7Y$_HB!O2W$3<!AJABZ
MD ^:^9@!:4N*S6 AQ./#TR7476N_ILFVT4NI[E61&[/Z8Z/T^>X;ET3DMH_Q
M0K:=G*,@TE+^.\9&S\;<6]0&5%QNV^8^\3VG):IL(<H%#,R79VB>BS8 @3MK
M<;'VUJ@5K"IPQ @Y@>;YO5 K4']4PW;)D.KH(-U1F6EW5G=DS8/,\O67U^M9
MOG^?._"&64>W1#5";6S>"D[TV+7$?<2OXB5&DBF$ HX\?1ZZA'PI.J,4"SLQ
M"Q R2X9 22_@B&AR4#$S;+17L#49 @6]N";H#5V3 G?$[W)W?[Z^3 1=!\>H
M?7 6=*=#[68!8T3VQS$50;0,?0RI.&VI(B2Y)J-]PS':^O!G,AJS*MOIS@SI
M3GKM_99S7X?[C,T\D&AJC("RM\*!!]8.NP!KNF)KQ; )65NH:QR):X%CZ5)N
MU\16!E 8K&IQN,"\(- "S^\C *M%;;<MU.RJD V?>&W\[?:+]&4_>G:C4G5
M]6VZ'3>S&(&Z+40.2R4)G2NE=VO;7YU\80+I0GF]&"JR#. UD"DYY;5GJ Q3
M9,ZO+I:.1&(KM:J"/H!TD9VA4AWQU?4HU@U)?7I[4VQ</_]F>WO=DG(!HA0;
M(LH27X_,T.$HBL_+11P)8*&0T2VG+3$8:#V*6$HUBGO9->9CIL_##<C?LCPH
MWX\J>NW/@0Q(6#(=HN;"!3*UJ=\DUJ2((_O+<K3 9%0(=T!HL$#B\(C9',TQ
MNVY.!,JDL+33:XG:0(&NR%SQU%XE=8+R;K>Z+K\HJKHJD;6.\:?^16HI;8S)
ML?5U+$!;28,=:7<S&E%;B!R.+"H4N4)6[5YB= 8+' Y_6*#YG2O0(K>OPF2*
MK14?1_?7SV5%P%M5X3WPJ-3>7D!*.)*//$.SA8SN[VXO!"4L]<X\G<OO6H 2
MF9M%(7I81;LK$!6KQQM6;_8RPE#1'B=9H*2DZ#T -UN(#8ZRB%R>SO,9M2MQ
ML1<L03@<X3Q/<_F]5.@QP640X:'3[]:S=3^Y;TV^'2;WMK$20EW9ZW@+N^M)
MHK$2CEQPCBZ4HK4XJ8;8CE[!2@-+000ME*(=%5SU$,*&;=+UD@A7F51+MR/Q
M^5OK[^^#5D2$Z!2G3")*I^S2(B FN^U0/[#CK;?8^T^@AU@&1Q5&3F#I8HSM
M_W@=#W8HS2"$CZO06 9'Z"783F1"E8:G&*2PIN50Z0?2;9:CVV8W?ZQ9ZZE5
MS/%X@VY<ZBW=2FUM\_QP;+V%%L.Q-\+2;)&E.28Z.W2J>BQMM Y67#B"7Y9F
M6*BZA*.J+M:?*U'$GJ+:HU3*FMRV=.G/$-X7&*8S:F6YH\]3\^GU^6ELCI)L
MEB7STKPV/G?U\G7]KMZIU]I4N5&EVI_+#[7/S;MJ[:'MCB&G:M\>ZYV?*2PL
M2Q4PD>=O?3P1W._G^J%4'SU)CUR5.UYUH]?[1UU 2PH<DY ^MU25TEL]:W97
MF57:N>ZL_;W,&J6'WLM#DC8_L5.F=E\))^J2(3!.:Y_E<V9HUM,B-D-7':L^
MSX>N^$X#BR.3GBL>NKAJ_]@*-+LL'A>+V1E?@;)S'5"ZV!*GJ/@.FE/XB3$!
M\KH^796M5Z ^:<J+]6@<J@IEI7'(V('9EC;1@9H"KV/4_S(=18TQD+J%!&(I
M28'8SN]<0I%1M :+*H["E%*1+@I[*3.^7MW@")/+??07\21=NKZ5BG\K [TS
MV'=_$4M/7W>1[:0V;N\+EL61)2_1!?;01P2.@-LM^XJP+([JEQ)=W,^NY8W?
M>56>%1EHLJ?50HQMY?>X>C.N<Z/G ]G:.5R>F3UN37 PEN);3PY'!K= ,UGM
MC; - @/M)(<C ( (W$^GGF)$3;6G9J8AXB5]_<X,JE^KG[\G27MOWY/$B_^G
MF6E+LHK!+40/2PZ2*](\D\^F\"7&9[ DX@@$2@6Z5-A+:6?M0!YK0]>,34XK
MJ.2__ +\CU9'.7ZEC[2>]SOMXI&$/G,@45?8'\O!T#S-[J>ZY(T3=-51CT-0
M+-5"3"Q]AJM<*+=QY\%7,"36KKLCR]-)OT>WUT,3Y(6"=-0>*AO44%8Z>.R2
M2N-QU/'P'$,+Q>B*PC?03667_!N/(S#C\CFZR$5[AWBVHO/!PA_:5V78UF;/
MYL^V64^2/L/>5X7L/6(L.E\[K.QGB,6Q^+O&;-HO=6=/JO:=JW3:3+Z?D6/Q
M.';0-J)H"[6-Z0QIZ>#-F(^#Q&!]B\-]9EE:8/<2/9;C)G+6CWAX,O;9>)B,
MQ7'12E3PL]/I^/6T3IH/R ?@<@MAQ-)O1=BU.>K^T!FOVPI< =9N*[F (X&H
M!"&<W<O&[_N'YX(F?=ZC20E);MP%%K2<7  <3(CXLB)@:>C-%&,U]"8YBRU)
M%F@F!2P5/)!D7(S^S[BR$I&!R7IBPE4B-W^?Q.\//RJ/YGZ2I?A.-6V3NGAS
M)UP"B;Z%GL+3]4:@"UQTX=JIG@O( O6#51Z6\(HMT7G^4*="(H]R^E#B.^ED
MZS[QKMRNS3JJWITU?LHC((C7CTEF_NZ>E3VM;.P6Z@9'XE\0XC6%>EMIV"VD
M'D<<QQ=SM)"/SJK@$?#E!GJCD>(TM4!C4>']H58!FN0*?'U)SJ^+>7WX@RGU
MI*-Y.>=7E>;]?;US7VMTG#-!E6:C4V_<UAJ5>JU] -:+;3VC@F)9,<>J.+U$
M.0[@*N^^.%)4^%%'&0&3:H 7ZD$?B1KM?$!3;6 H??=:4YD!J/B9\1;1=H[U
M1]N!07>Z!#W;V.;P8]LGT0<UM9F@>*+?OKWU16;.-AT)M;?D*G\+K#EZZ3'?
MDO2YQV0)R&E0K-MR_-+, W>_Q.8$>RBZES=MU^JM\NS7#1IX,5-_C:Y[X[_7
M&!S_J_DS*7,H&DC__H^C:#T02TM3=Y9!;(E&TVA;J%#&AK8%C#:Z2U>I=\>*
MW)60$\WD>:8[ZUGEBB4/"OT&]&(LQ4)0KS][+!K4LST,_FH5"F$G* 26X]GN
M[%[K?/G=^/NYPY1B0A$Q-" .'/%CBWS<$H]ZXV;9FVW93S+W"'"@'QY[Z&,X
MP,Q[=*, )WSM []%7]"(IE8YA0WE%.>9Y8DUU WH6<@!?-H:_:@\/0O?F%=Y
M X<X?U/B_$[K_)I/!(7+I_D_7Y[J1F-XSVX)Q!;47P5C"S:-6QN]3/4D+!H+
MR&#6C)L8"@:2I>%-T)^M.7.-+-MS:-TT)X'<.> G%>YSK]CXT8]F#,6^RSIG
MYB*>WIQ8IB5J*-,5 ,(OF56N9ZWG7$Z*!D%?W&H=#F9K++C2T60Z=>-%DM0G
M,3D6P@WO1BRX(-Q(^>+P&=1^-S>9LT L;,W]#AZV$,^X&2I<XNE#57PH8P^'
MPP7E!C0&*I!",MNV/S0&0[F;+HZEWK93@,'JT!%#^]2[3QPHT:*^3#1 \0Q-
M(4ZQ+Z@"R:ZXIGC6_E2@*7B+,8!/>P;J=(_53'%3#(6DY1-'A;J(M>B#64EH
MZMK&L.5Z.KP5JRWK#X,WC7G5-" GB<8T/( I!$.Z1?3RXR?_VII\*=1G"Z]P
M[;D;@I<07&T1N0SKY;NGPEVU5%;B01!16!4)PQ::/&XR/FG4DA3:0(59C%NZ
M?<B0Y3J8/V+$*_S+S/A^K_V85'Z'\T6,<"5$1F+$*LUZ 8CE?(^;%+:#("[-
MDP<JL0<J)3'AVT(8S(UQBQ="HA0G1ME7G+*Z9[6TW- @1<Y5/W]N_1D/)M$L
M&>:=YS<]>7. 8LF3UV9G_#K(2Y&/W\(S#UG_%LP8MX89"S,F\LECCU\)!E'(
MTZ5B@68#>RYN9D;D]L4TFA'!X>.W-F!_]D9FCSLH][F/9T"'F;&#[Y(Z/!;W
M!2J:V'-8#L)]P2#NIJT1]Y58.I?;GOO2$J-@*YM?]L:W<.5P5%-E=.)(+*P%
MQ^!8)CWLXV!*J0LD^]S$Q<4=&(CJ S"!\0S,@/A,J[3U*G\WO?Z-L>-LP(D^
M! ;EP7$4@G=N[]J72^B(+R!8)LNPM!"HI%(L)#%Q%JS7L91H8L!99(OFLBPK
MZ+ZBVA(5N:Y5Q+%BB6J M'0J[><<>__4^9)DJE62XUH+V& @J<@7BD9)#GA'
MU9HA*-M"HK!,4(2&OY#+J.'9!H7! H;E5%N)HYG27OI<^</(!V")B@;DFFAH
MT+DRRY(T&4WL7AM5T%<DQ0HJ>:@9]5^%W[</TEYGR'FP4< %[JAL$8VIV$+&
M81D%DF<9NI1/[]G'?6 S2-[@QSC\/:C["P=IE>RMT^Z( [W<L0&&0#-AG.*<
MR[[3370:N]GOB*\!PC<UOS[<#INCQX9\S)94OH50NM.>RK\42H6KR/#!P'>1
M782W(>,6FB%9GSL3P@X_6U,111I&0[B.#OY#Z+F)GL&Z*5F $D)/EF%I-L88
MV>T(&JBTJALK8;TSH-9",?G/2!3T;]]8]JE>OSULBZJ-QS_MK)*["J]2%MBK
M(:< 5^5AG>);J# <Z9<"GZ>#-_7( =!4D#Y8V^$('O,\F@L6W0A_CZ<_B\&G
M/P/G1,V/A"[4W\MG,'@8S]3OUTFZ:1S@(/QB27;R/'N:\2ASTZ(X(;Z*9''T
M#B33\[+#!8':DL61!3C67+T/%NH ?W5V]FGL9POG=&#48<*1: P4>'MTZ?Q/
M\/2[I6JZG0XL>JMPMQK'.&%_GU.T(/C=SQ1-!NC^%_:%.!?5&8(S-,MH!&\X
M1;NCFFXAK6Z@B4:4 F$8&':*VK#0\# 8VY@ ,:B,!AS)Z)4M&G88WU<T49,4
MY"JCBB[[//3[$\/7/ID )YS+$/[7Q05UHP!5OJ1:X@!\A#_[.P&:!"_G/U+V
M]N@EQ5$7%ZZ>E95G#PH'TKG0Y^V;V[(+4:ZJKE+X]QQ:)/0>/E7RWL=4JN[W
MT'M1Q;$) ?%>?:1>%-D:HB4Q_PE:8_CQ74L?!RFBD#25QSN^Q\%K?4CST/61
MZDS'\/EE ^IPZ2/5@)K=06E#1]CC_3_ZX/T*?;-0?I[F^_0!8GD=WST#B'\N
M>@ J=GCKL4TMEP9P41X!QLODL1EIP9SCI9O[04*@VF3. M>F$<)]RO^^#=BG
MWE4'2)H^4$73/*MKTGO;>V]/>J8B*Z)AMW[I[8D(!UC<HNS+_-.%_M&<GRJ>
MO3JK^.U5>VZED&EKCH$AVA,?;*PX(Q.6\GB4D\C+-([>U;4S:ZA/3+A&>"5X
ME0#2Q$/'X,L41(+[#N)(_"?;:WW4Q(FL0%)G>!U!"B>>^?72$3R3Z[(LWQUK
MO,9W9X\/OV8%9=C2I!XTT9,17-74OO!R(1#4!367&0J'S% ^6IQOC_EX+L+Y
M2D^/E6XEP1F4S1M8'CWQQ[%P!8BD_YYS"TH)I7+7+GQ&92S=10ET?_9G7!WW
MIE.E$-NKBCD<'#TD6:!W.*04$"J$.5($!RG5_(B3?PFO'6X?2!'2CI2\PQ_L
M,J=\%_N2R;Y\5YC?;Y%3B@Y_L,N<\OIK4.$; _:I,TPKI]A9D<AV1%AU501>
M\^<;R!3TV,[0 ( :P8N')@6@\9"W ^&0L+:5UUT@C=L^ZNBV)8^;W[W"^10J
M@E2O-3,<P[T=LY%.2Y"!=1)Z)I/\X(J^!_ ,M FX,?11T'R,1<^XZ^ZL<=-4
ME;Q1_SSA#E2F[D9XVH R'#C)N"8"#-:.>3?Q9:'V*JD3)(%ETP3P/]FI<&43
M3G'UCE+57J'$:Z+J/<9TQ[C.GK\7JH]#_:7S(TF#QI R-#=A(0C_"=JA\&"A
M) ^8512[O^?^LW%_W$N+!#YD;=][GD3Y3X(-[01$6][C1K]T*AV$"X;U#61U
M<- -H<_*9CB.TB$N)]!LC,%<&[$;+!DG2S9A3C8A"=EPG'6!Q*=+7'0% R';
MDK2QR:6-PU& )!1RM,!&EY<3LBU)&YM<VC@<%4,"BVJ&,)(M[*CSD=R"P!]Y
M+L'C[:^?ZA_Y\?-L/Z69,>LP7=#LNIQ3'N.^/]_"FPV^3N05D<$R@XL6DM:B
MQT4](7FD7Q*;Y,G.4*T<0(@Q"9H0?+\>36R"X^@"P<7R90C)]^L-Q28YGB86
M7#[ZA#VNP8H5#![12+QMS4:5:7<F<77YFUB=_FW_QI?;"/=>T+MYS;%]B$1?
MRRSN.6-U)$]CA>_PI"ER=$Z(MB\I/;F_)_N^@F@\B842G<_MVD0CXXAV[:JE
MA_$TCR<94*"+_!M']9H]6T$TGO"=H[EB=#22P$()2WT63:O9O]5UV3[F!(QG
M10)F6U?EKM+HRDIW9'JFB'FM@=[K]&7X+8DIBHZI ]TF!!\J830AEK(</T<T
M)@@G0Q+KQ6,)A@7H-[&XFQ 0XD591!Y'6,OR#,V0EB![D;P(*XLE2,WGZ%(!
M6\Q"R!?7<N,(-SFA2#,";N(%6G)_^_A;0S?-EJ'W42^W3G=DN79[)#;K=[.[
M7T_=F59X_6G\R.N?98S-1F,=+;:!H\8V= G+2+=Y7.P*IJU=2!^6$UEF+&T7
M68'F^3U,4#Y1FD097!PA:+%$YV+86T*2F&94P!&L0O>5+L9HG4BH$LLZ"E@:
M6>11#+@'20DTD#6?@9S72-9>Q^C(G+E4LYG[\67X=\I?/ZK%@]=L A<@4K-)
M@,%9L^DOSF@#55WP/MIE<-([8F7V^YO5G5WW&.9G:_I'J"09%!:[V:\+AL?R
M>\9D1/"PC),D_IR 99^@1!?X) U^_TD]^B)<+P%+]C]L$%/VT1?I)N5PN$DY
MGN:%)"V1TX_ "(\FA\.CX0MT+D8?P^TB>[_JO@4:]!34LB:7Y9&B*<AK0?-N
M0G4Y=PW__?YSD.\?M?K-A=ON.2 N0;ZJ_D\O+Q5!LR2V)H<CJ\_QM,!$IPY(
M8C$) 2.L70Y+9K]("T+"KJF$@-$2&&%O<63W!8[F8F0E" D3RN!&BX\CP\\+
MM%!*V(ES.S>@NBE_81O^CFWY+<?RC\QYKO^G;DZO>W\,5<GM,YY;+1+S4AG'
M]0S74)7(WN*([:!OS<9(U:?.MXZ'P2B#AR.\X^,9O(QB,-+BY'%$>*4<G6<R
M&.'%YL)-*C^/(\@K<#23J!IKDW;G%G,B[9YL\^4N1I&XY<!SM5[X?E>2/_<F
MX"G)%BZVT,YI(;?(8"MNR\7,>B(;YB^&D2:)3<GCB.'V4LN>3:KY^S=>F$"Z
M4%XOAHHL W@-E#%.>>T9*D2[<'YU,6_.^$9QA8_#(RP6EAB)YHK80J3LTRXN
MG^>Q\GED]7"@P>I >U6_NZDT9W??\C TF=NNKT^#Q]OVP^S^&ARX_"C*4&5J
M%Q^7*<(RQ =-)HFV1V^EP"(N:2+BICR.N"G'PLB3D":!U&PV;P4L0WTXAL[Q
MT5$MH<Y6H5X!1ZA7XF@V%WUJ#T^!$N.SI@U=FR?2;D5%,Q$:@+ED3F=/<K5U
MPSY5/G_.'ZA."8)UH:\84)K2P+R0]RAGN4*0E<02%G $9;EB=$+X2/5$^! 9
M8;<*.#:X.+K [WKL+0.HC+8S.,(HEL['<,\RC\PHLX!ETX<NQC@-E\ $%!=9
M0&>TW#VPAKKL6,)EY5^QU+\/ /SX,DA2I!I[4\<!@QK9<*R$3 ?E!3L[L8Z4
M1$H>1[A3$KAL"=,V"(Q2[CB"$C96[7=F41BIU(M8CC707#%C726VY,--RKR(
MP\='*$RRIQBIS'F?/W^C&S \T"H3PP":Y&]HA^P9,F?7]OPXU/5E2<U/AS\$
M<_CWEWQ3.I"/[X)*22ZLE.7KOD>]4R&L_U #9(6/ZA-L@=$D-J*((Q H)BJE
M/8AL1NRV[HK=" -23!8=F! D^-E:O$7G"FFLJ]@[ T<8&!Q1 \^G-I;=/PMO
MM#W) HE0%B[$Z(:\74E!81%,U-&$!&!:;NU$69.KH \@8F3GT/R-,P=8&\P[
MO?A,4/%W=6BVRP_]9XQ'Q6,6%WB >\5D=@&Y[,(.J>9TA.E[X&=X7R^$FVUO
M*3;Y$EDZ+.?0:3Y'RECW2L8HDXKE_!3-,-B:H!(R)C+;)3QQ83Y&B1HAY&[R
MN,D_*&'I_$:S;'2:"4-Q><X7JR[VW;SN>(HV@?=?C(YU'"?G.N@^ ;/V"H-$
M2!R(,&-:M\#(;.@:PIFAV^?R/$P[W6A\%2%BZV[VO?.M.]-:G^N\6BT_W_/'
M+&9T9]\ZP]PI"ZTMP\R_V4'>(YV3^"$E'!%WGH,\0/JVIY,!(CR8$HXM0Z%
MYSC" .ED@&C?!\M&)X<*]$G%:#IY(,IMPK$_6RS2 KL7!HA,],_1Y#J5UT #
M=AL^-Z_B^3NO@]+GQN^)_M!+DM??-:EB.SG0NT%M^)X5$R(GP_P=D0<,H4@B
M%P5+JJ1(LP+N$Z-OG7!1K@66#6N.%DKDN#UVB=OH$O ,CG0(GZ.+#)$Y[#*W
MP9+S#);->9[.YPZ2 <G[JV^!M7**Q7+M]DBLU!O-SNSSX'MW5C7R3XV<WLP/
MI+WD+&*4%:];>.Y]#G$?7$+< RZA]]B6@^V?4;(^Z:D@<FJW0Y&UD8V[WSA>
M1:&?P@E< 9[!<GI3@('*]A;%1D=,!,>NTR<\L*U7P3,X$A;0-#$QMGX)#QQ/
M#T0X*#AR%L4\S16VMW.$"PZG"3;Z.CBR%GF!+N0.IPDB3_361$.##S);P&@/
M10-<BZ8B=<>*W)U=&S>YYG=#&AM)/)^0[$4(W]F/=7T9:@P,RD3 Q,+*KDR+
MAT.W9L= Q"=R4N+F*^J-FV5N;-D/-L^OF/>E[7M,N"R9-)?Z-F@7Y5S$35EL
MHEV,LDA"NV1RM]DI8.-F+<*IQ[XO$LG;E^1M,N9LW,3%)MK%*)M-1+NP8V.A
M5KNJJ!,+R([=%D"_\JT#FI]_'V9NG\M/+@QOVHB[.$ABQMFXN09BQH]!O0A#
MSL;-$A!#?B39BS#E<>-[8LJ/)'T;C7G<R#PUQMS?[O^['<\#N0R-M#@ C<FH
M!XQFWX&L.;%,2]308WVA>;E<_EZI"276Q'A:8V-H_N("28D.E)!*HQ&DJ6WB
M34I?@'DDGMUB\VQ'QMV*7HE<@601O<?*0IXN%8LTFSL5<Y(ETD;Y"<D"?C]I
M2WFZD&"B R$M!JG=[$1PR?(!2W);HO,)SE@1XF*0VTT>!I<L7; FM]N?NTKN
M8[#1/H;K<ZWAR?$R\IW/\I>1I?7_[.>X1D0B@;@<4?P=1KXD3@>7+/] G(Y4
M$#?"[>"2I2>(VY$*XD8['LFR%\3Q2 5YHUR/9,F-H[H>_KV*BCX:&V (-%-Y
M=@^8-(#5['?$UZ6!S.WIZ_/@95:JU+E]]KIS)EE(?J#<+0LRC9D DQ"8L-8L
MB\;YB.L"),$^DA7:PZ:LR?8[U3ZC599_3TQK!#3+DQ]O6$RE/OM[;71GA>9$
M^I+__;-Y6SAJ'S$'7DJ< WS<+F+[07X2)YO'45#,\K'&"1Y)?*(F/!V.%A$^
M,8^U/1E7I/D81Y(WG#-Y Z*QV8OEL;0RX^@BG]IFF:D2CDU.)X^U\1D4#JZT
MAV%JL<QK132'-ZK^\AG( ^!UA2OW+6 \ $D535/I0_OH(7+=J#)#XS$W4WG9
MZAW\$&]E*&H#Y)]2?5$QJ&=1G0#4"PW&,<JS,UG;/I(-$7JZ+4QP$C>1T<9Q
M(+A0Q#:$._.]"G;0@ECH'>48)#M''*+[^!@MQ-_ D=3CB_AFYT/ ,N4'WY'_
MS OY\65\DW\CX#BWG$]0;IFT_4@^IK?C.7TMW; Q9%F&TIM88D\%';TE0M_1
M0@X..NWL>3A+QYV_,SPKO;X _O%8\V;=G'!XGN[DD\H[TC>)CR-@24P(-".0
M+2*L#D]2>D?X. +NY$<^G_B(>P)')P,T/XJ(1_@XF!(LI9,I=,Z^D&]T<O F
M<0ITKA0]ZF);(0_T=BKQ]@_A.W6"GA:(N+#NM([WX_-YOMPV?OUX*C3XDGC0
M.<6AOD\EAM=#SO1#H<+,&XD\)QS9H5R19DE_D%/FHBA_#$?ONCS-YQ.[WX2)
MTL]$D1Y>#DL6BRW!X#UQN1!AI/0S4H3CF,.1'>,+-)O?ODGWKIUN/MC8N#H[
M^S3VL]4EQ3*04!UE!$RJ 5ZH!WTD:K3S 4VU@:'T/U(CT1@H\/;HTOF?Y2>C
MW56E/X54-,>BML2Y?7&DJ-/+J(?8UYK*##@P+9:!;@@7,LX4\(< 6P*(F7%"
MW1F",U%"V451FT+VHS3=@C> H18%GZ# QPT,487:Q[!G3\'8S;2W6F74+Q/-
MI-+LS+>(CB>X@ZG@Y:8%/[#KG=YG$RW[Y,3],=U_75Q0-PI0Y4NJ)0Z@&FZ#
MOQ.@2?!RX2/UA#;-H5ZA+BY<6R$KSQX4#J1SY9.W;VYK$(A=5765T[_G4$&B
M]_"IDO<^YM:(^ST,%E5Q;$) O%<?J1=%MH9H2<Q_@M8((^*08-32QT'J,"3-
M[K#)TN/@M3ZD>>CZ2'6F8_C\LB'V%.DCU8!VR4%I0T?8$_P_^N#]"GVS4,&>
M_OWT 6)Y'=\] XA_+IS)*Y=0O!"U7!K 17D$&"^3QV:D!7..EV[N!PF!:I,Y
M"UR;1@@/9XGPZZY/O:L.D#1]@+8(SZ"K]-Z>(]B>]$Q%5D1#05-^>AFU5W!Q
MSLV0FV;^Z4(G;<Y/%<\LG57\9JD]-T;(@J%-50KMJF8;">_*(WT"EW2F:- H
MZQ,3DMC\)]M+>M1$Z-1#DF5X'4&*(YX9]9*^/%/KLBS7'6N\QG=G@Q\__YC7
M+WSNMP!-[60$5S6U+[Q<,#9U0<UYGXK%^Y0/V>?;HS:>+3_W\MGN_67%'*LB
M1"H,@^"5P9GES3OE'L$2A\VAA2)P!8AF_YYS"U(():Z+,@P,R[!=YU6>9[HS
M6?O9J(TTL59C8[L_$7&<MS#TD%BE$VOW.QQ26(0*88X4P4'*PW/^ERH-VZ_]
MWAZ0(N! BAT:;W G4\*!>=SX:RNOU A>.C0I -6$3'V9:(#B&1H;4I?D/*5H
MY=Z.K*98_%9W.&O+DRB0B6JA,4V03:^GC]"@U35W.)<V*$N6\JQ8T(%=.C"I
M?"M_'6B]FX8Z/-9DBO.K2KG]F;JY:WYO4S</S7NJV:H]E#OUQBU5KG3J3_5.
MO=9.X8&]5 $3>81V952)?3ZA46E=/\[Z1J\[JU1+WV?@;OAWB''_VG5H\B@W
ML0Y^^.01]W?<?S8FZ3UW*?#F:YEW[^K\?Q+DTS%T_\]AF5<7K_O_1LP$<U<&
M41ZU 5$X7*O]V B//(6T.'IESTJ$*MV>F]C1'P!$@:2H8 DQ'7UKK<^P4.\/
M^=Y?@?UE?O];/- I7]_"*$NG#&\YE#97 ^AS] ZMVADXB!RNWI32O?50XGQ!
MY*1]$HO@9[66-]+Q1C>J^J1G]2=J69+LW AD$V[90!3_S*2BSO0_/PG[;*U0
M5F&,+:*4,)1=2C( #+0I%7(Z..[Y[TW(2F80\AP&_50J1E?3'8EG,>,S0MOG
M<12?<S&Z)R<0.O_8URH80]6G>$=/RB.T"S^SWZ[+W&N[WLB5QG^OC?UT85]?
MBQ\\._4M^@ \*L-L0%Q"^<,R0CI/"X52-D5P6XQ&22 .!Y?EZ$(QVM]*((0W
M2T+8!X:!/*7YJ&KG&%C%MC<!UJ\M7__5?X]U_C%)G!S;^GF S1TB!-J1F60S
MJA+*'HZ"5XYFF.A8**6BEP"K4?*'970Q+<2HVMOQ[.'R)/G:WXEB3>^!-=0A
M/IZ!&R0@&71'H?OD</0X?NC\OG[-U0]SM/#\R@&/&MGPK>0KCM/A(Q;ZDLEE
M <LH7IHK)N&A?7>QV1M:(P2S@,/11TB-/AVWW0D9OU_JG9%N:E7%'.NF@N[?
M[)=AX&69;+ PWC'?Y!^=0C'7QY@S7%\" HV"Y))MP$05;<>*-ES'99C-*$LH
M@#@FQ4(%EXL^77=X 5PJ%;@P@72AO%X,%5D&\!K(DISRVC-4B(3<^=7%O Y@
M9]-3ZP)I8D(N7#A^%=VTFOT;I^A2&ZS[>YQIY*QO/[2JF(2UDT5>KNLG0=@0
MB_<]Z([BJ71N[]J7(>A*R-HX\K&YG;V3M.,QRIC@\)SSPJZM_P(%[7JUOX27
MP;8M:^UUC*IL@DU)@2F5R\/Q[TH.XYS8]24X#2'@LB_L''.JFDL&(2N9I!63
MG> ):SZ4J.M:"H*L[; :(7?%9)YQ&$YWC5LCD_OAK?X\M^51,P"\_PS(P2(Y
MYD;5IO1:;$G@0"9P 5%P+UBT#7!<EV\;K":471QY[")=8),DT8[;1W1GY$:)
M,-9^)05A5[48V;4 *BVX7A-4@?.W;V.W(HX52U1]N[K<=7<V*[1;KW(^]Z6*
ML?UYO!(>N\FDB;I,^C9K[4C(WD90%;&GJ&3C%DOZ>ITOO)VS!R !Y1G53$..
MX-=UNE6L]7+?OKRH9O] .AU*L0PHT84/;?N[ !X]V1.)PH0*'$<:EF-HOI#-
M'%HRM$:H[A*.,^DYNL3B3J&5-XHE2AQJEHZ.#07+(U^\_3S)Y4;?/\N[*^PK
MW^/2Q@8^T)*)50E+$I5'<TQ2*%:XT1DE3LF<S!!/B!5HOK27PHG-TM4RP%A4
MY$5>(4# ?O/]WE1IEPKR?L;/K2_*A8H"#EBID\1EK"441ARE$QR=XY)43J3.
MQ,7 :)0\8BF=H L";O,6$8V@!,NBUM3V]H/%\+7:NJG=#ZK&K[WN%#GIO33L
M#<5#5D+IPY$"YFDN1J/I]%O"V&B-$D&L#=N+=)';M3 S\LA/N+/=$J?(TT9%
M79)D3(!\MPB_D8 N[W75RI_-!O/T^I-)4MF+(2@<.^ Z]88.P(<RGTG#F4T8
M3B35 H.E](*EBUFMB<*([,VR+C X8@F6H_/[\7JK43*.4."K''/1LR[8-YW'
MV3>MQ7%6;I]6UP;"$^*TF=U0="644JPY9+9(YW9)2605S5'RF2R\"-MKR].E
M&#WDDI=.K6.C-AJK^A2 !Z"B5A(;K>]=K\:Q-[=&890D9Y_$^MZ)/=WP9^13
MIO;#L9=09G$4GJ3WG,W6LKHE?J.$-5DT$J81=YE_F,":+H</&P6UW!S7)S/^
MX?5'DOWP+6/8]$IG*,:2"2>+I=OLKGY81K$;(9HLCI BQNBQ!#YN;J-45O31
M2)<5:UIQ!Q,Z<3T, %8D=#W3I QNGQCPXREW>Z@=3@_&D.WNE#%8+-0F%&6L
MNPHPE.5/R.@FQWN4D..H&.=IMI1$SC<97G:CB%<G /4TL#V0EFB$F-PV^[7Q
M5_E3R241YMW&IKJPV>U[?6+LW25#4_2VYM4 VB34"%B'Q[ T5\(V&_%TYV F
MIV>4IL$11[%TCHG>]<,U\;"<J$.6-]YGH8E&8J52>ZC,F/JL.QO=RN7[+Y;)
M_MY/[Y3X/;-:#\VG>K56I:Y_;FR:%7KGC1R>;,(!CO$%\4F54"]AF90BT(5\
M]#D*G*,L3I-<$6J'PQ$AY@MT*<98R<03(Z(Z.,8IWTIM06JJ@(D\^1#"C<XA
MWO!.B%]:'7WTA7U^N3G4B;_5MH?UQE.M3=H>[LX-_K:'+7%JG^_JZ&7I[T0Q
MP'*+ 78I@R \?^Y">W_W//YQ7?NA8VAT==6:&-(0>F'H1*>R>/1QP]--2$EF
M43D<%6&%#&Z%;8W**&N'HQ2,9Y,D3C8%\\PFD;J>F(H&4(LV>\@4TK[N-W*P
MB%7N'YOFG_OO-X,D&]-)=*T'(B4BP)RC^BECG U83"B36(X*T\5$!YU2TDM
MX$I8>PFPR_T3)0#D#>U"J@IR0339;!I5Q73FK$'TF0_ FA@:HK%]BFNI&Z\M
M(-^LWV+OKM,LW>YUKVD.GWLN!\A'S59C0V@R>>%Q;)<4Z1*;I/=&"G:C]HO^
M"+O'XVF24V"2^!!;=:_RHZD-X6CVX2<PU+6F+574K+(F(^2-$;[6!?OKUTGE
M^JEP7V$/M3V%0$3.Y]@%TMZ? AZ$J6&X"$PFE&@<>R,L1_-L>FLJ8]I!'F]/
MG?PF?W"C/*Q[@[.;_M/7[S?]VK5Z\%V>\L(=C!:2#&X5;.N$XA9 +#W8.;K$
M8]LSR/+&SWZI&66AL1P[86@V1G_7[6@96?<5/R7H;OWXMGN\;2!;58T[3VRA
M-GON2/LY3AA_Z^>Q7:M2]<;&I&'Z]A$B&#@^G9*I(P%K8R2A2.=CG/*)A<\U
MK?16:!:A= 2L;9>X0JSC,=M0C&P I2+EGX_6]O.V>R$;0*PA/#5>'ZM_]C,)
M*WK_YZ;>*#<J9/]G9V8H!00GS?X\>;$6A7QKE;JS*:,#N?KY]T3-[S/E9L\1
ME5U0TI&!]J$FH5G%<GQ=H)E$Y^E2L@$4A<4H0X<C4BK1 H-[YZ>ZZ)Z[6&I#
MU^PZ5EU5H4*MHUF'T-HO.G$$R-=D]F?T@WD$]<ZAV@DV4)O/!924XH))C=T]
MV92D9H3$6Q2'YGF[F6U,+D@B!#D<I3X<G6.2M+?=) 1"@$6YT8T'X+%2L^]D
MS(-Y7Y@HW[E"X[H/]EC'?'[5MG3I#]6;3-$]TJ$5 Y&4S,KD<.P0\#$22:DU
M,?&1&25G.)J,[F"K(SL<^G<&ZJ8Y00/AH($%O>4M%5NX]$JNU*M/6JQR*,?=
M@X[J0_ @MGKIV4991E9"0<-1R\/3^40GVU.V#QH#GU&RAL,YAC:ML)=VLP6?
MT$'=LO!E75%;MV5@\N7;]5BLSNX+^&Q9R D<#QZT->,7L]-+W:_B/J'DXDC1
M"S0;8Q.=[+;$(EF4<L!Q$(%GZ%*,@4L8]E2N$V79PO=4;(7"RLJM/&':WP?'
M'D'O[:EL2L2=2GX^@$[)=$X>:X:>%>@2%UT_]3;W5.+2+$+I)!P\'+8+QM \
MYETPLJ>2BC2ZO_EGK=\'D@5CSE?)[O3_(%J@J2$F17]0)/H,^<3N\XWJ B4+
MR'8!LR8O?^"[LJY)Z@19I*H[U^T6$G(,?P'?(Z96M F0W3-DNF8NG\%LMPP1
M7/-5H:\<).@+*1]RT(+<4^ BAH+@ DIRQR% R78&#6FR\P(LUG]XSVA-66$_
M>WQ\-DEHQ+ 4"M)%%IL;%BS%V>"1".N64B:)LII8F]+!@)[%7=)&S&8JS*:_
M\&PGIFX!0T'5]ZOM'%Q6]XN/(U)=!74M\%G)EVG]\5:970_E0YUI;=0Z,(*J
M/-3*[1KUKEIS7OV#HBH[Q"HWJLZ+VK?'^E/YKM;H[+O&8;,R.BR%$EHG''O#
M/ WOGM:$;(3%2 &1HJP#UBZ(2<^Q;,K=%'"II6W]=J7=G6FOG7OEEOWV-,&8
M-([IHX?J'>J"N@8#1=-0<0 J_K<9)<,)RST*T4X.5MEL]FW!8;D+=,C.+S@%
M+/T?>8$N%J,+.U/N>[\51N #&0''Z4N6*]$Y!MOY@DA?3SB:4JUU9WSSUBB9
MT^;G69*9R=AR()OT:TV3CZE9]Y_P.+HL!3J,!1SU'2Q?H$LQR@EW4JH!:6'<
M;)$LC[_C7;/!/(&N; '/H=D\762BXXU YB%=N+*9^? ?PFA/QF,5H.UQ446<
M>Z/J+W7-X2O(",NMM_X*U\-OCS]&K^RA#L4_MEIWM7MHI<IW5+7>KMPUVX\/
MM3;5O*'FQS*H>N.F^7!?[M2;C122(%7 A#7Y]DK'[>U,49&K$P.*NQ.2W^B&
M5S,,U98]-,0WSYJ%C''_>UIY!).G7Y\QSK,..9-A#VV4;? H:PA<GP5I0C*P
M>M=..1Z9$0<T@#VMO#O[KG:J5NY+5<XE.?8?+O57WM.286K-$]C:K*^L-EG.
MKXBEVIGF$XV$W(73#H._B'1<$4N!,YW+):D6WU(T?!.3?-+Q8Z),[X5A9_:R
M3\WG/)V"CS\>L5?7GU!><!0M"P6:C]'2-WT"$PN'43*#HU Y5Z+SB8Z@X7+G
M-]B%U-K/5 $3.:ZEH6NHE&5QP%^3YX5I=0N,ED]5*\-R0;K]<_W[RQXS_^=7
MC6;CPG;<??TP&M7 2D[BSB7A '^'Y1M1,9Y$=0*:?7>*B:_;9W?&Z?K=M_OR
MG3P[U(&<LCMYQP4#ZB09&)0$7RH6I1L['-'973F'(BN9G2OA2),7Z'P^>W[A
M=IB,L'8E'/ZU0.<*>QF/55Q$SNX07'><)HR9O3ZQOM9ECMQU2OW1]YO;SF"X
MUPX&+D#SJ<T0BU0/6WO=Y&QB'TZ.@ZV$@H=GSE(N1O>K(PA>S*/JI9V["'ZP
M$&&NSLX^C?U[ )<4RXPMJJ.,@$DUP OUH(]$C78^H*DV,)3^1VHD&@,%WAY=
M.O^SG!R6 (H>5U9D)Y3[XDA1IY=1S["O-949<$!:K,)=]#A+L'>&X R-61_!
M&TY19DO3+7@#T4##UNV&" -#5.T95VB?SAH"$R#ID-$)?AF]LK<[[$%8?<?)
M@Y>;%OS /OGT_A!H^0TUH=*?9H6F..%<AO"_+BZH&P6H\B75$@?@(_S9WPG0
M)'AY[B-EF\9+BJ,N+ERM("O/'A0.I/-MEKQ]<UL4(=>IJKL-\^\Y5'KH/7RJ
MY+V/N2'F?@^MB2J.30B(]^HC]:+(UA MB?E/T!K#PSQ+'P=M_80H'4=\EAX'
MK_4AS4/71ZHS'</GEPVQIT@?J0:T'PY*&SK"7L[_HP_>K] W"UWF*;)/'R"6
MU_'=,X#XYZ('H,6 MQ[;U')I !?E$6"\3!Z;D1;,.5ZZN1\D!*I-YBQP;1HA
MS+)._]2[Z@!)TP>J:)IG=4UZ;Q\O:4]ZIB(KHF$/*^SMB0@'6)QS,^1ZF7^Z
MT/&:\U/%LTMG%;]=:L^M$3)A[2$T;D-=A;K(_-__+G)LX2/E-,K(-%+>E4?(
MKS7/% U::7UB0I+#7X!7"2 5/'0LNHQVK=QW$#GB/]E>\Z,F3F $#^0,KR-(
MT\2SNUXTR#.E+LL*W;'&:WQWIM=ZQF<6U#HZZB4T&<%53>T++Q>20%U0<V&A
M8@K+_[EB0OG0?KX]DN.Y ><K^5U9,<>J"-$+PR)X97#4&IK*Q5%,!,%$)/KW
MG(OM\424J7B\9",YSFF_@#ONHVS*O])YQN&ZV%V4;G@\XC!$!48/D"J09<JO
MBKFXS)YHK-D]I^[!J <,R)M_Q7)C4E1^S?[@QJ*C_TX/BV7X/)0$$%6T=5/7
MW!$:'D9%@7T>_WJL"+Y9HY@PZCXI[2BMQ46IES"[ P-1?8"!K/$,3 ^/XSOV
M=OK\PGR]'>#&H_NHM./Q>FO6? "6J&A KHD&.B(QQZ7V?:K6"G\ZK*3BQJ7W
MJ+0C4]A>SB5I,IK8(YB;UA 8Z#IH>Z&)5IZ!LX'KX;=0Z96L47GT_0MV7KW3
M31RXG6-G%_9J0;.H6=ZB)?WZ9\\8%;[P_34R+IZ2V_HI:+=RO4>E]]0OWP:_
MN$>ER'469G_%%\'//*7NK*E>#[^RG<?9+79#Z04[NPN0G;*-W(0_C%>6QXVF
MI@$A@*ZSXP-#__5_F/<,P[#4IY[QX8J"S.DDU-*IB<)O%^@[S7T,>W%G%'(U
M*$4[A;79UOX4%N)9VU-8B\_8N1QGVSSW]9+IPVB-0E"P)WV^'48ZNC67OH 4
M%39U':-JBH31*5]IFD/=-Q2"OJ$H\2T%<:D.J(YBPM(9>*R41/&%KH1*<QB6
M8;M=^Q7/^POI[42D:U6]7OSM[DR7C!]:4_KUZ_M@+\6(;E*;S_\G%EVX][FQ
M[R UVL]V=WVO114UFJ9$BZH"R8Y/*9ZE*53 MHI4+Y.^Q3.W/T)K_XR2]4E/
M]27O@Q\96:'JT;%4K/EI9MOTYL0R+5%#,".2C14YD-1Q0_^-&6K W=X4[D%O
M-@#GE*58:/4NYFEGX\S<+!>!6 DA_M85CFOXV-1'PUMG=VV92X5K.29N77^]
M<>.K5W-@.;\2\G2IQ-*Y7'3=FH]'0O@^">MDEN>/QT9KJA #'PDE'%VHHD^$
M$R;*-!-MW,]:82@<W>K9$D<SI>B.T82M,LE6SJ9>-V!/;X67<#329VF!6+E3
MY21/007O:JZX3#B:DN5@S% H1I^%)/QT*'Z*Z#*9U.+%W=E=X3&\<Q,8EF;S
MT2.",#';/TL%<D'IB5CU<KY2X0!>F\.Z4H^WR^/BG7/),9S_G$O@<9<5*!()
MVL&7Q0<OZZ2D'*>0KX@LCB-@>1Y*:C'Z].4>S +&-EDQLK*^W%;,C.Y&RY.$
MRR(2//'X*78Z.D-'O DP!)@M@=EFBV*C(*>AFT'1EX2>C^WVY;^ZBCWX<*;G
MS;Y1:HA_O__9R^Y!@*[TP*'>_<_B)(R=.E\:R&.G9UN&(H&N4O?ES%&F?#:M
MOSXQ-^(X?]^;9[GG]YT?$8F5C;8?$=9YE%\SD6S<).%RLAE:QI:7<&;>LT%9
M0MM;60"/9R1OA($(8,&+E$AP;)>OF+KAXK%!3]]<]+B@LTSJ0(\(?H.TX*9&
M"0L%L%5FA<73O@0R1PK'>,?F#BXA=^Q8)H#=O][*C]X; ZYP&(Y&</$X+&:J
M9%^Q5V2@=6#3F'4/EP!#@"%1D;^<Z@&,)X8T%$VPU+C9/ACAA4@C<5:4?]?9
MO-@_5(AD1PK4 C@L;+&H4%JK*@M!@Q.P(#R@\ OB8F]52\^57Y*DFHU*79K'
M<ZM(B*.AXVR ;%SLEAYA1&42%[< (+@RB:7S;*;=P/3%-SLPB*T4MN2/^,4B
M.0[+G*@8H\73RR\<FSI^B0UZTH@G!:#S)%C;ER)8$7$<#:CCB#B)VT[*!R?
M$&#>=-S&^ *6L!(D=%#)F\/T&<@#<"LJ&OJPW+> \0 DU$U.Z4/%9H]GLN?Q
M=&?WU5NA4GY\D?_F#CQBT+\C!LW*,P3K&?AZD"J::1D3NY,5V0F*Y<CPZ=N3
MB UZ=CU?/KN>+Y_4\SU:?(I3^6T;RB:K N63E92%5('F^22C5_XY^7#E\'RQ
M0N5D1Z=VH#()<4[*727 $&#>=(B3BQ'BW.@&5'A:96(80).F'4/43$<](LV-
MWJF.'I?11 $4.C2 U>Q#G=[2#?L+RS*4WL1NS]O1G?YTW1EXU9\??_PT?Y8/
M,YTV, 9RUT9)[N(H:[$>$O_$<V?3M]T2%W0ANZ&;D-W034AAZ);(S=V+8CQ,
M?"3@&.3*ENA<(;_;V*5,AT>98YL5)L"R,12/"=)PJ(I$3P08 @R)GK!%3V7_
M^%Y@+9)?W=D#\U><<-<*5SC,L-; Z ;"1"DV4"26B>>:9O=4CY#=,"R7PC!L
MHV>W).M[.,V3PW&:1^!HME@Z\%!4_+RQ5;"XS_89!^\JD0OI*K%5>'1PH(5X
MK3".')LED. 5$<5Q'"JFB*8I=EKJ-QN[)47L-KKN]5&M<W=U5;:Y_T:G,1 M
M<1GYX%@AJR>K)ZLGJS_\ZK=+\[Y!! 4F&/@;]^R;,#_[EN>9Z.;LM^W7"3,M
M:G)E/\D'7 W9[T5#&GK=V',QW)Z]-%;<K>]Z(7[?]64J8CG!>/LKI]6_?+W_
M:Q9Q]%T_7+/U+8\TYG=OMEXLT24AN@TM_EZA:>;C [-&O":!6_)&[C -U EC
MI(XQMCCGFL/3%)VE2X7HL]&$55+#*C$;G>=RAVMT3K@C-=RQ35(^CZ5Y>8&G
M2UQTN03AD5UX!$]#<DRE5GFL#<F+',UQW%[Y9^7<RJ%W$/);]PA/;V/P/+[&
MX&F0*YQBM2(D6%J %W,T&^,0#^G[G7 #CO3])L 08$@A7.*^WVI3Z$VYT77^
M^WX2T]OU_>9C]/U&F=K9#[5_/2G\-E[^R'OM^YV_X)EEN_C_L_>MS6DKRZ+?
M^16Z.7N?6JL*>X$  <DZJ<+8V$[\BO$K^4())$"VD+ D;,.OO]TS>B$D$##"
M8.O>O<^. 8UZNGMZ^MWEM._W=N4C";N;(2CL;H9@>?LR!!FV72ZZ>48H )9R
M2I09]?TNKI(HN"T-_,KODB.X%YHD&"N^O05Y>N5MR=-+[!P%#@JC]N4Q#DK:
M(^)#*>HI,"DPJ7&W;/OR7Y='9X+:>#JHRQ^D??G!>NW+$TC^>3S(%YY+O/)+
MZF]G^_((Q79!/D=EO?;E?+:2V^7VY>7M,].2ZEH<P1]+I'546 1E^5 'R:[P
M2V5W.X%4MK 32%S0T_;EB0F"P!%GT:4BSA%/[;8/I8.GP*3 ?&J[+;GVY;GQ
MK?3SXO$B=RVF[<MW/*!5W;[02FS0=U?SK>ZNYEO=OO;E[]^E.LJ272UEM,HB
M&ZY<6<6J_2B6RK:Q1(# +$J6XA!X&W(:4\,F!28%)C5LF!DV[]BT_$__7KDX
MRXTG.I\V+=]EJV?[@BPQ01=R.VNP";F=-=B$W!8:;-O??9JI623DF#0M+V1Y
M897X\.>VC-Z1;0),P*1I>3PF2*VGCZ<)I\"DP'QJZVE.T_+#Y_NCBZ+0%7_V
MTJ;E[\ZHL573G2U)$G*[:X;EM] ,6[_E\>JE2$*>2=/R8C97*>QXTW(A_VF;
ME@OY'6Q:+N2+6U(,Q?P$!XXHDZ;E\8[H-ME.:=/R11M+FQ>GNT]WG^X^W3T[
M-R_[/N:L>X#%7WIYS*YS_WL-T&LK-$ _:DTF9X?ELY)U(C\F4WW(J@'ZCY'&
M%7*[W/Z<G]_^_"C9]N?%/T_URNCIPFB6=J[]^1(ED0+/H/UY.9M/VY\O(1S?
MLT'B,KR13]N??U+&B%\G*^19M3\OEU)6V2%6B=G^7,BG[<\_(7<LX][G653:
M"_E<MAHC\2+ED:UH?\XB:8MGVOY<J&3SY60[//_]H>(Q_,?IIB[P:3?U6%UC
M!9Y)_5A!R.9R^8UW4_^'I A^S\#_^W?H%]]?N7P.D#R7F;YQ ]'H*1IQM7C_
MG7YW1P8T&@&^B\^P]MY,92)3D+Q]V#PY!.C_)=N =ZFJC:'_^P)DPK_A5QWG
M[Z7W9[-?1U=5<6@"!,Z_OG&OBF3U<97<?[\$0FF!TQGN"YN?L.-@;>7[-=+[
M"3M Q/W?%SYVK&L!=SFP4@?(:O[*I'?J.CD/JG%]8?-<83^OJQ>-L7104A76
M6*P-])%F;3L6\TMC<:[]W)HTA[G![;/PJ_E#98U1^TW;CM)<7)12,W-O+\3.
M;$W,>G?\J]+N#JZ8X]%^U;;C45B:-<,MLM;D;O#[;O+3/*L=M%GCTGG5MB.S
MM/PYCVNYM"9/H'1>=P:W/QH=UOC%I)UMQ^W!TKBEA1SN.-K[_J6N6,;3&_.C
M3L'8=@0NSYP7NH9JO0%:'+SW%#<KFRY"!P_'OZ[JTN^+FR?6"'5>M>TH%5J3
MDCPXF]2>^-?F5F.!6# +\]?>7<L66./PT@ (1&/,474[R_TGMP]F:)[[MVW\
M\YT#$<&1[G_;R6EK)#&X"K*K2)(=9SC4)SE%^[ ;)GK>A]V=HWRQW2#SW82Z
M-';%8_)O^[M/+;./#='._OVG_=WG2>%V:4M3FF5@(\ORPW:>C1O=<J4<$?>V
MB_)__Z?"Y\LKIH;MP+Y!3=NK>WI:*AH2/4>4RW98$(0<#8[: 9RH21QR$S?%
M3NN)BKBU$^^N>WXJ#^_G\<)^(N_H)W)@?B;_XF?Q]7T>I]SV^HD^TUY#JSH*
MI"*@F,O;%0'%7*&0GUO5<:IUU!&^/+2;4+@/M:4T6Y,?TG7W\NZ@>7I;3J02
MQ(ZY\Y7_+I,YXRL!.90[Q-?+%?*D#J00Q+KSAJ5>L%X2FY-($/[*):I#A/G5
M(4VW.B3("TRJ0P92HY(3;G/#BSR+ZA ;*\7%6&%8*%+8R_-[A7S<8H#":O.B
M_84B52%;SBU.X_7Q"/MLS=WC^?=C(R:RD@7O\2QJ#!97%Z2,]^D8;XE"%YY)
M(4.5SQ9B=%=/6?'3L&+<0IH"BS*)>(4T*?=]&NY;IE"GP*0/5RZ7S152";@]
M/+AT44]RM_%JA4 %GF4A4+&4K0B+NU QXL^_4];<!?'H3T8,,!^+UN&E8B6;
MXQ=7+Z9"<6.<%[-RK%",;LB84NNSR(F 2&#1#/$=14("_1)7CUO,9=HUV# >
M8ZWT[%*O3?>7[B_=7[J_='_I_C[L_D+'131\(=Q#Y44!U5HR?9&@EG+1DI36
MA+>&#Q<2?SWJJDP#[=^=EW)__8>J^VYX.5<)AI>O#*4CMY137UP9H\F3NS_7
MP]Y]KC96O$BPN^Y0-F@T.%;$EKPB5,LL[N4*,UIF,6Y0;#H@"\KEE1.4S>WG
MP[HP$&/& ]YU4<SCQ+AL%\)CNS85H["[HR6*6SA:(B[HVS?A;X'C-$RFA?;6
MQ\;ZM+>^?="7\LH75_-^!JS-;%ZHKC <(VG9$)L[UA@=OZ57;_+<%>W4++)H
M\Q./IY;SDK\WFY52-HO+9@&.8C%<D3U',71U;>;.6?S#[1YXEP*3 K,",%LJ
M/)F9_RFRW]<7X9_\$)5Z@*4W=='L-U3]]426>O(QZ.;X8:UKR<:UW%%%TU2Z
M<'DXPXO%M]:DIFLYL5+K37K21B9??OE^*!O*"\#P(G-=11.UCB*JG**9EC'"
M;'<S89[;-7.^M+LV<6G[;.+8H&_AU/NXH*]A:R8%^DJ3UU<1:$N:F"MF=)58
MV)_Y;*X@K#WP<TLOPZVE>+13H<0B+2(>4;=' XLM5(0/YUG8-A8-<".+X38)
M<6/JE4B!28%)@4F!80!,J+U?BF'O-W0#9+96'QF@T73&-X:HF53"XZV#?ZGT
M#I(>1Z:%IO6%;%UVX3X*S2JEBE%K4E*?VK^E0EV^8IO.$(T->R-<Q]X)9WG
MI\Z :35L=V/[PN[Z,83=]6,(6^C'6$GO3D3:;<9;(+ HP2DL3K7_5';8-O!#
MM"]!8.$@BD'RW7,D"!\O16'G&#C JRQ2'Y+@U=3-D *3 K/]P&RI6$Z3'W8/
MV0L+,> .]/SPK8GV8'8.S[3#G-C>B+,BHDLE0,4I!*P@!F(WM;1_OZB195RJ
M+;-.E"]D88/U>0#LT,9CJZZ5:-4UQ54 5W,<52FNIG%5GN,9^S2XFFM#34G]
M!&I4RBPZ1_'5;#F&&?1I*!J7^^=X*-?"U3HMIF-NFW6;D?A+)WYLHGU;91;N
MS'4.RQI8_XCGIYB>G^TY/X&CPB*E;*-')?6YI<"DP&P_,!_;#;1ER-XB8$*G
MBI3MCA]%=Y*$4,@E,U6DH3Q=WPZEUW/^,1&'VTJ31,Y%H]-WQH@45]!CF+0?
M7&]@R$Q'E^B!(=-D9C(PY$"\/N\WJ\<G/TLL!H9L;DI(T&Q9,*FA$C?6N?:4
M$/8=-;>9CS?,&LDUS%R2G\HLLO07-QM/F>E#,-,2TSS*+$;*Q)WFD;+73K-7
MW D=92838F)-Z$@Y:J<Y:IG8287%W)<B7\R6JHM+U5*^6H>OWF^2!J-,ZLIJ
M<;JH21K%;+E:3I3G9L9G?"9VVQINBXYE59@T)RP7LD(Q649*A5?<>%AE3ON+
ME *[?)X#1Y=)#\@-']U0]^W1YMRW#]T_TI^;WI'RZ@V%EA1SJ(KCKQP@ 'CA
M7;VYNW2\/-_MP;OZ;F\.CIZ.U$*N\*1^:-]M=6,3GM-K8I>OB=BQ@,U,;4Z9
MZ4,PTQ*^V\HF)S&G[+73[!77=UO=W'3EE*-VFJ.6\=U6F4Q,3GVWJ>]VL>^V
MRG8*<NJ[_1QB+-IW6V4RV3CUW6Z1[[:Z1"U#2H%=.L^!H\MD O%[^&[3H<,,
MD[S3_:7[2_>7[B_=7[J_S[>_M88.5SJ_CY^Z?^1&3MS8T.%BC*'#&-6<B,KP
M4--OA&+A,=&AP\)>(3>E6)9SZ=!AMG#$MMQVMC%Q.;>SC8G+N>UK3,QP7F?1
MK:S'@[Z,8[N<8S5T>'&X9([C\+VY(QTZO#QW1?H;RSE60X<7\]1R_NGW9K./
MU]$W,38+<!2KH<-L.2KM 9("DP*S_<!LJ?!D9OZGR'Y?7T0EF(-^+0]'1J<O
MFK)T.#(P."0;BB[=B>I(=AP3AR7^QWGYM?/\J\S6,4'L<\X#@0F7>#G<,PGW
M$9NE;@+<+3H]8,>)Y76_'16>C/O#^]]7KA,EB(.9_.X5$T?F[G5)!7I^UFTY
M'S<Y,CR+.Y];90Y*TJKR5ETF:Q"<G.0EZ1T_,;:<9Y%NMC@E]I/3_P, LZ67
M[89/5K0K(L\D?V(WW! I!RW-00%FV4R/HM3#L-TR-04F!>:#2-'4P[![R [U
M,.1BC#G&WMMUT>PW5/WU1)9Z\K&H:/AAK6O)QK7<44735+IP>3BS\\2WUJ3V
M/+ZUJ@_E)X.M&R*:F(=P2[\ #"\RUU4T4>LHHLHIFFD9([3_S81Y;L<2!LK\
M]H6N8X.^A3-UXX*^1DCXO4$O;AWH"[1YEA)M6:?,2C5:97XUNS*B1JM0Y-?Q
MU6SI?;B]1(_V%_"K!9K7H.M6N YBBY;R9\M@V#R7!AARM=X;&V+(U#V1 I,"
MDP*3 L, F%##OQ3#\&_H!HAKK3XR0*WIC&\,43.I<,=[!_]2Z2TD/8Y,"VWL
M"]FZ[,*-%%JS2K6CUN2PD6N^B>W3QZ*R(<^ O1&N8^^$LSS@4Z_ E"96V-U<
M_,+N.C0*N^O0*&R?0V-%U3L1<;<9MT%AM<SX"&V>KV0+?%@)UB?U'&P#8T2[
M%@I,748Q:;]3WH6"D'H7WIV3 TR[6DK$YI@V]4"DP*3 ;#\P6RJ?TP2)W4-V
MJ)^DYO.33$TC;TU&LMJ_E*OJ>;FX$3]&Q/1W@(I3"%A!#+ >%A^7:LNL$^4F
M"1VF'A> '=IX;!UV3GN'%%?3N"K.\6&EN K@:H[3[-/@:JXM-27U$^B44631
M*:-0RN;XY3N+?UB*QN7^)495+86K&)U-UT4?ZZ:F\9=._-A$.[N*+%J K'-8
MUL#Z1SP_<SJ/I.=GT^<G<%18]#;9Z%%)?6XI,"DPVP_,QW8#;1FRMPB8T-F9
MC:5G9[:4H]9$4 ;/YM&-WI!*B3C/XH\6L"<U<J+%_1AI,E?(93G<QPHJR19,
MPN3G3\(\2G829N/T8G+^X^BIURWLW"3,97JHE)A,PA3229A+Z->;&+K!@C>*
MZ53+3\H82S3B*;*;4+FX'5/**EO#*C&G399+Z;3)3\@=RX0-2DPF1Y:*P"/I
MY,AD>63IR9'Q;IO54H5+3*= E@O9HI#L#91.@63-.='AE1*;B8[%;*50385*
MLIP1,T13*J83';?_; :.(9OIC)L]AJ'>P?QJWL'SXRO]]4KY?7WL>0<EQ1RJ
MXO@K!YL!&KVKLW"7V-[S#5;>U3?X\_AW^ZPO\.+OSH?V#0JK3<!*?8,[++YC
M^XU9N'U2W^ .,L82OD&!B>\G]0WN&JO$]0T*+#P_J6]PQ[AC&=^@P"*E./4-
M?CK?H+":^R?U#7X<\1+M&Q283%],?8-;Y!L4EDC?3BFP';Y!@<G(RO?P#<+_
MQ;81WS.9S+]#/U-\Y?(YP/"-,I!-[D)^Y:[U@:AEZ0=9KBD;2O<;-Q"-G@*K
MXT_=_TZ_N .B"\36-/\38+OB0%''7Q>]@_S65"8R!<G;A'U$AM]W"/9$H"[F
M@F4<[ &_Z<L9L0-*"BPX!O;C--V"!7#R&KQ!@=?U#%$%X6%8G-[E0,$Q93P_
M(-Y,6<)_D3H,U'Y\G>!-QW5I[N\F/9/DQ>3X[O_M[7$-15:EK]R5V ,!VI2?
M1[+6@9\+WS@R4P?D"K>W9XMZ27EQH*"0NL)'((L3&0+8555;./W?%Y"0^#>\
MM>/\';-0Q_Z^HZNJ.#0!$.=?W[A71;+ZN*7<?\/V&%VC8NG#,'$8D65-V63J
M=?!;'](<='WC;L9#>'_-$-M*YQMW 3<*1>F%CM@3_ _]XSR%WW@BV)' __X#
M6)[%=]N0Q:>]M@S7"RP])-2R:0";<@@PG"8/822/.8=3B_M!0E )F7>!:[<1
MPIV^B]K?;^2.IO>P?74&+-!]$.42UQRU34521$.1S7__:2=$A ULCBZ&>IKY
MU,KA0'9[*Q=X=64LG:N[]U/=?S\UW/O)#:WM-B;^J@WT$6PBHVAP,^LC$^@,
M3\AO'1GE;I_>XA(WE W[+T"$^/=N[_E6$T>2 O3<X7V$B1=J'ER,!O!,)ZP&
MM;27R\-_+)W^FYHK,I@=0[SG#)R7YS=>RO!MH%.=T1,U94*ZSGD'@S:DNS)
ML=,L\N=EUSTIWD$Y5,R.JILC0[X!N Y4L*K(!>6$O"O3;8X9OZHU*9>>Q@^%
MD_ONV.L Q)3*V(5/Z8X9LRO*I$Q^G_.$%D$6GV]-*I>3QI_Z3[/[(G[Y?BQK
M,BC:+DLDQ=G[)44+W;?]H8*2$UZP1WZYFU=J,I3\5_E^,#(5389+]1".G:$,
M:4]K)4%R);ZQC5,EP&?,V2R@^F0YD:N+8WB2.S55O!_A>I0'0XL8K\3JY?X"
MJY;[W_^I\'SN6YU^1O[*?\LZ'WNK!K]YE8.?C)S?<+KA?*:/#/O#OS, RZ@+
M0AKDF\GUE3US*'?<*2, K]'!^GK\'C05\DYRB;\"RO17$QU2:(;#-WH;?@"+
M*(A*5&OP9[ IN$&(EH/&.=P+U"L&3P,!4/G;YVA/4DL=9W A>\M@WG=EP^0D
M&6,,66YHZ!)]-HOD?9(M,/BRY!TXZ$U4:?M2] I,@VR.31#D%-#V2%'1<#3Q
M9WVEUX>U9$D9#<@ZJO[*R:K\0A;*(!7WN2OZ6A/[K*DC27;WC0](NF[@-Q0M
M (PZ&BC::$#!>E&TL9K%?2A@C:'+@J0!F#;,%DZ6-3BPF!03/\YR7547<5<<
MD$.49/+#C ^!]-6@.NFO'=%$S-WX\&6B'0PF*$>#R3*%[$(W+-AE'?!KV"1I
MZB.KS]7(Q2YNQ"$2?M8*^?WJ,.BR3J5'T!WFT'?JG$8SG'-0@#M.+?N'[F<N
M%\.) "T<A(Z]D H :L0JL3_ T.% WQ,[.NZTD[$_[HR,%^]'IJ(^[<'5(X.V
MX'[H/.*3%9+2PXP7  /8GGY.H:NI(WHDAB ++1M,V!Y@2T7_G6+V90DWITN
M%2F;&8IX<"1WX_A(5U'I6>'@<01]U$:<MD6#?CK$8"B\T'D92KY\&<0A8$"D
MKW?0 L0T1B:1,>9 5JF((>_$8XF+45#@KPR\&4 U\57XA?PVQ#[)^( RL/])
MOG"%U130/A)I\JLZ=H28[) 1<"0/VBH^I^(M[Z>_C523-F0&([,SLO ->S@U
MRG[>+Y_A#3:,\ RNZ(J(]/CORO$755.W+T,S.R4,G/O0]%^&YIQ;,.SBVS,4
MZDEWK^AL4,AD/!DS<PFZUQQ>9QC;FKKD(NXVOW)@IW@[*V^2+Y-FP7^F3.GO
M["UK/FA9-V%[1(73K%JG@SX9G&0/1F\']*TH>WDJ13S6 JW)@?7'S'6U)Z'6
MVSDKF)^U@OG61+J4WPY/^#]2OHHI_Z9"5$6_C\#V7@X >E12.1^N. ]9G(.M
MQ$WH=^%IYCQ<#/(PP?UE-\!^8_I_(WBXZ&^!$F^!UD3LCX<OA<[YXX_J+O%P
M@'>%H];D6'\>R4^W!?,L;_-N)HQW;T'0P^=' -4 -:./R:$[ _Q,R'OD>)27
M"6QS??%%YMJ@B8-V*8.Q*>/UR^'"AD2:'+TJ8/6)GH!"9;RC#%%W[E%O'QC@
M\+U,G!'$A2]SMQH!A#A#B22TS4;N+]N3<-ODCFNU*\>;0!7ND6&.4!R",8J+
M^%YJ*ZZV/Y4S1J[J+O=&U((G3(N/-66P-L!DMG]Q]-;IBUJ/&+P#Q40MW86B
M>51W(4 -ARH> UC5T<0!IJ'NVLQP)$8J((U^[VX7#H:+_,PRR,=8AJ9;H&BC
M22 :"E'H)>)$>2&GS7FCU1<M8+0QD I-!E#/<$W;AX)^$UAI+(L&@=.4,ZLQ
M@]G71ZJ$[S!DD>P.GGD<:=3W0C@!WZ=H-)T(/T093K*+'=+[7$]@+9F9FJ:-
MX"W7!&4</-& 9X&']WZZ\"/@L D)%CD$3& B(:CYM*<613S^8D_6_+MIVTVX
MP-23+1(1XEY%]/L8"IJ:7;A/*!?9= G=L WS'!C!4 )5%7@)Z>38>\#S/G9$
M?G@>*7ATVF/.YNR/I(GN#/ H$ZD8<YUZ@>.YU'&PR6KZ^1J%TT!\@D/GW(-$
MRCR.I!Y]"$]J1NQVX8B2YUQ9(=(H)_$T@I%NVUVJ(K85E8BK+/SV1=9&]I)X
MS#773V#()#=[BNU@)3Q^(*?@S1&+9D0*!F[3QD?PB(9G/(%2:HVH9Y9((!0^
MDH+.5?=LF7XLC "OAOT+&YS18.AZ+HE<I([,?4^'X$86P#GQI =3ZB'&G,L$
MTW2 )!0O8[PK[.L%?M>1E1?,<J'^*^X%+%<7 D4#DEBZ0>CC[!:(8]=2H+ 8
M878\7(@V@!:F1L*/1Z;<':E BQ>;H$,P'ZB'6P'\*P:"B8"HNM;;4XG4HC3<
MY^KDRB+RR<=G>//)794*?P=A:"E+(/?@SH/[ZK6O=(B0QIL"D_:Y)TU_U5QJ
M.DP8H&8F2$UJ9N-E8/\*/S84O.SM*R8*Z00^(B%%=R28?7_9(.M#1;.Q"X=:
M[)%'<7<9YQX<DZM!!*-?,;S5'?;U7@Q7LT)]#@Z7PD]\_CFR"]'LHQO!%W.@
M.$->0PV7>@HE@EYDBXR&EYN*:^+T5Y)-**+')!7I[R32'=';%_&\R0Z%@3"F
M3*1NEJM->:V.71?R/?4+9>V# 68Y<8@IKA+G6X6J&O8?)*R&SBTJ_>UPDB_J
M15RVKC-U.KX4&EY"]]ETE&Q!D,QSOX.DDU"0^:)DF8 CS/;EI3RZ13Y8(*[<
M]7$K9MH3^P,5",.U0NJ7A^>>(82A >0Z>(IHV:31+)H_\# Z0/O &, *P%EZ
M!^\WX E]9&#THRWBQ0C+]PR=!F^ZBD7X1','/E%!3,^ SX[1-5NQ)[_Q)"X<
MN*F+UELH.R5842'PR5UZV.A]1=^0L=\PM=J49/>60]>QCG<9VAL=V4#[ EMX
M[!WOU^#_7W$#&0Y=!ZY)OP_-.;>.VN0JZQW=)"\P1;SA,QCO1&+8OZ.RW[9D
MZ3T@#3""9!G4"'/6V^=(79S['H7XQ>V7.+92&*8('HAE"=>K^]J,3E9SH<#?
MX]NI$J33X*YME%+"B6^R*\="58%PW-IJHJ^:SU[1,15M;)(U1\A!J.'J8,"3
MP+?4(WK-BPRV.?QF2B?,.M[XH8PQZA=D5%$=H_.SC?J'UNFC6$)LVUI84/-T
MGM4-<S]S$_(#/!L$LIDOR-DZ>H,[FKSYDL01# (1_>[2/7?N=QV+P@)[0N0#
M=XMX6$;#=XQG[7Z&TB;#6;94Q(,'!W0/[T)K3(\V/3XXD98D@*#T@(.!-[T)
M5%=G;W:)2 4PN?#D.SGYQ -#RD60[=U@K7W0,8"K$/59T;@I76 Z+ SLJNJ#
MMB).AUP=5^J4:A#F,IM.T<"#3:-C^&[O19@DW(9#YVQP1J-!&T"$,PW/@8B'
MK;F1\@6:AQ/V@Q>0K@+P!J"=:+@A0_01^G"6\>,,]H4T2L_4>Y<D*&]?Y3=R
M/WV?5U133HMJV!75E'>EJ(;$EQWVV EVWD8(WR5P+P2#GE.YZ?-#G0>^4.>\
MQUH3Z?[E1^WG@Z3N5(P^&-\LM2:G![^NS.+#[:^GZI?O5V[X"EUO4QA( YI;
M=^^&!+,6>'U]O^"\=.<LU0-]M6.^+[DF6)5-UQR_.7:,\2Q7WS_=YX[ -NS]
M[__PA?(W,=/440VB3QSM-_<=#Y/[^%'3>_RHZ7Y]=E;W_>0>__9^YX,%/K?_
MYJZ/Z%_'Y_\K#H;?K@BWCDAV(;'JCU41,PKQ8^)SQJ1BYQ7.,[ZM.(T7%>ZV
M6:,K WSG,FBB@():TP>>_:GW\!UF FA@+[G;=W]]Y^TWXQFG1#%'-+_V==2I
M]5>-AL>\K8*.BYEI<.V"O0TJ:I=[E3EL<0":)7&CZ]10]\CL&M&H?6KT'>,L
M/M95#+2MJ>=>SM"UJ)%L1^;093(< B34PV\H1'_QS')J2+B;.CUR/3(#79)5
MQX!UWDFL]U?,??,^18^* X)$XR$D,_U%)SJY^RZR(.:5JJ0/CN/ (-\[R?QV
M<,)GU-!^"]1,EU7%R;N=\CL0+Z1KJ0 (H$F0\$IF:G'J&;)#1;KIAK=ETE@"
MW2M]G1A'O@@\[(TX!ZA'XD5V'/M("C"O5<4-&U#'QJ...;L8.Z&A*E#/,FYP
M@O-[=*=QT%6IPC05=R5)"C*)J:&M;W/'1S<P$M<C*D$]XA"#Y\3M9<9/F(I^
MJ#4YZY2DH_JO4OEAEW6(P]:DW>L^=R15[E4*7[Y[.\YXQ;BG) 76KL9-%8DM
M"1D9<D<'\3)!V81)&R[EIJX5EW+H$I05VSE(PND@[GS1=!SY1H*2*.9ESG-J
MAT6E[0R5#,E0H1+6D\A<3X3WDN6)! :YKICDND-?>L>+__I?U_5OP \V]>H;
M3IR*O!YE\?,(WM:%Z\3,N/YUKH_I_NB\)?<C)GI-^9##MC+MJ0]U)MM%W';V
MF--+SKX-IA[)X([CX<[.[K$A1:T!;@H"K1O67PRO[4"W=VB"Q+,CP!G ?E3\
MG&(IY.X%KK!46?I(@;:D+YK*3 TWP.M+L#5T#?[9H1I\G'S=@N_Z67:IUL32
MNOI9_[(BGW=W^5826A/YY)>H'PBYSI'PY?NUW*'5D*>F.0+.]2>53Z$EO9ZV
M3OT[U3(7H"*3S$?,>J2)2(U:\P 4;TK-YBU'&[P5W!+=:]??/]6MDZ/M.DFH
MC/]V1".,W*%BBKV>(?=HU.'0ET?V5W/4MO2ATLG JGO%W-^V[4/OK -=-"34
M_Q$2$C_KPQ^W0\G.KE(&&*^DAI _.TULZZ##B]QPU(8#" H]K3JWC24WD.?&
M:VGL53*P,AW--C Q[,@RM3?0O$7K8Z"3>\X2%97<!%XN*GTCPF&-AS0_SEW]
M+\\L&HX,N%]-^@,GOPML.GDP5/6Q+-.H)$A]8D]E)!E0"XJ"7=<\0)1/G+](
M8!YSO^#/OZDQANW<2:C%SBYR8.! /-)KY"]SA&:R&0A-<\UC8K37G(P_4\8P
M#<F>D^076=6'>'[_IF0!>:I)OBQ6CR;$0G2-)9))1?-;?6G-]JW7EN$ :"1C
MI0L&HI=^FR^1]%O!J90F>=&9Y1<H[W-'H@'H$"5]2,-=)+5AH%B FNDP%WS3
M<4JZ'4.:\IOLRYVC.Z/)WO $G@N=AOFVHXO;!XA(O9<(=)D'&*<0*0(+>[FJ
M*P*IJ.-N,#F"^^L&A1A7!@GVE3NE8LG6CW7.^Z5?]LU*NLR4I)MWSF!16>L3
M-97('-04L8)"ZXS=C!V2Q4$S08GP\]11"P#QB<M] -"6<EE.Q61X^$>F8\B2
M0C_S7"MVZ@_*0Y(W0\8"<'_9&:YPYM6QBQ]7=+KN++N^ %7;OIT;[-;WAH.6
M\<H"[/T2=QK)4I&FJP%(0-JR;//)I-E*KJO.E?F!%$TGMQG?"U;0D^WU@K^P
MOENS$^HR[E.P6WV(D@A;E!*KC*9;HQ @:Q IJ)'P/2;<6?3BZ(Y($;27:.3#
MN4_R #1CQSHQ:(852)8.<7%A@P<:^?3(X<.4W_EFZ1:Q+;WD':P(E[*$;6PO
MH1_AWL:G]K;/W?<5XJET[T"@H)VOZ[]N^[(Z!"[+TN1?<]0#&X^$X\'84A!B
MFW;N@; )]5?^;^JK)!-M0HB%%>JDZ@9I[HIAVT+%GEV/8#J9P%0V:7 S*EP+
MIIW?X&0UP1U(#E7$1K/<7[R3_N;'RQ1[$3.7$-OTZ(C$E>$ORZ1)D?:!L(\)
M/N><1/L8_56 8T#R*,$T]K8TS5.HV6AP_D1,=9[EG+E7<,;68URJ<9Y"XV@P
MT^*":"Z1NS;T4:_O*%HN <-/*Q9H#4@I4<8]5WH4,]NW>X!'_6_'G?I4"Y(X
M2'/>3#<WSQ9+'C:FM<*,JXPL$H%-)SM611$6D+ZV*]]19GSE8'KW*^AWP#R>
M6AA]<.U,='L+3CXNAR*Q1]+\:=ZA2>L0Y.GWV%E_KKM%1@<+;A>H"KHUYLCC
MEQI7^J^3K8[JQP@53+)=C$$HLI0A\E.FE$9<?(,-*'^'D.(O3 PDA6#=$;;]
MH=4*LO0W23YV-'H:6^G*$N8R9:G*0WD=SP9<XT[B_S=Z !3O99G R_X&;C<<
MP3:]/EX=(/)QR_XSS[V"X<%1G=9V L7!S8Q\Q"X=H!)Z<V\<)G!;F8 FXM!#
MGL8?]Y?M2?O;=J"1NIA1(#%KFMM=Q1R?;0-S=A7K[TSTXV AB+#' %IDZQ6K
M)R58E+0O\2%]947=UJXSB[1KL!,)L\K3*K:K7U,6\*YOF_OP=A/=RQ'?W285
MZ_0NMGR?DP>H$,U,*>[S'4@^7TVIWIJ8=S^:A]7B4ZY42M3ALLLZ][MG@572
M+#!V66"5- MLV[/ /J:G?::GB]/LL8[IR!J1Y,OU0(VW0&OR@*4!]>&?Z@DK
M&9]$]Y;";/>61FMR66N,7NX&=_6'SI?OM0[HF;2N,'65OWO4 Y.;%-H(LX81
M6<Y'GBQF,:6T>1_@3[5,#4Q-E2L05;0TE<4F=NRT*\=$]!6GD\)P>:I('>V!
MA@K6ER3NT2HV0G;,5G.K.9NT)('0G/1#!?U_H,A&QO9#&=2PU'0[/!Y5X="S
ML^9 Z1BYY1JD;PCVMP1SW^)N]YO[Q$_3(6;+= Z;QY#<+$-F_&E^WB__MJUH
MT?NI5SDF!@I)2$_#+,E1TT>DT$74>@HM3R?X(WF,\"%Q6L#N']'WA4.L51U=
M>#C7NI^1:664;>(/E:&,[0"Y8=_I  K@^&+;Q/ENEYD0F-QP3<>3^W:-/Z*'
M]KCPD\GU%WD=5S-P3?FZ&Y "6)*18#F5*!:'+I<NZ'^Z$_08CNR>0V@/80]X
M526ZDVD9LM:S,,;%3?>QQ::,!"9:G&)'7G!&=-O014P/(#4['3!]2+D_&'%V
MY1HAK\F98\SP)$X?-.S!=D/_1T<.>8\JB^@JZRM#M_C<X9\PAK/;U8X#5NU4
MPUHD9$<9TDXY/A>G;9&2G!3%\JJ2S%"LFR.2W=CID[02DA^!S[JNW:ABI8^4
MQ[ SP),^)784$OUU'=GM3> 7$=C/YC_3ZDHU5Y^OFUWA:MB^S%WFR&X7U!IJ
M!:U IK67W&GM\*^I:>W.BK[GZ9QVVOJ3U S80HU(/]_O0/0Y@]N'_'-^?#DH
M]8;E18/-EMK"EP@5N0@JLO,O;RQN#% #VO-JPRP#8W)SV2(?-B?-YE3Z/\Q8
M*8N14)JU-,,JM1!6\6&AKIN6C6:0^4?$ZW_C70GXM=E23@-\4V#.+8W!^8\;
M\_;YT5#B<LN2NPB=E4?YIK ZM["8;BED2Y6PH<I^9N'8<8O>)5=/0/:@G+']
M_C3&T1Y/^5V!# %5#^X^D(]^4:73.F\W^.+V?D&U;(8SBRW989%[^J0]W;SF
M/K<)SNN^3<[^O#X>JV>1G'=S?-;\&@5C,GQ58L!7?*FP.:X"_B&^>ZY8XB1Q
M;-K>:K]ZB?X"T@*#!";<3G*@PH.^0AS<)') XY+ C&/B6 SPH<.>=FEW0?"_
M+N-_!?6\TQ"#O3(I9W!QO^?$QC %QPR_:7GVXE. VVG"J_FAV<Q?=.L;%G>S
MHT$K3$:#+I1@+*\[K\;(M:!L?HC1Q,.U]?SYP;X 4:!#E*R14/Z/$5A.A5PV
M@VA,%>9W4ICI:7:,5#LT;K=[(&U+8QYAGZ99]R]VXZV5GSJT>5=7)L?W]N?P
MNBA=F\?'H # \</-W<R';04E.!*T*!UXUDT\== KB:NV^]PM<0_4FG6NDBME
M21F?W< "B$*K[P:RB'YC<O3L0^9O$V=GX6/2@/4JJR_RW@ VVW=_2N\57SM#
MGTC?YPZ=IVFH$I[(>C:509K8C>W7H9. %M$98S=J[1:+2!S-C,KX51PGYPL^
MQZYTH[9)PCJ8,N16,=*\0]57M.&DBGC)*'9>0#0CXV7D]G+R.N2Y'56=7I,V
M.N2I?H5./Y,N+0CU9R2)4YOVGJ(Y-[0#&M8SJ79ZJP.IV]0'J_6P' _;!6>\
MGH=>KT#:%PB%["R=S=E^@/0ANSTOQ<G ]:I@:AO-R;*=AUG [9O;(S'K<XQE
MG(]ZNBZ]*JJ:#7;!W.>.[:]03. >W":Z5.. :P1]5JATD#L <\^<UK\[*C,W
MT7^].E/9T>ST 94JV.\ARHMY,/;]%1%]JA[Y)PJLL%QK\NNEK1Z>_RD]FLDF
M'+"^XKHZB(E7(L.(_FN2<0&D>BW$;)N5*0NNR*\?B)-W!OA N/& ;TWNRV^-
MZTKN\H(ON.QI#S+YBHWNY"_?';XGG?@=LA/'&-:-.V2?4A(XGY804+\IRI9*
MUHB/UL5I&Q5,H\APW)P\#9H4\HV$,; CFR;A@KKQE3-Z[;_X7#'+%RI9OE3Z
M^XN=S>!E<!"4O\I*KV_A0JH4FO'A)RCY6L+21X*YKS2P@0&2+]\C<>J='LS@
M\%YO(]/-:\G[619^ZH(+&\(%_N\+_\7EAV+UP*=:GFGF6Z]VKQS+PI<I6.VM
M&+C'J<67@(,DG:Q*A7L,;<RBWD]@J@-/RZ@@C/;O^?^&8VCZ5_G_AA'R/^Z:
MKII?24+-/ZP5+?[WCXI^4PFH^=-;_!*$6@B ;1/MO2V *I^D!1!*YG "LF+)
MQ8(A^IC;<GJ1T+CV&01>]W8[=9QV$'$"VT[ .Z!X.M'NKPZ*YO']?%R%_VZN
M2(B-?%<<38US"F%*#R.G/BP0SZ;I.*5JFG3F8:!&$5 7S3Y\<00_ <L#;0#/
M-S80#^K7I[7)&TZC&9Z=E_C?5^:36?["3$[-(@+AH6WV/8A6H]%_8I!GZO;9
M,^7.GO*VUU<DP.%7#A#/*V]M0X5#6OSR?2_BGMDF8E+#C/[RVNN?'T'2AV;^
M?-0[EUY*O15(&O.<3V&FYK3/\8!+^  N+=Z9(S^^U[?*PNM;S%;RQ84WP0I,
MNR# S09OI)=S!+OJE[=5Y?#J^J):3%("T7;2-E0TEVA%";3M3$IVN@1[LO!5
MEBJE))@SEQ!S7AD8A;#&5YC\9=^3P^DPZ!2/GHG"7?U'O30^X#<D4AT(LTZ"
MFG-Y$C _#.-&$B(V_U9R.0;\6^&%)/CW("'^/?6R%",X]L2L'5H_+GY>7*E)
M2E4PE"29U&-\&);TX78))F1B[I5S23!AQ<O^8'KGV'TP#V@J; 0?BMI9(W]S
M?Z$4^AN2G Y<G W8NS FR6-)$-M+<":3O*ED./,@&<Z\T"T[I1''9&(5/OSL
MBA131HG+1NGZ["QW^72FKF(SQ1:7%#(RH=.%C=SLC8.Z7>[Y/DHI<WZ=1X,E
MF)>%Z21D>2$1]CU,Z':G/XG@U.OB<_NN^7QY<BYL2*!>(^/LZ=T]'&TA?BS#
MB?YD"89DDMB1S5?Y)!BRF-!-3ZU+_Q>VP^>*9@[Z>=7T\>K]6"X]G+_IE;-\
MDE+5AL;)8TR8.?_:U(V_$.OQV3:_FHV$S4WALYELUVRENHI _7OSJD H$HV1
M+-E]^B(8MS\H_CC^\\=H_MB4UFJ#Y:9.?F0F]N%_"19>S<**8.%*GC'_"LGP
M;U,V7D"/NJ:3B@]EDJ\5P;0/:ET<//R<5%[E)*6M#9(S/1D;,B)0'X1A0Q&^
M!)>N9FU%<&DI'Y;JO0Z;\LFPZ1GV[?)]',&A[;OV46=\^Y"_[VQ(K!+ _!'B
M#\*F080OP:&KF501')K/\C$2%+9"%3A0R( 3\U0[>L,I@Y==K-Y JY3,YXA@
MV4'[ESZZSYU*BI*<4/W&A683.1"3N>0$9MH/WK2<=HM=3^XNG1\5LTU0W,.P
MS#H;/BP+*+_$V5G-^HN2[MEJI;SP[(30,XPH\PY44B'>"QE.S8U[;"S?L?DS
M*EC'Q<>[)V45761Y21]Q@F@&V50&$9G\.^7$V,&3LSD'"= X_OG@683B"EG0
M]5D=BX4ND\+Z9\.I=8@^(\X1F11' ]YXFSR.&ZLH0(';Y+OSXB!N9I+MYK)Q
MK-2\F:RK!4\ER:>+\+T$O[*(V@E9(;]8C,?"<ABWVFWK,IGYC1]KM=9D+!P5
M[ZY4OEOR7,/;GJ^_T\4&6$3B*6;SR\QP)!MMS Q@#&C3?*]LC137Q<MM)05K
M[B AT<PX95BT]&WJLO.*MNCJ6$='^A?A?#[?: 6RIMU5'9Z'4YIU6QP!9';7
M(V<"O=UDR@UF98+!+-I;BCL8*:I$YV5(LA/>RMKM,\B0.=%7DD[;ML..NR1
M-D6E0+E&L.ZTX1/B#04G>Y]ATUXODD\$R"UYP1FLCQ)9LG[[JL1;IF'M[5UC
M:1QM;$#^/H>U!J.!T[^@]N/8/"_Q=V>773='_3H,_B_S6@U."R1\46OJ/5,B
M"9-7OTHC8RR+1D!V%8.U8'%V_N4[/R-%IOL46*\Z<D<0Q>554-Q9C&'QS8_A
MGEB^+&KJY>5UA3&&_>\)Q? KG"=3U@)(GIG]&P_)7:R"1YJ9$=C>!YDBXPF2
MN3(9'I#/?W.+)DE?=6]U.UF1=BQV^UI-=0W?4?FYT\)_I;:_U;3M+[NVO]7/
MWO8W/: +M#-/F?(U6-0L0VF/4 &S0QAF:-,D?UVT'0XPW>9(17_MVFGG*%\]
M^U4YS[5]MQ9]8I$-Y/XNNM=:,=)\B>N.RLVZGOAJ6,(K50%HVTMTE-#1D2'(
M\2>V4B_:&?PT'#T3[5@\?='TDZ>>BYX+>_%%Z/'67@5!A;C^B!D$584P%X2M
M(>E3;9("36S(0 /2ORM3I/V[\ &GIPWY@"CJONIS;^ Z*-H4X*EYJ;Z1:\0$
MH*JZR]'^KAE]$2R-#NGDX'35\ T-LXT4G%^@X&AL>RZG.SMM'T<7V@#0YA(F
MU=.Q!06VL\ !*F0V!6TN0=8<&5Q?P:DK>".XCUGNX!*[\Q3]F& GLMNLW7,C
MXYE \_O8PDL,N:L2@X:,?O!9-,ZTB<!4EJ!%%)@$&^@)N9^A8V1GZ>-LJ"WC
M2!Q))UTN-!EM03(-9@HPY\?3W8](4XY7TI2#()G^"EOK=(-P9)"NA B^/B#Q
MJ&MZH_&R *1!QWR3#J=T,M4<"'$>+IW%8Z^U&!\V)ORT5^"<=.C@/:?S*X6$
M#$=WYP'1GY%)M4XG$F^*E-UK%N?/TEX4=F,JVM-$5)U&-?,/E0WD1U*7&;<8
MJ10B6]K[>G^ E&@@0D\]T135722L)C+F2JW)=;U>.3AO&SUC=QJ+!!M0'+4F
M5_F'UU<^IT[Z8IP&%+<NYZ(T)NCA_(//74QM5]L)JL?'*2_WN;##(R(ASM(U
MVSX<M0)]>#V7A-N<K@F&"78!][DG'/9T_!.7]1\O!V7SY>>5%-O@6N#YI=:0
MW\A8@<-)[WX =H] 2WOT#^/%3.8'"Q(E2AY)472)4ER1* </0N/JM?3\\%AE
M310?2K<;E7PKI*G&\JB\+]TUA(%6K3<JGQ:5)<J+^36Y\OG^XN<O_I?Z\G.[
MN3)N3Y#EA?9BI,>+C3G;OND;LLR=8X?"F=C]ZOSR.:%L*F\?%\;=8>DC3<+N
M8=M*@12\38.W/.LNEOWD!U\Y[*6N=+[\D\3MF90J['?%YUS/O+,^J+V.7^W?
MMO$/@(:JS_9JOEN$I6**I9275L92)AE>2K8]7<C+/?_*-?4,)EP=L$K;N!28
MG0 F-+DT;+"GOZ&R8S/:04 G2[17?3 N'YHO55YB5W-@>^D*E9 ND;,RB-\O
MH13",)TIJO*,!NYV%HU\=-G$:?(8)^FCMNKS*2[H2;K\@H5UVH7.H=WB65EN
M+M*TIR#@?F?1K0/D7U:(46'N0W(H$>.GL*?L$(<=BBX[%..R Y/A1'PE6\PM
MU4;VL[)#;L/2(;^D=&#22;+"9WE^<?U^R@Z;98>BRPZQI4.9!3OPU6R>7]R]
M<5UV2$:YWUZ%, 5F)X")W=@I[#B#>GRJ=?2!3)+?;.W]1!VI:OG4.)^LTCMD
MY8IAG\:N$)@66>1,1"\;><M4QDX1A95:7F4A:8O9?&YQ0X<U+]N4S*NKVT4F
M]:M YM+B;K(IF=F=YB75Z&*>1<?@0K943$_S)D_SDNIQD4EU;R&;XY<O1U]*
M)79+?!<5^(HWD^=:H3<2K/[.Y$.&):T&M\DZB;4X4QMYJH'A9>G&^% Q<7+Q
MR) C,E:GG+;S'FM-+OOR:_.^-#F\EW:&'/^VL0FMG"GN<WN!(L\*S[<F:OWW
M\Y%P-O[-\U^^.]NG&=NRY5*Q/5O]QI: ,W67WF1"ER9V;[D;/#Q1Z<<'H<,-
MYR_1FA2/K@?7UX,;X27/BK!)IAA76A--*6M&OW=S]" M2C'&1'P?89G/C X<
M^*W(38X]$F^^Y>6$2S>5BGCHJZ)2?_ O_;/7^D6_QSKZ.Q7XMN/>VQCS]A!3
M)YF9>;Z0;TW>3BY^50ZN)J>7S'-6#^4.T2NX0MY#3I%QJ#M\VHDKHJ[%UW,1
MH%% 5?&WA#X]GDPDLS7Y_?#C5[U0NC@RDNFI9Y\@(>@+M7M#BZ_<P $OTN_+
M8OQ@X-<KC?T+16K\=C%%)LV?^4HV3CO]V$/]F.)[[L))([VXE^?W"OD TEFX
M7JJ5;*&PV"9?99"B=WQK8<?W7C>>3K',"2L#P\[O8TV^.VDWC,8E@Y90T3Y/
MA /K^884DH0]L3$Y8@HY\<]AB87]G@>!5UEWHMKV(S#T3)683*L1LI7J*FV4
M%QZDH["#A(U7S#[M_A5ZD'*-2>&A\W:BG*\R1VZ5YK(.2!QV8-J2(S6%IB6.
M%).\DZRP4C/8;3I1B_$7?J)8)&KDLWP,C^(*!\I?A$NF _KLOR;6]%^)AA5Z
MJ)X?^I7!S>VQ_"/!]K=@FR(0=IU_!V69;9J^(T=$XVF)4\4B0,^7LD)N<8/!
MK3Q62R(Q_&BQT+IY/LOGDQI1Z72K=H7(%9P$L @=;??8T,-UOV'W37V]T%Y_
MZYN9U!MA=]O@NH9<# -WMQKCDH[2<ZD3_TP++&*$^:P@+!\BC-'C-B5:J P1
MF%@,L=+F6#4FYL.48%N2^'INVZ($9,K%I%^^:$U.3D6Y^./YY]E)HN.4:6?M
MJ0!!#X%;Z/M;OQ=Q;"?CZEK@LC*AP&3Z)QA4,1('6.)HQXD1?M99F#+Y0C5;
MS2\^[2NW=5[L.<(^D79/;%,V7G"HRH5S[B6E-3"=$W_>SA7O?A6*=RN=>&9:
MQ!FH[5]=B3#F1.S$A#V!=_AFBIA0,<.B,[1:0G:PR.DN%!;KMLL-DDC)%2%=
MF)ATPO*)0VO._7#W'AS:X4B1Q\G/\</1O?)\D># \/EC.F:R#=B%$=G$!9=)
MEHJ_ZG*WX5(##@06P1-43$K\8D]OO#CH6DK$N]![-?&T$:*'BJ@R$PL5%""A
MN.(<EO6'7<S-A,-YW=='1HX_.;;*.Y-Y]1Z)<.69;HYV!1(NYXR4OU>L?IVX
ML&0C*BDN/]L,>>$2K<E!K7!7'][__%7J[ R9G 2YTK[;ES^8)E=K33I]L7X@
MC,^[H\*7[TX/9U@;QV=PSIQ>[EKNR,H+LG26<U#E=/-'7[?[V9E_0&%$CMU.
MMRG=&>"!_(>**?9ZAMPC*B)VY*3Z"9;6-&DQ_(>B#7.A,Y-].XW1RZY]8.9F
M;OK3<&,]WYJ,C7:^=M08#WTM][:=(-@)W.DD+GG;)"V:3=I[@7L%Z<IU;/%J
M8OMM9_:N0<=E$=5A(%M][#^N&^1175/'G"GWL%UAEK/'^SAO:LNJ DN0#TV9
MZP+E=,/,B-VNT[):$['O<A9[:H]P 4L98(@ I=9(LR< 66.GY[2]KMV_VW3A
M(^."1+//=57]=6?[+H>T]#V:' DW=T6]H%<7Y=NB )EF8*2@S<*?(OLVK#/P
M%+*^<;N0C5L/ZR$\.1ETQM>_Y$ZQVV&=?KH+F;BYL!Z^DT:]T;E3NK+X+":
M%"89N$DB)1_6C7<RN37>2E?/YDFN_!DY10CKJSNQCB>-_J_VZ,Q2MI535N_)
MN(:T6H#9Z0&/L=O2#G1LI\K)&VV<N32LV/AU#4C?A5ZK' ^!-<>[A1S;)PJV
M>J\[PS',&S]N[\6QG7?!#NPSI>>Z=5CE^,[.(S+4#]Z*7CWXCW0COMFAM;XS
M%D :=:Q+ ZRE%Z5CSSYU,@8;RILL71GPN;.XZ<P/>'V^R-W?M>\[W57:R,2N
MZRH(_\5$]C<R)PG'^78<0#99S<6O4EBT FEBMH.AY&E%4B?@[V(1P1<PNVQQ
M5/A]JL*VDVZS_5V6I!N+4'XAGRW&Z ^1TFU>PY8EZ<:D##,/PC&7$F[) Y=?
MZ\"QR$80BME<:7'=WGJEG,+&- #[6Q)7<J[^LU-%JKPV7^NG"9:$1M4"4'C"
MNS[O4"K8.ZL.LV2=/@H5)@GIU6*VD&>62O9!ZP@VIG8LI#F3JML**/2%%?-R
M4IJS5ED6TIQ%94!!*&2%E.;;HNTLI#F+ H1"$<XYO[CLDU6Y496)QC-I% ;#
MO-@?GKRVWZD6P>Z02%-VG,RL15C;Y;:*B>DR :YFX>7 R12E8MH<=1O4E@!Y
MF=0UY*M9(89QEI(W*0UE.D=OBL LO";%<CE;*:0$W@9U)$!>)AW*\WR6KRQ?
MZ;%:M]OY2?[UUN2V;I1_'9IWX\?"SN1S;B+!MIJ/[H[:I!F?U_)0!ZU+ZYUJ
ME"N C =C^\NHE-M<:+/4I59L3<Z*';-X7CH9]TL[0S1,PNWJ6*^*.:XT3W)H
MR*:,2?QV+JO)M0W]2=9 $KR2#,Z>K/<,<=A'U9:#O1.,?/T@*:[YUL0H/4N&
M?,];OH+ .2UECUUT<#X.2?-;=R>_E0_-;QU>%[NYG'8AZ,S;JVYOLD*PTVPP
MO_5\()X]/5X^YL;JMF8V))[T.Y/?>G:8G[3'#?.L]"GS6^NA^:V7)\<=K3C*
M]4^WE5&(7K;]J6_,$PAG,V(YVN/Y,V51!E-M$T!!FERY94RTM<EX.[#/E)[K
M)E<N44F^,+6B:8F6C/;GL<\6L_,KL&S1&._MU2];DW:N__2G/7D=O"2>2EF'
MAP9M1?PT24$A*1 4]:WZ9<!MP2(6*F2%&*U(TJRMN?D*401B$;@L92N%;9UN
ML)T$"DDNB"(0DR[3A6PN1KNPE$)S4P&B*,0B2IK/9W/"4O/:5PCX'V[X'KYM
MMB;56BE7$WO"G5I.+K'QR_=;P":8,@2J]VTBGOPE>]L,,""3;ME%/ELH[FC/
M\>3OS1F<LXB]\;EJ5JBNV_Y_QW$>?14&<%[-L6AR5BP5LY7<NC-,=ASGT9?;
M#,Y9)"T7JH5L>6V<+QQSL8DK[:K6FNB5GO';NNSUZR)3V_+[E0CD%C\$AT7?
M7E>U (>Q,!%C)"!]] ,=<7'-H)N%P5>,D0_TH?$=?6G-X)N%_5;*[>B,I>0O
MK!E\L[#&2C'*<E>XK'(;NJSL.C,RB<<I,),+:J]W).2']X_L[+!0QS5Y;5IJ
ML&H9F8]J <YF8>9A6^?E<SG3JI)$JL>B2<W"NBR ;9D6$+V[7K" U'D61FTU
M6ZPLUA!24F^D5BR:U"QL:2%;K10V5B)68%,BUJS>2^-"N_B[S]9B3DO$WKE$
MK)IG8;VG)6+;HYL$R,MD1G!:(K:M)6+5/ OW1%HBMCU:2("\++PAFRT1FULA
M5FI-C)-K;52Y-*RAY\C8]E*;L JQW:D3"A:VR80YY>___K^]/:ZAR*KTE;L2
M>W ,FO+S2-8ZY-%O'(Y<@W_RW-Z>?3(EY<4!B>[%Y16!O&FI<IY%ED&\(IZP
M#4>G+5OZ,(RAYR8P!VJ&_%AS\/6-NQD/X?TU0VPKG6_<!<@*BM,+';&7S_F?
M^L=Y#+_R3I%SA/[]!] \B_"V(8M/>VT9Q &L/23TLHD NW(H,)RF#^$UCW^'
M4XO[04)8*3@^!MDE+M] $6<U7W&*.,F@8Z_>TC%(#A73,I3VB!9:'FG2N6@\
MR=;<H2E'WC#R%1=L32Y.#O/&X:3,-_([(U-7*N <D.U_E(I-L*S[)VKO^7A2
M'OSVQLG/&4KB\ 7G9PSN8,P!:W"4-SY%^6;E0U1OED.K-P^>?UT7A)ZAMS]/
M,41@#L=,\>;M6?_&O/C]='I9V-;*B0V4^0:*-P>_'_]8_>*-^CN)B2U;SRFE
MT.+-/U=F?W#XZY%_R&\KI[Q#]2;K<1_I:)+MNUJV>ES'9]KKSG!,6FWYX72&
ME)[O?K._WVB2:]E4)-B2(JI.VMCU'\,LRK>7QJ]5TL:6JZ/UO3ZB[NGCE9E%
MIH'-T&+:E<0S&?B>JV9+,>I/TKK &,E<BPC&(OFC6LJ6BPRK!#\!O2(SLA;1
MBTGG]FHE6XK1T3DE6(R\JD4$8Y&)DA<JV6IN<7[5>G6X+// Y]_H=7T BW1\
M%WK=/&Z\F"\_^.>D\\"]=Z>YA*MJ 4'Z!5B>26^ 8BE;+:831;9$C5A <2:]
M!O@""+G%[2!2BF]$$5E <29-VLO5;"&7R&2)E.++:S(+*,ZFG4,A6R@G(M63
MG"72.ZNH@]QMH72=C+LA311_KT3Q @N'19HHOCT*2X"\+-P;::+X>VLGT8GB
M!1;^D#11?'N4D0!Y67A/MBA1O-Z:G!R]'5=+Y9>F(.U,4N-N)XJWO]\8HB1G
M:AW2G<$$_:DC*R](KW__:7_?T6UMG";VAXJ&WDYX8+^D:"PW=*IEK+[,@;!2
M--$8@[08&289Z-$>F8H&8B3+O<H<P"!K$M<Q9$FQ.$OG.K;,,3F04B+7DS79
M$%5UC!F3--G2P@_@31(HYZ9B[G,W\!ZP=@!RS+U5- O^:W*P#Q$3=T6M@SF\
M!KQJ*'>P?Y_],E5':<:]]I5.GU-,7 V^A+?"]L0>:7OQO_]3X?/E;[ 8$7P#
MDO8+6\"=B0-D/_OQ@3CFVG('  =IA5#"FQ1,.U4T\N/NR!H9<D:$K<*;)!GV
M,  D2/ E&!>]/@I3=#P;9+@)O@+0Q;T:BB7OZ=TNUU< *\8XRYFP!Z6K=#CJ
MI89_N4],OUATC@?=%L Q% T+MD?(XF#9W>!0-.'^&,GP<Q4QQOWEHJ-CWP@C
ML%40;O/O+(<;F0%Y:,@OHJ)BIC2@0M,' ";9L2;!ZP@/:(!X^+6YG[D-AU8T
M9+)MX H.-RYVX96<(0]E$4DGPA>#(?P..84^SW7A[N'\F^+ZX@ML1(8E1IHY
MZG2 =-V1NO^!1 /KHH%"*7KRDR-H+W1+-L]T43-KFM2 4ZUA\K0G?:-J!\*G
M/RV]:FMR_W92N)7O#UY.JSMSU]*[RF5OP]T7/3ZF)T_<,H--%@XD?0N$C'^2
MM;/:CZ>#PF]K83$!HH8@D N][#]G"<'VINEY6<\U7P+X#7^OFE:C<R#T$\N'
M)+-%MC</+%!, 19, 0["O:6U7PYZU_<77=:(.813@CY?KI#WD)-<\ACOD_#.
M2?4.ZK$!BE9+.;7=KP.Q=GU1GRAO/UN3WKCT4[EO/O2?U203OX1<2 @]@I94
MWH0([,C<B"68(B:55\C4B+NDL$K6101-IUT -?.R&^G781)?@I->6"[/9:U0
M4TK@4 (7]_+\'GIBIPC,))R4*V7+R\UX8!59.O!+,,=J;.C&H3YJ6V [S"*H
M/C(,D+8MY<(1;)+2&IB>;'M\:3S]$ KMV^I3<CWI(UCS#"R>KYR[$23-M-6[
MPV'5OQ:P\C+4BR_!BDPB2\#>S**E?Z<TC*9AJ) J,@D?92MY9EDM?\\12:6Y
M2M6%;+D2Z,95K2Q/_-SJ!G]1O)9K)W(BJM6\D/8*>C23Z,D"[7CU@,J"A5>\
M8ST:+B&'F+1"X\O9T@J]'.T02BPTKVQ1I9P04YHQZ9J6X[/5%>39JIRP7'RM
MTIITY)^&?BX?GSPE&U]+VA&V"2=N48CH_%+OBUI/-D^U>!?KW$XPY;!.,&N]
MH#7)/?[FI;$BC65Y=QR[?3G3H=MV@CQBM+Y-/L'?F,&YN(X/B[BOLAC_^,C^
MWZ/6I/IX\<M\-:3"92S_;]W#\;0]X[!7ZAO>+=_P46B;D*O;Z_M?!X)ZU*ZR
M=H9ZK16H*Y3V5Y@>1\W4@;QP+-Z2'H:FD[CZ^^JQ>V<9OYN^RS !=REAK ,[
M#BQ:7%L&::)A6!>#O,">^DQ[BB0+Q5;S:"5D0C+Q<\4R(=>K_BKZV.W*T%\4
M$]X1@@N'M8Y^&J_E>O/0*+>3\U9]^>Z"8D;[I-YEALP\'*V6RUABTG._LNZP
MQ%#NJ"TMC.XQ%>6RVS5;RH7G[YP<7BK%U[,KZ>J7\$ZI].3V.92Q/)&P%2:<
MN'DS<)UJLH5B"QM2PBI<AYSXSI@3)52!,*/GL_O17-*NR.=,:IBS.8'9Q)AY
M7C5A]6OXR)&50KO0$$OFXTMGE:AES.I6VPWBNX8Q3R[R DX=*\GY_DM,/"TK
M^?Z9^5GF.UJ*(,E?'O3SJC'^?=O?&1M\UQ.9G5S[#.;56_3N.E/$MJ(JEH(*
M49K._![ NV01*5D,V6[YBVDAH\%():FHBD9T"31S39MVLFA@3N_0T+N*9?IS
M9TTPVJV^+[G9ZH-$]_)4#;F#(E+B1),S08"87'M$O\]HND5_ VRA8L:P/T<:
MWXHILQT58%6Z"EV!*CG6/G>J<2A04-1D.9$;ZH:3J^ME,)O.P@@NW&*BHG%=
MY8WL0^G(WA8R!&:2H M[Z<NJA,V.IQ)OX=TB[ 77P%;=L+JBPB==^%/E>KHN
MT7R:H>6 T-$'0U6VL*FR_HC)O+ [_XJ(#4LQNU1<[G,N:53OF#B9E+BF*+V0
MZW(HCFFR-B((]P="E?B0Y#?,!L:?4K*Y5,0?2G)7)G_8G9UIGK./_ -_4I L
M9:86I'1#2O8TDI[NI_]TEKI++G,=B%U"9S-AT/M^P(&M1?+G[3_=W&[$M9L7
M;RD#V\B?VLHTYCG1DU7.[C@?-3+((+X$=Y+%[_QPKSW><Q\BV?NHV! @J'(C
MBYT^(AP9%4"AN@[%G1]^'R.'P< I)I"&M(<GF>^J#E<J0C3]([I]FR9N)CPF
MJ<N:*=,$=U2]R7%W\N+-O@S;_TBYY*R ?_]Q$/ET' 3#<1#YSSX.(CF&WD8(
M-Q&A+ G!,I.P<E.B#=<TR5&%QW,#DG6?1;_":JU)[>=1>?Q8OE35WLY8/AA]
MI(*K+8/-Z\VD<)0J77-JU= !U@E<WG_Y[L&_/\J@BE)K4KS[>9L3[\S[WE.L
MV**#EBC[ZQ-$$:N[&47,^6*'8J$Q'EI2I_R'>3?]W:LPR?DJ3.KWS;.)=9>K
M'3"?TO&.%2:10MZ?$^E5FUS4SVJ3SLEA:_+:.#G7[[N_)LW^QJM-/*^"(X.)
MP<%_<TRTK8^HQD#[$BY5%G%4.)=E8><:"V\4^:%![!*+P>\\GZWR2]5JK!G%
MGH>""UWKS#WY8JEOG8OGN?,D@]M1)]SGN7C7&'<\#,8_Q *+?/H\GRW&:!.Y
M""F[AM#0@RDP":66LGQNL51<X30NNH1="RNB-LH[CT-EU! ;G=Z3R6\D;<!W
M-OT>P(@K."%>6A"LCX/1)<XFBYAEGJ]D"[G%G?#F%"?M&"[#CR6+#LC5<K9:
M7EQRL5PV0SGNB?1?D%&'LOER]'A_]M0IYADV[8Z9P#/W>(;<GQ\O5R<F^9:0
M "QJKO/%Q2K>)ZA7G'(![9ER9T]YV^LKDB3#;^ H\LI;VU !YY4OW_=<QTXR
M37!YKP #E7^;;7QN*^K,FBH+] YY[N+JK3&\NS#U5:J25[EY+_S^1^=XCQ<Z
M0N:RPFI92/%2C"+.*2FIF8?P^">SO%IFJ E0PF?!(UH!?:^\>)A$+)3-G-$/
M2I;0:[Z\FCD30992-5LI+>Y2N0Q9EBN>J[8FE^+=M6F<\$]/RLY$-M8)0X6U
MO:=L07G!:80>': J%]@'J')K!JCZ[M,-43%(@/M@[&FSF$H2G,<RN^G6Q+BM
M/!X4K]_Z]1TKLIN*9@4C69AM8@>_:*X'!L!\D;&/7$S'MR8_+YX&-X7S,W4H
MI &OQ )>FQZA3:-:YNVP-##/GA^*:52KZ(MJU9HEY>[L\D?S@'E#N0U'M?QE
M.+<:3</T\M3-D&!6_;Y>.YZ43D]:DW*[_?33/# &_"H56^M&LQQP/8'L=4J#
MT]C#]E%;'U6)QOD2RCP+YU I6XDQ..<C!+*61'FXHLYB/I60+5465QRM%[ZJ
M3FM^)NB;Y#7.-:P;'AJNG:SIB./^J](?:$<OYT:NE/!(/1>277;8+/*UQ:/%
M$F* 24"[G"T(RP^>^9P#M-8C8KA@81$8!]6A5&16R[A0QAS%L2Y)-\>P?F%^
M 7-^>?_P])(;OU8WXAF,ZK]*9F(%S+R/S,2+*19?"E581.2+A6P^AD,QE4+K
M$3!4 E589 # $<SSFYO*=[AJ;MYD=-MN6+D[Y237W7C$D;9(#104?3XV725Y
MK\(BMR!F\EXJ99BG_U586*PQT_\8!CU73@2<'(Y_G2G]D].+DU7$#,-YGT'W
M*TEPR"^5X+#+4^98YQ]6F&0XQ,L_7'-88-J>(X%TR0H+FSMFNN3[-$ MMB8_
MGJZ>&^URD1>>=B9LETP,UQ>H6AS(K>;8!W)CF=I)!')G=MZ:'.F71S>\FK\K
M[E;18D0TUY_VMTTAW23#MT)K\CP9=\0_UG7^1DG#M[L?OBW[PK<_^-Y9^8=Z
MKQ0>T_!MP1>^?7EXNW\\_/U0OBSL>/C6EXEY8#=L.=6.2+N6RVX=F[4$8CEG
MD_/?[=;D2JF*%Y;P.L(JN(U';@^B>\ML;?209/E%X#B^O5!EX5RKY+,%GF'@
M\"-@.U0[K[*85%&J9,LQM//UPK25Z5ZY/= ]S"N['1.8)J"%U'HX4M@ZU5[@
M,]T8-W3C3-=Z-[+ASDLW+PWRK#B(./5Z]>U'^T3]I4\V7UY1HTVF3#HK=VK$
M,DX-ICVXO%R.CQMO84'>)00."T];L9S-\WSJ*'U?^H:+.!:)*(5JEB\O3A1G
MY4D5XI:,!>/$MAC[47MY'E4DK=DL;E&86/5;01^4M^=2:PFAQ,1KQE>RQ6*:
MJI(4Y<+%#8OTE)AUJ*S$S:+BA]F:<3=L8XQ?FGF]T7T=K5(DGD:'&?'GDN'A
M//QG@Z7GJ8!A7>\.!&1A)V]8SARL4@GOBIJ"_&-T,+[)%WP=Q-XW0CQ3!_^Y
MP\1K5,(#/S/IA;%")7P:)%Z]F![(5HI?3+^9<"S?FORVVC7EUVOC]&1GPFX[
MW8O_<&0 G3,D!-@W9)G$O!8-4?2U]?;W8__/= 2N&K]]RC7MJ'[MKF5?'!T2
M[RE.C[(3KF]_'?5^OVI'O2^<I5B(@Z;=4)V.#L 6_B&"?BW!. -BU#2?XE20
M/2 IF634Y+*%?)B'G# @(> ,)6)[)>93(C!4\%4<]R?%7.GI4=E&2LR;JP2T
M8&'MY85LI13F/Z>T\+7Z=_&!DRM"&_L#%GZ(VD@TQES>.6F&;.+P .5%5L?[
M'#VLW!*'M1C_L,:V).>Q2-$]K$7*(N:OUY.;FCC\I76VCD6*[F$MAC%(GH6=
M5<@*^;!<_SEGM<2&$/EI0MSI+W 'W/?O+'$;"9&?1P@6D2Z4FB%E0YQ-"N>D
M9F*<5&[FI!8#)W5'E8&=UF3^;7^_E@>B@H-4,U>R03@&!RI<MN&=(IE>F$Y\
M>A_@:W"[=>=ID7TQ1!#Z"U]<06)3V$=@C[[4XU#2!%M=(8*O6)P8E5[A^+;1
M=@6?NPQ.P'$917<76B3S8D$3WX#.QXYCEEP!)\PD3O"Y_3 3FMXT TPWH!-]
MC 6;!SJ^]A4Z)\@_]@#DH&;:Z*"CJW#NIV(,,L1R->$=VLB<'=-$8N(*O&-(
M'@7!BA-_]KE%1# Y>^8(;%1^DXV.8OK[(>A#&]@7V6B+*F8^#A0R<!0^.\.X
MI$$R;TZ!!G1"$XXMA7_#&= 0 I..GQKJ^+TBJIR]C1%H40:9GM2A'R&(8@_T
M+;+X]*0I.MS)Q%VY6\[,LX-BL0Y\B#E73K6Z(K6D86MT-3)D/V<_-TI/[<;C
MG752=3G[*A25642QO2(3WO8 7(++XQH_IQ<-E\WW>!^?(P+P)H]D\_\&-&ZB
M+>M ),6TYC$:#EPCB;"H5(]ET0#>@)7H,9B12_R:<HGDZ;5,P]K;:UK B,A6
M34"G:"@Z35"FW]D?-73@+-&TG-3DLXN?C=[%KT%^7-@*@48\W AR*QSB !?$
M-KOFR#J^4MJ/UJH=68>)SM[P-9UKRWZQ)'F>#Z0X&D^(/W^.HWU1S3# T7H,
M(*S) (UNKO!ZQ>>M46D+&$!8D@'XV&;5' 8H\,)^M O$80#)LY?GD5C(AAMB
MC?7(7%Z3S ?/C:.WMO%Z8"E;0.;RLF2.;;3-.^>Y2HQSOH#,&9O,Y=0LV\:A
M@GPZ5)#A4$$^'2KXV8<*!B-L;(<,@F0O!4O_P,02M9X"/$4+IPX5LZ/J)FCK
M$:5^.?]0P1A/MR;Y.^GBIG3T\[')K$R3L?/I NS(C+#/!<K0^$9K<LM?G?Y1
M+WX=F<*7[]YV_65FQ[HNO<)]YI(R=52]DQ/Q7\5'(GMR/)RIE"3O!+R/&'9/
M8GOT-'>NP))[AZ*$[IB19HTY.(,*EF& [5[KH,.)5F7\=7%9<^9/_^UXM\A8
M=[RUNW!O6V2HM3E"=Y5N<.)P:.@O=-2\-.K89]2 VU0Q9"D#MB3@XDFVN/[(
M *$J:O*>(>.,=%&SN!X6&F/U5T/5#442<4R\LP73[:NLFKJ[$=1<%?]O.O1%
M?LV6?&8JSEANC+HH6.<KJIEC\L+FV 03P^3.SNK[JY6&Q[X RL$+P"FBO>PV
MP*RPY#.<WAZ4ZW-KO_VVU@JKM2;M6G4B7A1^3C#0N".L':Q8KK0FU=R3V'S^
M-5!/'Q=5+*-+G2)HCV"(F[E9L@"+]2FJEBO;5;6<CV]\+%F3S*P<V9?EN04(
MXUGCZSBL0?)VE&VSW2C<<_M<;: ;UOYGV"X1:)OC_K4*Q(MA!>(>%O$OVVR^
M,5")06,^V1IQU[=9\2>$S;EER3'R$KF]X%,KSM,'XW/Q43=\G5?<I\B.R88=
M=^>E<76FW>=^\F]%U]VYZ'HCX'T)(F&EQMF+D# OSN5LJQ7<54!O8I)Q5F8X
M%#9Q-CN*QV8@Q$:#$4F\(:),F=C^=/\LO229+V_6!KFK&_4'SN:SF<\'%.>'
M*BZ_+1A(MSPZ&+!@@45.VYJ=]&>&8"7$>_5XO <WRF8$7/NH?7N?OY(/%$_
M^62::,LT3;82EV@7\MSRCKC,Q"0O3UC<"GF5]A/)%S3Z[N^FWK5>T:& ;@)5
M 67%]&[RM4:T>NQ<>9\;V^G XVR1]%^C&W2%9^G2ZI\^C+J]56_NS=[6=M^[
MR!T%N)Q%DXE\*9LO+6XRL8@=&+%2=9MNY1@,5NGJ5KXX:K\^%N/?SN]^(R_)
M9BQ*0ZK9?'D5+F,S3MICL/)[7+TQ&.GX1I-_/U\,I%,U[A6\R6MW28YA84Z4
MLM7*8H,BN5MWG=I>WP5,'?]A?G]T^-M>?$ )#A.ESGS=ZLL&>MUE594[UDA4
M\6=# 'S\/H<AJ8N;HN:RZT/,%<7'(44'L-FI#PU7-A:<,Z.HG9L?%>WTHJ?L
MTNV^WK:G3UJ1A=4D9'EAW9/&C">+VZ@!K,VI\.!+97SXX[:P>VH"4WYE89CQ
MPN*F6<EK$KGWU"369<B[D^%#OVJ\MBO=+58WF'(>FVF-U>KBSB9;Y F8BCR$
M:"=NUY$#>)>J]]Z]3\[2IF!2RHF#&1LQKB0_+KV=G_85Z;ZPHL[!O 40"YTD
M=+>! \3"#!1BQ AVJ[&3Q["U;=1<(MC8&A<GU8>'OMH1XBLD*W#NNR@L<9B9
MR;S'Q>&&F+P\$WAX1S8^?$^])H)=M3-='4BRW!/+<=6538K9F.I,#+XL,;'G
M"HG,<$S6F1+1URDL)0$;P+Y[&S1VX8_)U:_#ZP.CV.D-'UGJ%&LV8UM'K0@P
M-1.CCP?&6;X9]I*-V-Z1C0X241\F?4MX:';.KGH%><V;?B$_;?2R#[ 8"^NN
MFBV6E[_2(SELX:6^0>;*KW6I3QYOKY]N;X97/2%V=&+#(FG!%1S@%D;C \OE
MA,8'SC8GW)FBB+"*CG1D5%+)U\&"<=8CCV(B+;IR=+=R>-/<[(^YW9W/S4XH
MCLPPSS'2GU!:V3RB8^/>.5)RJE_>]J[^' GM]LXD?]N]W9,(HY289(K#,6"9
M7+D91H[I&(MMH&T'>[_]*5\4'GX\C/H[EEZ>(),+++QPU6REO.:TP"3RT2/9
M.Z;_8<9$W HV+IT^/.J%@\+5KZ=MS6!/DE]9.-B*V4)E<6Q[Z83W>/WUZZW)
M9?.FW1L8YS=Y86?*I'>Z?0$.Y::Z+LAY$319['\C^L0N=O)2=) 19K#_F#_4
M6;-; LPY$O?V6VKT);>FW!VI9TI7;DG6[_ &[B_-R>O!CQ_U\V?)/=#W,8#]
M\IU;L:N [P#A:(JOTLC GEV!DS;386:=[7_YSN_G^.#!<!H_DVZ/:6>P71H]
M,<60V.!1,\F'(\UN]#C3R<^?[NA7>2Z[02Z:-WCB.']XURB<'+1?*IX6%P++
MHFMM/@2KS)40F&2-%,/\K',:U1^MAM6 #.I>R)=GD[/.<:_S#EB=/R-"8#(1
ML!39KW:Z;3QM0_DJNAUN)+LQ+3DC/5D#P::2WXC2  2A:1E3&")-9_21 >\7
M1Y*"AZ&NPR'23/HOXLTA]H;;CA(]'9<@TVD?W'VNJ<!9%@V$10H,F\C$'3:Q
MH>,Y,VJB?G=R\'MLG/#E_*89:<$DB3*321+%L+CLG.-96 VK@;D1S[S\^J+4
M+J],]1VP.F\L1)F%/BY4(MO(?MR9#JP;0I5G]#6G1Y$^KX538V2-#-G/&$>4
ME^9VBJJ$=(IB\9K61'IJ'!W)>GOX4-T9VPC-"QE6'1"Y+O9ZAMR#?X8+86QM
M)HN=/DI]E-1=0!=GCL VEDG'7*(+@QG/S0YK4,CG75U5]5?SZXZ>A6"_K49K
M<GC[]M0XT9ZT2X_F"_MM<1$^:8ZRVI0[C[.9[5.TX5HA$LPX!O4[HL_WRJF?
M_G"9.PZU6O4IL*;Z]GQYW[NK=$NKYDO_&SIS-6;A8(ADH_V] 9_80@^O/D2+
MYU <B(VST]K%I-ROM2;JX?//4_.YV,5Q>LD%W"K!@)O3\S@D]S"LQQG3)B$)
M.R?C4B1^+DV922Y-MIP/FU6W?K,-%CQ[ 2^[>975%_F<&!@1[-KM5"^4[DE[
M=-19@5UCE/;,YTN!27U; L5>,3"Z!+LQ2=S/YJJ+,[=6X+&X[2MF,8*'[N95
MCV"M<>/QZ>R@?'C;[R<^I7H^EY5WB,MLG,9GK@H+:YC/5DN+I]>OP%PQ<SBC
M$(&>D@CV.KI5N[KU_$=3A?>07)5=XRE$Y1)<Q23]/2OD&5:>>ES%K\55#7T4
MI;W]^*F4C\2R^#14WEEF57>,OQ"I2[ 7DRY0V4)QE:+Z..SEQ/B70T2M"Q1=
MP&+C;N.YV-$/;JX>-R.W%I53W_1E0Q81\G<OZ&-=!G=S?-9<DI>G2+@$0[.Q
M*'+%Q;?P>E5P'I?'[%E+<F=N7%:V?*Q\W?W9/1S>ZAUCX\)R5RKN=J"PI,(D
M.W*CA27SLG+RK4FN=MOKWS3/"\>[,[Q@IW,/Z)P7;^A..M[E/0,8U%_=EE7]
M%9/G7Q0)AZ"089U:1U$5T9EZ@D&+M@Q0DA&(&/6T7;UM4:6I^O CAZKD>0.#
MU#AUV)O9ZTR"<1[BS+XL6U^3#9%5\\$0V<'(5#39- &JMJ*1+3;E'@;E:ZJJ
M=\@'L4>F++]8:\*/S/RQ5G_+'Q9W3>@$XCCEUN2X^.?>*%F_#K'5TN(XSLRX
MK:T(GX1,,9G:PS<N*6W%)54"W>:*U4HK+/&G8IY6?O\YETMCCV0A.L5B S&F
M^NA/IW3HWU*:MIXXN:]?_)&*]T_R93+>OZ@XB(OZ U>P.8)I;V94[4SEX=:%
M11S,SLO.#HA&)IZ;0K84HV'=>L&-4@@'.9FI-)OQBJ3'.BPUZ>7S)]6\=9-[
M2L9RMGDGHOK/-R.,HS/":MX0L0]G.@<9,(PPJV4!5EGX?H2LD&?6R6BI$(DG
MZXX<QGRVVD]O1T_#ZBN?N"$<R:.V*7LTI<%Q1#O+?^.6&GBURU;Q7($9SH\L
M7#> VGQY<31X _9OK349-,_'-\U:51SW=DT5W>CHW6IU)M%N-!RJBFPT0.N'
MXW-EZ#U#'$28#%.)M@N>;$WTYY?*G]^YIZ>G\LX0Q9G#6YZ=PYMO30ZNKFZN
M#CI=2<V#.6#OG[,1P-D82"?P+@V\_2'FM^#BN?V2HC'U$<@=32=C5;.94ZVS
MS_5%$TX)2A<%C'<)KI8QR6:W9&-@8HJY:1/7)#F/:/P/1T8''B.U_3T0N;1Z
MWY2-%YP8ZPR%U5"LJNJ8,T2MA[X&ZU66-;B'R*^%'">)8W,?@"!KTE_#N1X9
M=.&V;89G?0 ,Q+$S.993%?A?2;'&9#G8NMB3,6D>KM=>'_Y7,7 O< \C1"27
M7GI!WO1V""]1M!<=8=[/W'A.#4XDF9F<8IF^=^,2^I!<.H 4>PU2)F OC.OA
M*:%+<M((_BM:/IA$"M4>0C7FNO91L9TT!J<;&6Q]8 QD21&-<984+#CX'NH4
M*P0TO.-]@.F<WK9$A>+1&:SKX6>?:U"ZF>Y*4T@=&O -$ESG9IB#5BS,!9KS
M TUA?NWK WP4_U2!IJ(!W^@CRTZ4=9= $4$]3P[_(0+%GB&3@@H7<QG*4'2T
M+R487;D-RXB*Q+7'RT.JX[>^#7/N:8"[I:O@[Z;>F(%O7N"L2OO<)3[J\X(Y
M3YC3(.(0(_)$=GGHX O,)#9]3$ Y#@<FXY\._?:YYJAM M'A.RPUF=D1/!>
M"X\Q/;;P#^?4<O:ZRT"9,66L]95= GA 73E2A(@G28?S;0$R8&==@S '\C/&
M,!0B(@C-)6^SSD)9S)0V+9*0;3.XMPVXR'4<(1UX.?>7LB_O1\B;OP$TD# C
MD3+\U',!SK3%AD-CY S<1!L7=4\9B@)5EGI8TC-V!U(#S'(';"7 H89G3W=0
MR.&O>B,11*(ERQ2"^/C>9-U$TO?03CO::V9F-JV?7! @Q7JT  P%'@XQ)Q:9
M(=/F% M8;GYIE[^=AZU@7:-59%YZ;ZV/# ,(MK#1+;P53MZI9H)B3%S;TV-_
M0O59IW5!IUVN#D_,9O/8FV)BOQ=N';&MJ K>NHN,M05;B#7=9PZ<4]I^/L<D
M42Z?S57"[#Q:.>;&2/ .F<5'-D/$VPQ9A:G2] XR@ GB$\V]FB;!)V"Z2&?>
M.IL@\620'Q7D0>6VYG6GH(-U11M"O%>(;Y_44%(@W>+)A05L\;?)F V8^$=S
M6:$<YA^E;-#!RU?I*I01K/A8"R\]]"=17F*#K,VR@K?.-95A5WA5 2]H)MVW
M>3#V?Q,8W>G_RF&NPUI''=XWK5N^Y#+7X8C<AHZ<M!7W17P4@8]U><:=V3D+
M?8"=6'@SBZ&^S#!>DD*1M,_52*S6B6]DG/C&-E])(3UXUI%7?Y3[8EW\4Q2O
MA4U?28$N.4O((C998Y70'M-NU>W\*XEHW)GYW0A6O9(8D_BI\OSR4SRR+G/]
M;;R25F<#)AE8V4(A6C%A?",5EKV1V')" C=2P]+DRLMY4U4W>2,MP3*Q;Z0\
M"SVWE(\LY(]W(^VH69>D3<K4,Q],KY+?2(^3[__^O[T]KJ'(JO25NQ)[\C=8
M CU#'7RT\(V[$]41_)/G]O;LJ)ZDO#@@4;#=Z)1 WK14_LZB^//BK)U\#E,Z
M9C<<70-MZ<.P$-J"3&+?Z[Y,8<W!US?N9CR$]]<,.,J=;QP.;J<XO= 1>_F"
M_ZE_G,?P*R]NYP3M_OT'T#R+\+8ABT][;1G.*ZP])/2RB0"[<B@PG*:/G>#L
ML.IP:G$_2 @K!<?'(#O!T-L(X3M$*//Y0C!">2BWK4/%[*BZ.3*BDAFG$A8B
MG@"-N2!>7+_T#?/'[C3H<"*2E=F(9+4UZ;[VSZ],_?SA9P';S+>MCQE]9,YE
MD0UG+KN(Q;EYLX<A#63"'FM-7DYS4K?T4A'OE)WA-\RG#B8Z2[ W[.#2@<\-
M!;N!.0U@=#LT]U$ZNARU)D:^=_HPJM]=/#S&R00^T[4>=R,; \Y__-(N+=LR
M>L++(J[[<H>M7*%Q?O$SG[O)LYYBX$1(_FT;_WR/E7WV/K,;/,046JZ].JDK
M9]?BO75S,"JS1LQ4.QT'.:Q'H817^YTI&HCHNB%+BN6O4CT\K=<F?&G8FI0.
M7P\/KOC#,Z&=9/:V$#XVXEI^T=47]%"JF/^!XK5#@-WZ=&T_9F-G(.;S+-R
MI=SB?-CW&4ZP812'9<7G\Q462<>YQ8. UTN)+TY5GJ,/Z$P631GOTO"#>MS[
M4=/R]8>.5$HF)YX"[B3UJ0C-NW0F<$JYIW 2_XCQ.0;TKRPF_Z)];RG.0L\,
MS\*1"$<OB18-1S,.:% \4>_$+<YXH/TGYO+/>/"JMNO/+\DGZ]/-$/C<V(M$
M].)DN<&O;V-?^#WE;:^O2)(,OP'\\<I;VU"!P& E[[E:]!8S\K1K?9;22_!T
MD<D,[<69_JM5U+G1#UE3=*.)&62R1.\ZV $&%,;A7/W0N3KYH;ST+H2$^KC1
M/5"X.!LPCD+&.:"]GY";@Z\E[@B!B;S+97,Q](2M.E\KX3#\?#&):#/!X4(S
MZ%#NR@;N53<M+VKIGW@U,'WWQL/OVW'AI3EZJ6[DWHBP8\]DT_S*.: #74R2
MQ4Y3-N#7.UR(N& $5QBYECC<C&+LI>6+O"*J#A>.6OX$I J5(046NGH^6ZXL
M/WE]/JE")4HA$&KQ$AKJ6/0 J]=(^M14$R5/K!3?CDM/PW[Y=5)([N*.D"6D
M1=)4=M@(>^JBS].@)2:P ZS<(74N.\RNB[@UFFKQ!4R!9\&UN6J6YQ?W3%RA
ML#DE7)2X89$0C(0KQ/# L:I(]Y>>SC5])^/!\&?_J'1F7*[2;Y"QWN(D9 ZQ
M[QYM0J0"]'M8X$+C:MX08,=@=J71QY5 <4W:<,'#(@.Y5$F$=S\QK<)E#1,3
M,YM+AEH+.SC[]WZA:YT98?-Z^_)8?_A]=]M.U UQ-B4S%H8$YS+:@G!=1 AC
MP5-+<Y*'S24./HN81CY7R0JAL["6VO"\(_@!Z1%^N)F8F$ /GE_L^UB:'LMU
M$2FU)L==L5BKWK\T\J6=2=?Y>+T:YN0?#0W@)P.6G<Y$$KGY7EI:8@U<2JN3
M%8W#S&W,/A!P9.)4A9#31DCOSE:(\',R"L**T*9=BH%L_VC?HY.@7]:-ETJN
M=-C_Y=7WX&N][  L!Z?N2D91>C<M?Q%TTW*@&#=NEHOO^+0'$X;-$B-5&\@"
M \6R2->'*:3 OV9(5XL@G;LK\4T9C 8'CN9=%S&%RHD]")J0!(%/QX]2]:[2
M?QYV%Q$X"^Q+(/2Y*CHVC,L0?]%^DV".V-:FX%X2P@R?1,] Y4#.J/#W/N?N
MQG'K8(IB )%<&P=\D08#L@G&%_PG8Z T )PW+QO7W% =8>]8<VC((I$N\^K$
MINWQ ]%4S"9Y\%*[ T&%]\XU+)YO#16I)0U;HRO 6>@86V9,5;FY?JX]=_^(
MHC>2^Y#(3Q=.$'( J+M%#7M4$%@YQ,1R/HCH/<_KE;<^4\4U 4\O&BY7[?$^
MMD)* %_M1S/6?[.(J.CVOYIL@=9A#SDG$W#W.>RH(W>[=.BGQV:$PV@G(4RC
MG6;)#)W6BT=:<J(<BHGM.N >PG"'B7??LA+MU'XWTF*ZM^3&6/'US_#V7BG+
MOQ]Z4?)M"D.K"+*H;2;+?7%C?@NX3]@O1Y9!__>]&Y^$V:NOU%[=K63_XFS3
M.S=K_YPJA8H,-YW?&II; ' 06@ 0;ZG6)-?4+/'QU+I]$W;&RO#VEEG.@1FA
MP!GR!YP&6VE-NJ>Y8<]H6OJ/6+4#'EJYM)(@#%W)-2P/+SY@U*_<7VG0$^Y[
MY>+5<;?GU0"%.&J8=2G/17@O/5Z[EIU&?I?=*[@Q.\I05!=.?#V[.9R4E-?6
MY/?CN7AU>9@S<YOM<^Y0S#]$<WMSMM?$?'R?:(E)\7L,]_IZ>=X'J['EJ39O
MK*O+DT<_KA7AK'-6O%Z%)V./&-N"V9IKX6X)KF(2(DXNJZT4P4Y3.2<N>]S_
MOB^=2\5SWMS\D,- B_'0(5TQ2KJ8="A?+=*P_L)+<_82C,IDKB(PZBKQ8+N9
M><*1"1X8N&F>&V=GQ1^W^9VQ&7:ZV658%$+51<WD^N*+[,024'''=#%TW9 6
MK_-:A4W[S6S9/3Y$OP78KH9"VBR'.F0FU:.S\:MZ?%P]S'N.%(#&BVD,B=,#
MV-U=Z<NJO1FF3E<YK!O#PEU\^6X2OYC*O<KR$VFSRW-C4&O,&4;__^Q]:W/:
MR/+W>WT*/3F[IW:K9!_$G<W^M\KQ)7'6M\1.G.2-2Z !9 N)Z&*,/_W3W3.Z
M@0 ! H/#BW/6L4&:Z>GIZZ^[.7OLRY>^,Q(70^*"Z %/4>9W"[OOB&A;(FPD
M90C2WHHG'/ 'Q*-&9%",Q\2(\-=GWI?>T?67?JN6"*8J,Y:4)88Z94ESB+^L
M&=@9D:C*?JKXXY&H-"?^-;4[6G5/D^K8[+8C>/*CAC'BZ"ZY!Y;^@>DH3 XP
M?$PW8';CDW<)3E_\L7?/_8.">_5%/SVHZUNC9(+N*(WQ[BB'=\\/#X7^UZKZ
M_NACY<T_@@BRH )OH7^B&0[O$"6?,PT)(I"_K[&+RM8L'DY5G)84G-::C^+%
M@M^O,\S/,S,29M%^^IH#F@X';X+VC.N4(FI5F=PGZGR/8SB$&9%,I+D#K4]B
M&14561==[$8O.N4G4FZFW_)\ ?47#?MPF( -UD8<]8%Q[-'DG2ZRPI1$%B_#
M1-SH2+TB"A)L.^N[M &WJYDF-Q.#H1OX*%=F6JL;;%^1$+[ J(!)/M><5E>!
MY^'C2OLRIY8\3JVQ:7Z3*8;]U>#H14B^A3WYK3V=F; SG /!9WJ$-)02-$Q0
M34P@8$^M+HTT(;H&<P9X6M3$H:' *5?,M4FJXJ^_[%_#3C#@ZPCK+CPP#/^#
MI0K+HP:*V*95<[OP6GL@T2I<V37$N(DA?;H+II(Y3&16X6C:+O,\0D+0TL*U
MAD^#5WF>8S1]'N"&32)9X,_XVK/3=Y>?:;DC.X#+8?<,6IO$TZ\TKD.T!\7^
MLFZ?+\-\\>D$KU5.K6%7MTSBG8))&G#NC_$H^B%@&SR2;8 , ']S^8"*R%5Q
M#/>!\OK1%W$V3MAN&!PSFX]+Y*@E^BJUEG;X^(O N92F/]#B4S9B3X/?Z@QS
M< 9-_(S6NB_?,OJTZTY^'7\/"#>4"N [D@L!-TX:=.%6]\@2"D10C Q1V27)
MY-#$3%TCSD=A^#W-$X\RG-C7XUL)X ]T<6U+ZI)$!;DP8"!*-5=\.: 1/7"M
M#5=WUVP)U<^"\3UG!OCSL@Z^AXV#1;F&41!>0V9 D2NU4G($#?A-I/OP=X&/
M+*.3+%_'S0 >?^%O4&4*=W,HET Y>;9$\*X2_YL;_R/7_*A,3&[^!VH_SN(.
MI6EBP#+V9+A<^]A@1)"R?"MW[0$J8$5,?7I"="+KR!T;9_? "J5I,)[(?3O!
M;XX&*1(!BE*A6HRWETYS_3[#)1]I!!U_)M(O:"_M.M[>WF?4HOP+].]SD"T]
M/VQ&?MQ@W<K)\=>^WXT%0X+7BMW.&0:9N.'4$$@)?6W8=M 8>L)N8/%WB;6/
MN.-9<QLSL6.-TN28"?#\M*D6&W?6'! :G/65_?-<[WQ_H'ZL&W_6\;6/G'5N
M.,$I\;%]^3/K:(X>:,Q((* @2?,U4.B!/<O%U4!#Z=(WM18?*H9R"O&^0%Z-
M:W<::4$(&S$]+/:*G1K<B/[-61N2EW<-R7-L2%[>-23_U1N2;[_ FSA8+^EY
MH1Y)B8.A6SE?L(<4#KFIB&!/.FU26O%,>HKA@.8^<CA.94*!S'*6RO,'[^O5
MB5$^[]X6TZP0/GDRN^'!5SRUQ&6ZM3%B6V3N_%297-A2V:_,+FP!C[X+/DPU
M84=DBXF.'6:\47ZPRV/-03N#TT?D(WE3B<OHA8DZJ$D5 TL>^'']N?5\>'.A
M?XKRK:'3Q_@JPX&C(O$:H\DL5IAKOQDK".;BF,SULM-*H=29I5#Q.6=IYF<X
MG?G"?N3CTQ!4R4?&SI =\,0P%#S&6Y-Z=+PD2UT=EUJUIT:G?&0DZZ'B1.'S
MWN9!**V1:VJ9$9Y3N*8\4\S$(_9TSLFPN!LR39B%(!Q %&[D01II0F@QB*D$
M<1T>$W(3,5=+#X.:Z%YZ0E-AIL!H@[UI>4&N!8B&2D^1=4.G"<4BE$L1(QVU
M=S W.A[%?5D8P]9[3R\:JQ<A;2^>H[,HR)VG:=3DI>5:&/T6HHYGEJ2D13:>
M;USTM2) FG@999QHT#B%Q>$C8O*[Q L)&=?P>$]8;S1Y&6LWA)_L8.@2OF7:
M2# K/X))!L4NX&T\D4=EV7W;PJPG5N:W6G[/Y[I(E AAX3[K,KC4E,:#?_/T
M"CTH-FB-LIE"Y8>9/1?D,2_WQDU'T]'Q*1*-3*=\*\\8Q.F3>(  RP$]^$\X
MTHT.'/BVQ6>Q>]%D/5DCJKKA8CBMN<K 32)Q@7?!F.:S)T%8/3-=$F_$E$NQ
M\#8;)>C#ZMOQ+>+D0I*;(N!,OCP]+&A8X'896?/CY5:2U]4\2A030X';;9K(
M2PERQXF-[1+$>RVX\+)'$'*Y1X%S!4\J3?,'A:&?8X\5AI9[+%AYNK?PCF_E
M&G=R9K<H/9 L.CV(J$B=D0_C-#P#Y@Y[)WQ0J[W.?:OVOAYJ_?C"PLTJX36;
MVBIVVJ:RU,QG7/B(XL\,PI_J8(R;B[+0#X&#\=K4Q3JJ2FOA""G>2SBL T5(
M&87XX$<N2P^%*/U V(:II:5JK"/V@D^\>QY^?+"[]:M!^ZBY4B#?6L[R9DSM
M+JN\!,0$"_'CZB:;G)5(SKK*A,+6%REJ7<LYC%:[JG?/%][C\.;[Y^Z)WLY2
M[1K#6N*_Q%$%K"QS7OXEREYYQ'LK)FA5,N<5,D^!"N-W//XRH=S(X0_*\IJL
MNWJYG<:&(X\5M<UY_G,O+KX0=P1WUQ68Z!C083NX*"%W7RT'I>QRK8S#P2[7
M?M.S^V TU=7*7K'P5YX<DB^]A ,ADP<A!R[$2CBZF/=91]HQ4U_3S.,"UWP9
M=@>ZF@-=_-ZGUFHLUO9BGJ^G$';.1V5EXKF9\P6WE/48\YK$%;-!8CK^KU4>
M_/(=$!;IA;)IO/(R5%B&O29TP1 N2RFM[T<D9_%?@<>5@M(]#.+%RS5N*:?V
M'DE.F]-2G8I<&\2$8<]Z)6/Q)8NU+9D?)Q%$A$:3A2%5 V1GADAJ<H:@:.?.
M';$@=GK9*?L7I>[#4(V2\'QPBCZ&O9AU0AFG6DRC7);PZBS*!.G629L>">WE
M,=*KJ%0+U57,IYUAT(5/S,;IF3Y525W>0:OE^-1^=\2Y74]?IM($5AO)3!0R
M7]&8D[YQMU70.K;$X+8>Z=;M^]K7^ZONY,L:.Z'LLS)KC?BLS-21F8NTA%J#
MV9-J_J?KJND!8_CK0'/TI<>PS/K\2TX-B939R5J5V4@FX\*VC@393P35\]5J
M3X\'/X[-;O_T7S6S5EO!_*9E-5UFLLVG\NIY=)$K*O5J;L,"%U)^>80N-OFR
M+L&74V89K%4MKN;>3]:/=?W+O_7:LWU_FK>"K)=F*LCE1A+EY<(MI!^+A6A@
MHIX:15CV-F1:5LH2TCV\U=_%- >PO)3.?+:/OA\<.Y^OGYO&-BJE$1V2RU@V
MI5PK;[T.692UI[A2Z^3O_-3,<5YJYEE[/FFTVC7CO-+)6X[75BG'L_5XK-\]
M?_M48-^^Z9='S\;VHW9>)PP9L4A,5 S$\)P!!#/ Y>:#">9M,3@T:0P]*J6A
M1PF#2I!?[4DA[/P83C-^'Z=B$D_IB8A,O&#>9?M&>UK&^)M9I?%@'E0&%VWO
M2RN:=760#3P<[7F6HIMSP[D5BM7S&)-7!L68=4X6!Z.-S$B+B4D.!Y\Q)FN#
M0@#/M?<G5K/7:]TVV>K88WW.>9(]&KET<)]@-PGVP(EIU*#';AE$,20+T"3J
M5)1:^9G.#^X7%QLXP#TYM>!?5&I#1()+<\S;9+UC%FL;7H)%1IK:WGSY]-#^
M]_C<+[92BCM=V7>Y[,.5&N%[.'I3H;7_T>1O^3/[R69?^K1"KLD-<QNY]$U7
M"H6)9[DBL/:VP:\;E<E#?5(O\GN0>2C=3ZWKH$X$!RZ(=E174:':)&AV.77J
M3T[O @WX[OOU<'AY,NRLML7W^D#;!(2F.BK"V8)H=JF34E"0Y,I_8#T2<__$
MDJ28>DKM,:8$G06Q$9C ;?-04*)@92* 6XJ>&A8*P4,#F\WK.BPH<4GI32FF
M3F+/Q5>/[&[</:L'Q^TO)Y7.I]MR%F3W>WZ:9]%IQG G(=_+L1N2;&RY WUO
M%NA;K:\."TVU?(=8T7@"XD$.NC)_QHIUO,Q=HY\E]K$FP-R<Q)Y!U^3 MPQD
M.PB+#-^+"DZZ9'_.MY E5ER<=\5!?'Y\S7*B_H[:]<5,^+7M*+<SD/]N.O_[
M9WQ7<^[D5?#IY[#L%6_WY>%I0*,,8-T78]78,K'8>(,Y<.%K\B+,M8C&J:Y0
MX>2+I]],L#F/7FW@3G,_V)%;*^>W\U_WLMR0\R,:XQYSBSQ/3EKF@F2G[1S
MC5_I&#;1P)A;5P>^^.9:$PNO,+^+L'5;W_05;HU&R-V>2"NKW0!K8A7[+.]T
MW8[!-I[!5E?9-59(,9WSPI*.64N>4N4Q@W;3P%OQ1<]XS-0ZNEQ7LR-&@AB+
M%_M,7]YH&5+6/>U.<\?:BZQFW<7:*86SLW%C08W2>(WM?'7):>CF6BK\(\AN
M7UK1[RY8@/70"P+N45ZHG^_,ZKD#2\^.&VI6O@]/2WW_JG0?X88FQ?.G!+%C
M^4PWU5J;$V@]@823,"?E9//@646O<Y!H!%211^%KK9[6:CAY*V=)@>59-QUX
MG(EURR'KEE^0=0_J5O?IPWFM_Z^^%M;]8Q6\6PYYM[QRWET,9(G=L.!WHTQ<
M*A<78.(_%^/?V9T> I,\/X1$J&L$ZHTTS66?\>%ZP%"/S/*C=GQKO[^%J!'F
M5(A5//V*3!?'^!Z>PBYMGB X#EHC7_'.R)NHK:Y/?O2+]8XQJ-0R7?G)V70Y
M/4LRO^JBWJ8K.8 7UG7%0AZH6Q5LNS10]KIO2W&MMV4S%&3GQP='[7VNOM?:
MO^AM69]V+19RPC779]?VS5M6M2T(Z.T'BFX?JM<UGGY-3&\: ^Z0KSODZ]8@
M"G?(UPW '>Z0KSODZP[YNF5@OAWR=3-VND.^;@%-K\%!V.%>7^$A;*)QL0-6
M[E"O6[#"K=$&.U#B#O6Z=83?,=@.];J5:+@=,7:HUU_G-']=8NQ0K\N@7M4-
MP!'UKFN/'^OG1]\<;9M1K^JZD$!Y]"U6R[,[WZ\>!U1:!O6J;@"HI_3]ZWG_
MK%[Y?F9L+>N60]9=/2PG#\!VM;$L*&<'>%W^ZC;6#'C=!$75.BQ<MYWK@6W_
MPH#7M:FY/+H0%Y7B0LCXO&]+;<V UTW0C5?MSE6GT]0?R]G,NM=W6]:H6=5\
M!B*I]5+N@-<9<P3.GZKMRU+S\L<'M@":;ZNAL;EV11UM7\R>J!__/W__O[T]
M^<1@IOZ7?*5UV%MXQ$\?6 N_6GG+1S[_)1?EO3TAW'3C,5@27W88 ZW2F^8"
M9LZ*T&:#8Z9M>++#[]G]M*C!5-MM!/T9IUI K[?RS; /[S]PM*;1>BM?@$SA
M-+VPD7IJ)?ZM_P5?PS]%=R.X&'__#\@\3O"FP[2'O2;#<,)?<I_.2QP"["HX
M@7[R?(BM(E;M)QX>7Q*NE2\GQB ;RM!KQZ3G>AN;-$]=HLLEGS/-]1TFIE U
M_]G23;U E0#]TK!TA@\O[%<,*^\"@4,.U"?(OH^% 8C%CU#Z?)@5.5^Q83UB
MQ@F(+AJD@LC_X 'HG+D>?)["?5Y7\T#YPO.8W :&D!^)(?!QH/Y!$!@N?%-J
M.R!*!K;S0&_O$;O@@Z*O[,NP6+EK@/_GM+I#N>\8M@-K>6:NF.'2]VD("UA'
MO#=XT[$U6#3XB::[+Y_A?V4U^)SF,/FG;Z-M!4]JP4/^\"U-1[HS_4^)MD=5
M$'!8#TQ0Q<!C0#D;4 5^%R-*\)+BY)?@4UP##DMSIE(67RT%K\8W\P<2-?&I
M=M-ESB.IH:!T@AX77]%0D9E!<S9TPP%;S1SR)X7_ C+9?J<KM@AZQW%LT$8$
MBN8E&:[?Q*/T@!',H81O:?NF"4SI]&A&1S>]2B0@1"E."-^*+5K\OJG1M!->
M,R(8\;__J1?5VEL7-^3W^KRTA&9+P,ERSF#2!-H!=>(<<S#*Q^&SXV0*?YFL
M9XF7LT1L9[C S;A_8&A=2JS?M <8KB"&XQODYP5?P:)E>C"8_L2?B<O0BZ3C
MBH9%O#[)F+<4;&F.0\5*6H]+0<'>HTPYH2B*SWZB8B>L%T&^I!_  @)7RQ25
M4X&$A?O'#+H(L5_VM2'^1J+1+_HCRE67.X+<9V(.\'>_[]A/X,AX3-1@Q=A(
MA_]QYH)?.52D IPXE-TN>&A[=&?AB[XC9-5-M#NZAR!Y4,R%SY. F?F;4!*8
M-E:0X3-TU@0Q X*[(\J^@/T-+GF98P%A\-O\!G%Q99K\.W /VJ;-HW<T:(M^
M&UXAGC?RDL.X7)3$A[9I]YJ&MKL<+W0Y(J:@>Q'5",8$LV:A:9V<I.88[@,7
M_N$I7U^>?.8G2Y<D9?(:\,$C\F?,9L27VKXCC<W8'%>>+E4;@J)VX'V:$,;%
MA(B5;VR9KCL\T^-5A_C>D&T5^AW9+$90'\0UW1-#>Z(C_1&Q_Y^TA$?-,4BO
MP5_E/R@"\R>N!:FS+U^BB81/@,M[#ZH7 SR@+%RAR3T-=0GJ?? 1N^(UB:<2
MO?BR'-8!>KGP9A 4FCET#=ITGX^H892&Q?>X?1Z=D5D0I['@:\ LKL>OOEB+
MP6\>?!##-U0.2GOED9:1RX@'+;X7[,"3M.0Z@_I0,#I<DFQICQ]_;/CIM@\B
MBO''*T! JER%K]@6VZ/*4/G+]9%\9H"API^\DPHOL/@#5XJ-KQ/%N:FZD:X:
MQC11%?0P5HCIOY;M"NM(MV7+]A*:+:;3Z#*[) !0 ^V%&F@?EL;D"["MI;I,
MVEE]*Q_1'VZ2UM785VG0(ACQK7 :I)!-.' MN%/P+<&)I,<YMP=,RG<3*"QN
M/DN<E?\8=(U6EVZVF7 &_GQ-?)KS<+"B6IHV'*SIQ>+4-RQ]VM?!A&E?Z5^^
M>U;?/;W_>M8M=FU]I>.[5EW/#SX2+"9T@T=\[#2S%C3IR(U89S7]B@=A.;?/
MK'MRU;QOM[,,PL(8%0\ $[D. W(=1.0Z0\OW!DF%S+2;?#6AI&#%<.?@D,MP
MT:.1E/]>G[3O^YVGFP_W>2.BPUH,*IW>7!QX1)@BY3O58DF]>QZ:FG90>+8N
M2T;^Y:HM2K_))34B3M[@\7!7A7<QN8Y7$6\B7D2\N71QH\&VSQ\ZIYI]]<U[
MK$27/T\LI+@>5;P=D>18 <!X;+)[\.EJ.K9X.BHJE6S3QN..*.=<X':%JE*J
MJC-SJ\O@H;>/WN4]M;A74D?H7<V%W@VE5,Z1WJF7LS[A<E[8EK".8[>ST#GR
MZE7[X\E%9X';.5(=\D^HJA-W<%&@RJ* P_1-SW&WZKF<=5VIOB#*9PW$2[\H
M>0"DD'C%XK(] ><#?=3NGMM?BT\7GSY_[[RK;(W[D>8)CFXS;\^PJ(YZAAQ^
M=*,]'8$W;MH8UIO@$Q;4F'B:]C7P!K^[JM-^:):^;8\W^'?S'XI_J(5]><03
M*A[>/=_XS6]G@]OJHVD$33=DV'X,,;O+P[^4$Q_D7=J&21E?.AQ/>Y(=YOF.
MQ?/$-^\5^?B:_%+XSSGS0);)(B'YF?7]I@DW#!S4,#TBOS__K];KO[U2*+$#
MSJ[E&>+[M_+9V2&%I;[L7^_+^!<,F(L,)CSU!+2LH6N8\J7XKF?S3[89. V8
M/[50%&)X+EHNI9%8R[([F#F5-5<>@'.*_TU+G=F4B\:4LJ$;FB-RW1Z20QL"
MY>13UX2WN$%(4.@#<RAW-8SX [V01+'4T[:&U'[Y94]8:H3?6CU9+BWYHP^\
M50ZBU\BRE^#SOS,Z\CNF^? QWX1_ 4,?P'WX _FX6'A[^>[=NP/Z67W[IX2A
M9$SNTQV"*V-J QZ IH]A6@:6R9DXA+O #AX8_-OD>*@@O02R63[T14[KH]UT
M\;6\XR5<?!N?[]BZCUGAGJW'VFYZMM0",QKAQ"('B[^'*XNWI>_8CX9+EP77
MY;+8;_B]PNR-[;M1HDC6>;K)Q5L.B^,1;: A[\A)^P22U9(I9,,E4(8;)FSX
M\P1FQ0M)TM/$?9Z ^H@W"Y73FH7N$W^L_-9LV=U\W2C=Z@ZEFR-*M[I#Z6ZB
M4EPGCCAW-VU* B^T1<&5#[TP4=3WCEFL;7@WR&N3,GN-U,S>W$^]>_[4MG\^
MM]KM"[8]/C=AT\*MHCJ.>0LLJ(QT$! C\]2@^UJR>?6[Y[KV=%"L7[HVRY3-
M.TP0*O)Y@Q+27R)Y5Q_/W25(]E;>F%1>Z2YEE,OSM_N3TZ_FA?W^W]QS5]N0
MQCN\2YG8\7Q2_W;5,_]E7X8;V_MIE42IW*740#^7;?N^\SSX_OU]\U?D%/4N
MI=3UV;VZ_?)\Y9</.VQ3.86BY<MC"U;9"36UM\%J5&G^K1/^;H+=@"4P\5$:
M(_%>>9MV$S7&3.QAB7:#.]Z93.WKD2$L.\Y9I,?JMO5_W%!UMYD:; OVN3O/
M-?4M7:2'WF%8[!0X\ZMJS#2U[>"ZNT3M%K."Q:0BL^)!,\%L$Z)D=\9%T#S'
MN.NZCK>W=QTD6]XSN^-H_2Y>!-$A!W'1SG!O[\OUW?/MT?W1)^]C]X=M+(_H
M&D&DE<NID+0OEH&)(5KAV+B452(!"^E(P!E3F*>3/NM(54[SNR_7(T'7/("9
M(+/JU>5@@F,SOE[%.:0,ZYQT#GD -LM*K39[#OLO> XI'=<FG4,>S15556ED
M@ /^@@>1TLQKTD'D@6JM*]5"+9=S2%60Y54KR,/+N^?SCU=]6SOX:NC-7 L2
M_@DP7RLV1]:IW0XODTR$"<<<T+U*J=A8 -S[Y]91=K*^&J-L'JWR&J"O%FE#
MNWV$G:R Q@A;S*,'H:K4Z[,+-UX#92=KE#'*YC+.O*14ZHN424S3(Z55ZY&K
M@[MGEYU^ZG8?+JNZEI^CE1J^N=+@5+51DF2.]"P0(9_&A?,\YP54UM7!")?F
M4BDWDT%3 UP9K-!?^A0GJ\>Q4\S#G9OMRNU.,5==/':*>3B#NU-<L]X?.\4\
M/,G9X:WY3C'5#E 7LP.>GP:U[^>=B\IM8Q'5/COWD,IHB13K"#IL.;BB[6EF
MK)4;$H!61!F.U$D-O_1-&+,MDNQ?SL4'KBM5->\[L#N_=*MBY/SR\+35LE*I
MS':U=^>WN#V1A+DG3C /E[Y44NJ%W0U<CRTQ<GYY! Z*145MY&T+YC@J=7-S
MT[O%;,5BU@U_.6)MYCA43!K4:&P@57:+V8K%S,2_!-R6/P#F_7FI[_VX_&3?
MYAB7S0AZ6=$)S!JP.)642P):RHO%3[$ 'WXW%KQ9]X#/%Z1Q=K!*>;'HY@0:
M-Q9*KJZ%R#-,S04Y.2,4I9P+%$4I569;G1N7"%R0?S-B2\IY1 2+Y24P :GZ
MIKAR?8-XDE*_7!F\.RI].5A?K' 4:K*%7N<Z==IHYKJR6 AO@KPMJ[.A:1G=
MT"7KHE[CJ6:'T%06"^Q-.%5544NS<0F_RKFN57&/'6P>\;YJ>39P<1?LR]=.
M&#O(7!!#2K$PVXO((7MXO*#Y\/S3[MY:A?.;RX^M%2.#5IPSU),AH=>3-%R#
M\3'"^;EZT>5J;A=@ZS73&BR.D:/,U5DO*H4,'=A_E<-<G9DQ.9M8R2,L ,=8
MR,U:W-D7\V03*[FT:U?*E;SMPYG=^3,9$Z;S]:'O=_S6(5M)?&%T^>,EY,7]
M2F02B.10V+!T%HG$E^=E5OJ:K-M^TV29*J_F?$HV;LW1 *CFA!I2R_.K?B+#
M0H+FESF]&3J_F@MFJ*B4&Z7=Z:WD[DW7\=5<$$,5I;Z Y[D[OV4U?#47O%!)
MJ5;F-]%FG=X.,;1;S*8L9F82[#AH)Q]>SL^:QP[A0AJ6#UQ_V6<.;V!_US?T
M.[U_YU_Y#KM[;C:.F]?LZX=FI;@6(_3-/^%2^0@.6.:+YO^S4VXAXS!K=.CT
MXB24<'O%F(C#8P(9U]A?I)3R]VTF[2S++6NT9A9IJ_NS3;=71MK99E76T,EL
MOOWEB#O+YLD:U9C-MXM KGY/:I1L(]2J=\_.U4WMQ#K[]_9]-/QUTWN<!_RP
ME0W:L1=]-"4F/K6*IK;;#@UT\:CS+(V+&NDC.CHOWFZ/S"UK)*KITYG^,P,&
M;QFF0?Q^X)WP^52(H/$]VQDF/IPT+5IIW<9O:\W^U_-W'[Z?L3>R9WA(I?!A
MHYM<[)[.M>1%='HM:\!GMFQ,"TP2L_Y.1SIZ7NKJSVNDYW?UZ<>35KTM73_?
M;_1Y3==FM:Q!@MDGEE97Q$],D1WF]OD&S:$B:_V^8S_!@STQ+)[WPV2ZI(&!
MC3-7W)"0=*53+FACS@,G9-N!I9_9L(?P<\S-<-+WM>^E[]WB\47E(3SI6[%B
M.7W%>9SWI!4O>-#EW XZ+77'#YI/XLI--)=317-EU5=];.;!P_V[FV^U=LU\
M,C;WJL_P"6JK]0FFB.9Y;^H"YS4R>4!K?_-/WSF#P;?.1I_7-%NXMEI;.#@O
MATE-9MJ#A!B>(-2B>9H<B&LE9VCR\7Q-ICFR)G?A2<R!?3M]VTD.Z^3/<H"
M#EYX#?-J\"$^*] <2K :',_9Q6%"8B1A8A8??]*VCMQ,,[Q7/;NX7A@=BO69
MF4C+*\WQAC>.9KF<,=S9HXSCN=PYGG+W?/KQ^+;8/FXU+]C6>$GA9&-U?+)Q
MY>[YWZ=G[^C;M]-SN_'F'T$,&:EAA,.-Y5<VW3AWUBQ.GM<VB;VF#FFKI@YI
MR_8H,.J?C\K'7\Z.[H\?5LJDXI<&F#SX\,)^Q;#R]I#Y%#:<@FJX,LY3[L'Z
MABA2<3ZJ!]\&[=4$%8;LRN>[!D(Z1B%Y8'A=&00S2&S.X'W.X.N<[K9J<HU.
M?(.[;=:''PK6R;=^.YJW,F'B&Y(T_?:_[@%O?/)G+L-(\AA );RUAW?''\SJ
MCVNS&5WAUSXH9\)PF:T:D,,GA;S<6*4$0QV1-X$=:N^>OWRZO7S?;%;.2]GG
MF&T[0QVQ%NLUP0POJ=O.5.5U35S*K2>%S^0V&%,I"G?CLN\;M9A4*,"[F#UX
M";ZD YX[,QY19[H7S!.-?NZ,4P$_[<[R;D0U+!@F=F]O[P0.&Y2L;=VPEF5W
M3#"MSNGFW-W-=)/>#>-_X<]-_9)XXO./YP_%\F.;=;^U\ZNQ$<J\.MJ^G]-7
M[.^__RF62V\M.=KEWO'U+=AC]F 5PT_23S_X2C5]T,#T,,[DLT]&9P[<RW:\
M/(_.^6[R,8OGWXV?UXBCDS7^.K77>7%VV<3BA-WN$ROOJ<4]T-?YG5@N4VT*
MLPO\,Q,V5< =KE; 73F&V]/>(_W.S@Y7)]ON!S^OSKX4*UIU/9#_-__PG>W1
MUF38VXL"*Y833ZF'E)G/\Z@%R@(2?B%38I529CG"YU'$4\HPK&D!J5)=K50Y
M,'W/T=I&ZXSIUP?7JQ,K=6U@ETUC\&BMLB]6N!WY#-MC'5QO$TN/R)+TH\G*
MTXT\2GXJC44&NFR],%F2\GF4ZU27;J,ULPG>"J3)M>?KAGWPJ%F>L5)I\J5^
M5/ER]:/ZZ:&Q)B.%;TWF>]MRR9)^3)GY.X^"F'(&<_P52I8E*9^'ZUHJ+#)*
M:J9DJ:Q6LASY#/.:XLGA%PRVPBC/Z="YZ/WPK..C^]79+!.&9H>Q1QMW/!J!
MW.(2_57*M9E,DOFBY3'PIZK.7V[[6EMKK%*FYG?JN0P(JJZD']]Z9.X"D? /
M]RWSJN0:C<I*##'*)7$X'#[(3&'3"1)4-)&:D,,9/9*4]^1]O3)L)6MY=/:G
MKE+J9KY7C3S,%J547G#@0B;"IXNZ'5O,+Y8SLD6ID$>$HJA4,PR=S8<M=M7V
MKWX*!6@+S][E^_/(]Y='C9.S".2XK#?XU= =<*,MN-3VZOR_5K%_7.^<%;N#
M%?I_;_[AFY'Y;EX^MC%^3%E<KY03R:P'<FFPJU35;8XH9:3ZB.NS#-7SB.)5
ME&H&=V<!X5%;H?!XB5"2^;7XM:4^''WR]!?JHQ=&E4"__8(QI<6D6EZAA5(A
M#PA+22GD-W/N5P@I+294\SOT/**(<.L+N8WZG"EW"[G*W?GEY 7[7"W];/RL
M/M3R,[GRB"&->P6[4,&2,C;S-<H#G=-0:NJZX@0[GEA8!&?FB3Q"B@VE7EUW
M["A;+Z/:W?,[UNTTKRZ,#]WMJ=)=0YUJ256#.M6;]V?7L2+5:SCD&SNAB::5
MIX*F"U$KF9]Q]]SL/EX^?K\T3HZJ6W,LJSK@D5K-8W!SWEGWE1_EY\)%U*EQ
M2JTFDALUZX2:S<TMKAP9=K)@K>4RVF%J^>5(0ZNK]Y]['QZ^GQ\TVYGKYF8(
MN*!&C-<*+B(P5Z$RTXG2N$MK)7/JOE-UZ^.WK^?F"HA2WG2B5.[2&BR]JWX[
M<=N:=W+2^14YI7"7UL3FQ#V[+#RT3]]KQJ9R"ED7<Q1_IX6-@C6MD-C5O.EW
M0^VKXFVK_FXZ__M'CLJP-X[A<J?!]4CCKOPID#4+MS:%]ZM(ILT4-ENPS]UY
MKN!ZYX:D!ZO?W:79=XM9,0#A*-$@[9%9/C89W>32V])5HUV^:7X^>E9S;RM0
M+J=6-?.MR6.UMR/?7EU%^FBW@TRAQ> XLT[B7KY&M*3FD2^OU6?G[S:Q;4#^
MAY0R6#N/0\JE0$;='=+$(=EY'%(>N7!543.,H?TUCBEE!'8>QY1']KJ2H1M!
M?ETWEM/R:RN%KZI'_N?JZ?#<*JVI>'6SRN(7T]Y+%667U#R2R,72LF"W3:3X
M1%6\),7S2-$62UL*ZEQ,KRY'\6(N+1_JLR<1;Q_%)ZK()2F>1ZN'4FW9CCTK
M5HQKZ^KP]?%=Y>'QJ]7Y^I"?_YL2@-JH5@Z+:<.E&@F4BKG,--W6YC"+:<,E
M*9Z'9ZJ6?REMN"3%\W S*Z5%1EIN.L4G:L,E*9Z'QYBERG<!;?@N/VV(Z8L;
M>ZWE(Z6/QYI;T[X>?5U/NZ,)^:TP<_-K%9 LJ*%G\4GF:Y4+_GG7BV2EQD%N
MAYV/U[P[[%7:)7D==BD/AUTMS>[GM3OM)6RBW$X[EV#!2J[VS,ZS\YI,\YLX
M?N'GIZ^==S_;Q1PKOU)9-P&''T%R+X6.GP1L"8'L^:&*MKXX:$Z;*O,=RR.P
MH2KE##T2=[5BZV*'<:LK,SOD$76I%=,&*N^8X<5D@[J@;,@C(%14RNKL!,F.
M'=8H&]0%94,>T2I5*6YH"6GC[OGSP=7]R;?&LW76W)I:Q;02TJV9TSI6^<J>
M6J:OLW_^_G][>_*)P4S]+_E*ZX"A><U^^LQJX5=K;^6OFNG#CT5Y;T]<7-UX
M#);$]Q(R3Y7>-%<YY*Q;FJT(,FW#DS'CGMU/8^BIQ4<C-9=QJ@7T>BO?#/OP
M_@-':QJMM_(%B I.TPL;J0?".?:M_P5?PS]%MRBX0G__#\@\3O"FP[2'O28#
MZ0#/[M-YB4. 704GT$^>#_%:Q+_]Q,/C2\*U\N7$&&2;N'R[KV@3M$V$AY)"
M/)3QSYH'1*]ZE.[:CVG5&SJU)!Q!#[+*L'!^<LOV'9?JR)N^:UC,A>\.F.R"
M#,1)]KK?\L@;'P._R7_\]S_U8K'P-OP+_5M]^Z<B:W);:X(RU3S;P4<SD[4\
M_+<IFZBJ0;)*(%.,?@\VN2\?M-N&:8"=X>*'/]JPGB,-_H$SG ^[C@&$@=WC
MKQ09%W]H]X <0WP?R'T7/F.PMGS\Q%J^9SPR^1*>UV*.^#[^[;+/' U?&_Q-
MD1WF]F%5\'ESJ$A=#;X'+[$'%G/<KH%GK#TPV;"BG>_+1[Z#S\ U>%0TB6]P
M1TH'PZI!&<UK3DTP3.3?DJ7^C6G9M%9*!?K,C-@+ 3$;]>J'P_M']_NP\T;V
M# ]95&PGM6GT)@(;2ZL#-I+D($898X#B+ 90MX(!2KWAE_+'\\)YVU@+ ZP"
M]5=>'>J/,T!<A(X*GQ;*,P<(!!\:8Y(I!5BME)8,F\HD7\Z\^^?CP=/Q^X?5
M,\F*P+CE/'JLIH-QITB)XUD,H&X% URJ7N_DVX%>N]76P@"K0*J6<ZF,2D6J
M<@;0YS8PRDEA L84.++X3,T$T8+&1U?39=OWP)[!#K<=66N!S6=YKN2$3>GY
M 40F'EAA4Y75@7A$U-;^@L5:&K8V7F59[=M_N_V?[QL8OQ+,&&Q*CN@RBP=3
MZ;#RJ82E<BY%1:G TRERZ&0^!BBKQ9*ZL0SPH?5XV1A\>FK6U?4P0)[#$4OE
M/,S5].&(@@&X)Y9T9) KCF"CN!ZYI*:*GRT-:&QW-&9+ETU!I'"PN11--M\[
MOKXU+-T>N"\04=IJMEIU]&CZ:<F&*VN( =D#X;37=^RVX8') N)U*+O,D_V^
MW!S&(SCH\+0TQQFB@2*[=LO03/B%[\*B#(L^";Y1#^66@?$@0JO(@RYS&%HV
M-D5UV+YTRX!&.GRXJSF&".K#TAVCZ9-Z6,"N GF79@75HH:7AYK;/8R_Y<1V
MKFD+A[2#_$(Y(=4CHH=N5??+L(X'^SX*ON#"1O8/YY$D[R3%1NU 9^ULOLC,
MQ-4G=5HE#P^\T9AL6T\R:A8ZSZ4B,U/.L_1@#YR^_]'Z^/#RYYD>:,EZGKDX
MRTJAG(8;H1,=":/(4\,HQPL=])+1E2D'?78^/+:9W6W]++_P04\,EF0]Z#R<
MXGHQ#2M&QRRE7MS*@N>Y5+!DRGEVKNO]VY+FV]_-ES_/]-A'UO/,!])1J4V.
MAN<>YA!;^^]_BN726TM.-4ZX5\=T*8V7DO,:9DP 73B^,9E_5N#BUCH?M7]=
M[?+\P%CMP.#)N\KJSU;RF!G;F"Q"9J=?LA[[0E&-M1[[M\['SI>+OO;\^7ZU
M$X-S./8\PACUPN0P!H4U?7?A<(;"GZ#ICYK5PNRT);=]SW=&W8N!\#_ \ "2
M]B24\MQYL5S/\3GM804:[*)KVV;@W)@VIL0#%V<X[MGL_-Z7BDOPKD][U/9)
MHI9^NTC$)D4B%L6QQ,\56S4B6$4W7'Z9!6;$@%L+=@4C[(KFM+ LI@77'NZJ
M.W0]UJ/HQ(EI.X:NP3(T#R,?"!W1Z?LD'&QX@([Q#KY#N4>"A@11$M.R+]].
M0HC45XH065=#3K7^];YQ\-YLZ^O!!ZR@;V4UC^!$>M_**09*8Z7XD'4=/UP+
M>_C%<+^9Q1>$ARQW_'G$,B8U6PSQ(:.B::*;)$V+6LX1$RFO%%JR+OZZO+S1
M]5;S:ZEAOB"R9#G^6EW'U2GBI;)28,FZCO]BJ'<'WP?U@;\&[;*:)J'5U34)
MS2O>(MW$LC:3$"7R**(D(='2TBG':P"5K(L1/PT*WSQM<'ZDO0BD9#D.S,<3
M'^= 6;#@3&3;JA EZSK]UN5)^[0R_*[V2R\"*%GJ^&MYF+>EVA3]L\.3;,_B
M>0#D6K,\33K7' ,<9&;*\-,+U?AL]<%L2!RD[SNMK@9_:/MPEAB?].$?F@=Z
MW('=6'Y;PP@':G/X2<R:Y4K\&/1\E%HAMI#'V$*1-+D#MQP^2U(-(YMH=(E
MYZ/1,BC"">L:?V-+Z_5]5QYTC58WBJ0TA[*6N3 HJ,V1YJ[-"2B3HI]*48[Q
M2GP*Q&R+7;9/@(K3 C&NX^WMW: 6N&R?@I'T:.B^9B8UT^'QY8&E'UY>9E5*
MHQWTX"#H'(Z8"?]=*5S2M6N#YX/2^5.A%FJW@"1T-LA64U.9*02<+WXS2JZP
ML= D,F16?KDX]ZG]H[(!3V;QEOJZ>>O'8>7B\?'?F\-^=?6\E1X<6AUOY=(Z
M19V8X9HKW).9Y<8"/Z^-Y3ZH#X_7IW;E[%Y;,<M-C!>MCN5R@6^H<Y8R'F7G
M+?5U\];IYV&M<5 T?WYDJ^>M]&#4ZG@KES+9ZF15&1EC4<A*RJT2J@TFL@FV
MLTXV:6@24V+>M#W\P<37:/J]AKTTJ$GOJ+4JQ>UCL*.G)NVNM"&6N+LW]D'K
MIV\X[ R>_X&9^HGM?''9!#5?PC#':[L7CR?%BZI]\Z4UO(_N!2</T5%# KET
M8 H=PZQ0R0S:SK8 2K'PR<JN3#V7T$II<JW66&PW<4'.,7T=!%<JNW#*RX53
MJ"F\%!^7L0ND;&$@90Q0,C8')6J,0K^*=T7)#C218D"30]NT>TU#VP]>,@5L
M<F""!()5?66F89H:++EKX^=UD(\MT8WEV&).9RA_L$W*WAS:3M]V-"YX!6J-
MGHC*SNV".]&%3_(UQFIW8#5S!'6]1=)'8KMV>QRRVUA#XFAM$WNJ'[[IQD5-
M-8T7R1PM-Z^BGD?XI#P%Q#G)WUAYZFAMY__3J?K&O^;SS_N7R1TMR0"Y@!=2
M>P6GQ#CR;L(TH[W*DA"[M;'0@W_RX\?QQ=7IZ1I ,"N:IU7/(W*1/D]KBB0Y
M6"G(;FT,H!=^''H__BVU/W9?$&6W) /D$5Y('S;%&0#,E41/.UKG7-V89B!R
MEX3,K8U;KKJEHG=][7QKZB^(F5N.6QJYS/U('0:W."9W2=#<VAC@\Y7ZX]/W
MWGOOL?J"J+DE&2 /RS-]4EI>L+E7Y!^_@AC,5T-W, :#;J<M?[0-RP-'V<*"
MKETT9K.X[=*2SK6A7,);I3;(?L=B.K_7(ZFDR?=T>H_\]&2M ]>30LD#P^O*
MUQK\<>^]W83_8MQE8#M@^YM,PS"&@*0(0T!4YK5-6_-D*F+$+SRP(>52;0N>
M*:6"5N#[+1X4PJ*]YA"7J/% -*XOI7%(*)#/@?T<PQN>8KMNYGJ70=/9*^9@
MWD'KL'=#$'M!]:FAW^E]5"]JHU IE$1N(/Q64H5P)N<\'K9HO32/'@X/#^X;
ME5#:!XL >O!51+UO9PG[.=:?YGZJC;T"AM\#+3"^XA$YG]7!/+TX"07]7C$F
MZ:^ 1\ UJ.Q/A$C_+O<">D0M@$/* ,OP1<I\E<@B051NKTGY*M=ONH9N8.30
M;DMQ!MR7;^+9ICYF]2CC@3PU\17R0'-3V\^$7/1.A"4/<1D6Q>\.X8H8.N/!
M/+(/VLP!?E3!0JE:5;)04 _7R4+!GQKS,Y/:[W^[>+ ?OUQ4QA*<8G=P88*-
MS>*E>7:1:EP4,)91J(<_-3*S569WLQIR574L<#79>@#!9U),%:C!H6U3?<^Q
M=%9 &>:^=VP7C<Q*7D?X=<AJ5S\?A_9G<RP7!ZMM:6YW[NS;R')S/JO,GF%E
M\EF5ROOC0:8 H"Y.BZY=7S,(N8AT2/<"U.GW\#-KV1T+,\VGJ!^-MH'1N ,@
MCN<*<NFPV3/XM4@EP]_\'M,QA<DCE_&S7N"$M:MK]80-_[T^B$[X+$P7B,)U
M^1$G9BQP0Y?:7VI$<CY^*!<R^WY3^$$M[$]T_J2 'X@7P/JW_4XWRHX$! P0
M _!CF/1HD"=0V)<O+?FRY=GXNV*=_U))6 DN/IN^S]L,))RN(7*>1*]'96$(
MTP:78  QL2$!98TL,'[ ^NG %_'?TVHLKCV[]7 *7V8Z#Z*"OC9L_1IS//S<
M>/[=)9.#<U^A&$@:^FE>/G0K9OGQZDN)'3=#/N3OHUU$0(]8^G\60V;>QB09
M5-@KUJ.?,O-<5G>3S)"0U?BRJ"-.I::HY2G1J2#UZ'(")?-M"K^M.H*VTY#*
MT2G3MSE]"$($Y*'?!;9D:_'CO'UJ="Y:]<?'SWKZ<2K" N@#T],V9A[FI-5.
M$A-S'=E<EF-<.EP%QU;;+TR&PH6[5(2&=U@?OH5C>'0);V8?O(0G WV6L8L9
M1\PYK&?XO4/3!DG;(?:.+.F8!^"C'1L>7VT!T^W3YXY3^*1_^]B(]#Y_N=SB
M;P?O#5ZOX-9P =.!:M/6/>7\:IG/+ZN)-L/R3YWW*NS^OM@_-^-MT74R3@S!
MTKR&*93H-2'F=Q&#S8@8@),ED2X=@.:67>8\L@#FU[<YD$-GC\RT^Z1NX!/
MGWK<\9?[\'U/MICF-(?DG;$G+#&!CT^LD.'7'I0Z>\*H'[U<XBU-7=@]6$8M
M?";#J3,&LUH!:M#'9D+ 5*#6F[ 0W"KO^6,\@C !VS-\,&T'F-R6^8R:,4%R
M& F28UH$TU,<\G$9DEY8,(<T>==Y*%Z<#^__?8Z40;""F!?=CT3"-&$R9>WS
MY:!F"I6LOL12X83 _^7>OP5LS+F+CK.)=5@8/);(IJ-0$M-%O15'(1D=!*MR
M%R1A<E*CJ60;727@':JE<KO TX/8P][9'=O3^/L5V%\3HPTM;/1%Q@1";)/1
M-!/OB4Q];6BYENU1] WGW*$J@\_:"40/@69!W86 V^228;4^"<^8/C2'XU9,
MC)-/J,U6A."-=T$\Z"',(>8C+<W)[OO[L]KEH_G.CB%P)FQ&H[=/9>79B\^7
MH]5<O*'B_G@L8]0[-MJ2!9P*C/-'J"^)H;1'S3"YMS=$3:G);</!F&(?G_/G
M"R9"BHW]VMC \HU5G5O:%WX2S>>;X5G?S?#,<89G?3?#\[5)ATT&1D^IHZY,
M"W-?B3S<HX@?SBRKGD.O?WGH=XWSRDWKHS&>JAB#.0SGCGF/KGT^M-Q,M9Y+
M87)!J4YV?V=/^IGOO):TPTXNCQ]OCVN-ZE7Q1<]K03,L#R"LVE"J4P:$P:U#
MZ]DQX$&<(LFL82;(BK1XR[CC!5DCO:1X#M;XW#HQ+VNWC0^&^G*L,1')-I,U
M\H"VUI2B.B>XM;3P<:55Z<YQ7,ZA>77;^ZC5C\:+^M=Y7.FXLYG'E0<052TK
MA<8JP678-Q8#0])H04U?&U(_;[S!2?&0UH.MGE)*<<6?,*WS_9P<L0(,8_=S
MX4/]J?]OM]V(9[')'XB1(VO91'+/60IG4K8Y&;NH5FOP@)*:Y+1B'B#6JE*=
MW")B=N_[+(<N"FA>_M#-Y_[MA[KGWS\::SKTD6*9/ X]#\.NHE2K4YHT+-IP
M#86*PUKH!^LTH]W#UM5>UT9$! :J4V5(?)3Y*7WLS'9=%,/'](AS>L*I]<A<
MCP1YGE;^L?VCZ'ZO@V\2Z9KCE)7/XHE,"\_7Q"_F83(VRG/V'BHM=5I+VOB'
MMG/_X>CPZUF]]G*GM9B!7\RE0$DI3ND#CI@2WY$/HVB[+E][\)\ FW79%\"X
MQ8;:9:]NF9<QEK;P#W[<'K8?'H:NT7TAQEC8O"_F8B\J\.;Y+O+A4N>UI(G_
MU3TZ&MQ\L>\KQLN=UV+V?2D/JZNH5*;T<P]TZ'85D6QU(#3_@I$?=AO.U0:C
M4KH^V)6(;%9<^I9)'!$!$C$4% B=B$Y-OCY0"%:IF3+#UJ1,[HJN%RV1NI[2
MJ%14B2!Z1$\@1)H,G]#T#=,+H*$2:NVDKYW(J2N10$C#[Y43@CP2U\LWL8B(
M<7T0@H,O+R[8P<6W.L*JA>2.R]J9 GN"6$[WDL=7,"*,\_"&:N4Y![\>9*'X
M0FTCTBA^=:Z=%TZ[@^K%_2HH/N*BSJ1X'EY'M;$*[_-@K..O-*'C;P"'ZFGW
MHW4[L/$'-B8)7I,>%82_\'OPI5; />*?4WP>SX[NYQL0B2VMC_EGQV<C' *>
M3@KHFC<"<KF-=F%[[,AP$2H) NX&7O@.A.D#)82#>U9/(I.S/N/N674/6C7M
MW]ZP8+[9EH,"FP'W(ZG%_1&07KUX<O=<K7X;E+0?7?WD_LT_UU%?)1<[1*FU
MMS(G27C0.TOCA0[Q"'LM@EGN[L[@919_:?$,I1KJCCC8$-23J?$B6X=U?/A9
M_NF#1F:."7\49Y<:I3P8K9*@@H-X60286&K<Q#H8:(Z..)NDBO\4O.\S:*I
MQ_<-NW1]P+X;+"JY.@K6.E\]!*UKLFVEAK95RD)&!/E<8-?4"HC"?LI@J0 8
M&*N 2.N%6LV+X@>6Y6OF.\TUPHG;C>_OJZT+D[W[<9^L1>%X_7P)/?;^))G+
M60,*T\@\)9P?DAD#A(BTI>50*]LFKHFCC /FE\(B1OCT1Q^N1=  5,&P7ZRG
M'UE9W#,11EM0_9  ^/#GQ*RYUV1+;<WB034=:XX%OJ<K(4,0YZQ+1W%<XJK/
M(F\[MEP<LV-;7:;[V%0YH&50<(:7NP6^^Y%A^N#DW6!><()5VX@'7A=\XMWS
MQVO3,"J]LZM/C:VQ<;'*IFV;ICV@H":E71%_@=+/"PID>WU?C($1 @5E5(M\
M.)V30F:"5#')%@S-SI[+P,^@$_G7ME[HI)/PKGCWW'FG?Z[6_$/G>S'D"=UP
M^Z8&SX>K 6HMX#=JY1J0\2J0!XK\+B2VX+N .JNZN7':SX7&SGX^V7#9;Q!D
M'$-B)PCW5AX%9G,4^!N!3)X&QXZVC,#IZ)-$F0$S.ET/'V?J;V6Q[1!BKL8)
M!M\.7P8[0,+]WYOBFY %RHW274I&_/GDC'UM?_NH=A#\EA'*GK*VM(WA2T:W
ME;*'E.>MCRCO[E+RB\_O^_Z-_6_]WR^UAQ40I;SI1#FX2\G&/]_4&I\Z[$C_
M>%OY%3GEZ"XEL_EL?ST\N#R]]VQ]8SD%BS&D*44DH[)J D7G)U\U,T52K<%M
M,3;!=KX9FXXP8CO+V[2;P!0:V<.\#+'CG4S4OAZQ1'><(T16PM[:7 /K5]&$
MFZG<MF"?N_.<UUC)<//!;X.%=AS;MW3TW6SG+]GI-/\H%LI*L517BI7*G^/2
M8<9F>/4LA8@T'&B"88,L\85@XZDT3Q%,_#WIQQO_G(,+S?+!M ?N%K,%BXFQ
M>^AI% JQ". %\R(0HX"//.N'IU\JK>'G SMR.K)?DUL<!31^-T2PHXPUZ"F7
M@GDR7XBL>;SC!(5C/!NKK$ (C.Y;/*[X>[HD2GY*37WG;Q.>J8Y^7!S ]*1,
M@I+9H/8C =\\H"WELE*HI]7,IN\TE2[IC+:%!!\#18\0O))'$_:*4BBF ;A^
M18*GIC@2),^C#*%>58JUM%Z$OR+)QX#D(P2OY8&7*RNU2HX\OAHC;'.U\&XQ
M6[&89=AR@M&3XHT<,<ON83-BV]E &NP6LQ6+2;7KXY6LM\1S3#\ %L:^2CX"
M?R[;'+%S&14;4\:5$$W/W]L_6;'2J0W:"QC]4\1RC.%C'F_"RTVV#Y;WY(%8
MOJSQ]8=]A:.5K_A4INOEN<B[D#/06*IC<[FJ-.IU1:VDE6MN!->OFKXS;/_*
M8JBW.'T;5:56^&7I.]/4KZC+<W!#J5;2D(6_!(5G6/:5Y7JZAQQ<79*^J:JH
M$FOLVVZSEG?9)D2/\<BNX2\.'ZQ@Z516$8#6N1HZ^WA?J VNKJZ;G?R"3Z-;
MF!#3YFNE?LMBM=AK62R7X[JHJW: 5ETX#[E [G$:=\[SG(![XWFY/=CEGO&T
MUS5TV-9?,AQBT7AJ.B:P6?G-/WMAKBU# #[KFE\CK2H[6F6F575'J\RTJN5*
MJU2)79[M/ A,YI@*XW+;_]=X./_6\KM],U?_8=)&B_L5/-E1[R(UB[:,?S'C
M_?-R%GU-UFV_:;(EF6ORHY:Q4":=\B)>3&5M7DSJZ2PN-':'.]N%JJ[-A=H=
M[DIN[G3_K;HV_VUWO"NYN].<Q^K:G,>%#C?50HF7P*:6*W$[I/SQ_=G)9:VM
MVK7E_<=_WLT*5BX69!C+$L[-)*D46$1'5Y<?-%;8;Z0U]UUEE&:=!)RE![/"
M"*81L+;N0.*:.7"&KIEK6%HJ"=7]^BOGP:GR/&N:?QH!2[-3_ N([>(4L2U4
M&A?</ZNWG;.KSV>]2Y9S FJV2[@I#""6NI <7\S7>G5R?!H)9TCR6AZM$%Z!
M))_!A=-E>6TQO^'5R?(9?#A-FM<6L\Y7),W%G*64UEVQM@('C;OGDWO/.QZV
M#>.,;4U3@&##Z^Q05BN/=G8XM'L]@S?).[!TG+D'G,1';LYN4]:(*=CY'G3W
M7#^J_V2-H^)C<7N.+.Q55AKO55:\>S[[5'H>GI9_P*5]\T^,'KP/7YPBNW9E
M+WV.?QOQ$]IUJ7VYQ1^XTGC;RWCKLM%!+783UB*ZN6.11C @!SL\=3H.ZV#'
M6IR;ZH%JT=R4QK'Q!EMGMM6Y84XOF+,3<44X,75Z%__/&MQJWG>+_GUN6$;/
M[P7#/.AW83/ZZQ8#T]^PDWVZ+NQ'^O1-U\ >J0/[IFO[+FR7_R+HW37L7.B=
M]K'W\SYEFA-N.-R]HPW"B5>SK(=9!,@X#0#V>9?<NF@"EFES(VHJ%ZQ^1:F5
MILP,:,LM</$TPTI0B\\'DS09^ZOB(&K9]?M]TP"_C4]TE$]8T_'1?2O6D5N1
M9X-)OMFX[W##N.^&-V..G\P /CP\1MLSX+TSX^IT\%CJ?CHL;Q'O9=C:".?E
M,9.@KA2J:44B&1A/3F.\H%LV[+B^ZR'W8O;">V8Q1S.E,^!S4S[7/#BXG>7P
M@HM'>2!Y\!DT _"_2;O!<+'%O6T^\D;U)AU;CQ^;#&+016-"=+ />J*.CVG=
MEZ^Q-!2[8OG88!M1'#HL")^J&PYK>>90HJN+S>QQX#NX75S6]1W['O[N*N'8
M/NPCB;>:#W\WX+.::9(IPY4(>V2X'KSM\!*0V7H8+:2]#6']PV!7L@N$14F!
MW?5[ML4\^)BD:SVMPUP^Y\[AL^[@I4U<";[?AL> 2!GV:9>FX86V5$ 2V@SK
M]4V;Q@?"-E""M? D!K;SP!S1>MFEIG7,<H,-^"!R[:9A,JEE:D:/^ST=?FO@
M36+0^;Y\ZN'9/#('.\^V80.^24OK.TPW6OA"D( N#KL?=#6/S@?LOV",%OP3
M3BB^\!Y*<U#/^_('>P D=&"AAM>E ;R&Q<4Y#:'WZ(SP*&W7X+\"$[(+BPFY
MQ^%4LVSX)BPF,#-Q':[?ZLIB9P/#-+$).ZX<6$@+Q;BLZ;  6" 3@$X^!S@:
M^MN&TP0?$#X)O,)GW6,36/XL:B9J1\.*1"= P='[TX,%,<]<K=T]:V<_W>.'
M;R>-%3O8H[.A:SP)OATR*IRV/FW">F,W83W'">N-;9FPGB^;;<5U6(LE%;I#
M[L-=H5!]$]A.I^"D2,5]L*PL. %4/:&BP0BB[[HDL4&G'%B:.70-DH\GH3P]
M#.4I?N9S)%"CZ6_[:S;51F5C8[^V/;)Q'<QP8CO8NAS\8/L!9*(4NJKK'B/P
M^DYJU9.D;L!NDL)6^G#?^K:#]HX,9]J#S^Q]PE%VIJ\SZG-,QVSR8Y;=\)C)
M4A-&>(]I%@7XVO!2;D(7:P>!$115[\@'O%)&;91*8':Z$J@8["_';>CPJ^IQ
MRE>/GUI=#)G$GE'&9\CB&?(?^ 44/,7"V_B'Z5?JVS_)L*8I.DT-1UQQ<W1D
M@U)L@V(X98L/RY79$P[N"4QN6*_P$OB_FV#HRFT?AU^1,^#Q)O7C;XB3$ W6
MF(7_8-D#DH&2;_&?P;!_@)/T+1%X"&N*--?U>_WXNWUA[**?T=)\](5@\>
M^%I@\,*33%B;2;(578-'L.H5A#:0J8W*W,:O= WX%*U0@E4U66@CF]SN9T0/
M'O4 =TWL>M%W(&'ANRZY3++1P]")+C>'W&R??#[@CL!]0-^B!><)[QW:/OR(
M&@K^#/=H&N7A\;"EGF'9IMT1KP)>$NP#-%0$VP2_<L&W,_7@MY+X;2O^R^"C
M@[1?<NX9_2T.6!O]'3B%1LOHPU)'_])D)E)M=!$,I$8OY>,M2ESYT>]%QW$+
MPWU8IP8G1!M'2KCX5^YBN@;(%7"IQ;F0^I4QSF8[ 8^1WT9<)MGD._/V2XS[
MR4A+=-9:#@.9U1H&XD0!;\H37IH'CF#/X*XU^F\X@@$$3@N>P[U^Y%Z^GNMD
M.5UXMRGF2.N3_A!;OCX^#*Z[C).UK XL_3,CCFWQ"?'!(3'Q027XC>_&Z"1^
M!XL(?HG+AJ_?L)9E\^EXIU9K7P$JM1B(\@%ZH!)O"$^!3[@//WV#"D1P%P/P
MB_G8BJB?O!X91YR]\*Z!A4S[A\?<P[TGB8BBE@CB6YJO$]70!P4/GO\4#<\-
MG=2X($.J!8$,H#S2 5?KV<'!Z#)<6$9;X'$5L- <4@OKC%J^/DV>L\UU"9[@
MH\$&.PMKPRVL6R:AN$"9[Q@H>72Z@UT0FZ!"W0?#-&,S.(5[#__V6,<))TEH
M3@N!Y:# ,0K'10Z\W&^C3L<ANPH*$"YXPS@DV"1M+K/A.VW#0^3"OG3I.WPQ
MGH$!KB</QWU1[)7/_-1%W!.M+KN_]Q.'[7A#$#N6;@]<LK(&S#1YT(T%D5!<
MH^F##O5[BOQH6$.3KX%+;0PQVA97U/A^G5%4CNDTQP+-&Z!!A_&.?4SKR2XP
M-XIXK)2F0)Q#4AZS+B#HF4.N(A=E+E?Q/!0W'K;%:*>I#PS4.!VP<T&C,IIA
M&DM&2V+;HD0;%F#BY)]X9)=6A.%3L!Q1 &MPT""OT2XT+,M^%-%36%W3L. \
M24K#8Q\-RG8'I\VS0DR7PS?2!Y&0^!'0WE) <%H<6"PN1CPI1NL9I*EIQ!.&
M<84%B[!4>.)_5'B\[06<!/9[DX6NMPG,@=0[H"BC%OY>+13DGNU26!0>ZK9]
M4W9[L.F]EM;G ],M@YO^8F8E=1I%H\[NTQPR$U24F#T9QF-A"0RL.@J#4CC=
M0;/1>6#"4,/U?;&,<, [;J9KP!<P& !? (.C Z00WU$DV.D U1$<W@/3 \X#
MS>3HX6?YG6AK3=P?%G/2@8GITXF7X?)@+R6T^][3M\ZUCO8,QT:+PS@?/TQX
MK;"RX$>ZQ/@LW# ^E[_0PU&H47 Z&*T+KS@$:Q*80>,<SU.90*APJUS;AK3$
MOP11=K*AA(V%9C#G0_B(A.?0!:UMPJ=M#+HSFL6+"X+?@.'0[].$7XKSX64U
M'-3<Y#;032+328%GN'W#PWPEGF</;'5#"+BQ6Q5[/MK.(!0DX'OTM>1'C*?N
M <&0H<&%M)@C_"GA+@DN#S9)B0A@+)Y#H(7@IY#S0SF3N(K<S!E@D:T87"P2
MR[@*;FQQZ29NYRZONBE*#S,W-AR;7"[(0Y!0Y )&.I#2+2DZC=Q9H4?0KV6]
MICFDFTBB4\.Y;R3A@FN';/&(: C@23&G6C 0OW<V>J@T-BRX<& (PRJ 1UVM
MS8#AZ%N*J+8C8[AG[VG@S &A6L%?<5VF1G7BP4!L_GQ4+)%R HO;<+O1R.R0
MET%V@&*FJ76PD%"KA7>+!&S;M#6/<G=:"X0JO!9\'8(8#.#ZH^0(=+!NVWB[
MP?71'<TPDUH930<@B$.+;FJ(.P#G'(Z6KC-O/>*X^U),UJ'Z%SL=L)AAP6*'
M 0\CO1[M*G"4T<XP3%PO_ 7^OZGAXOHFE^R1%= %;3:@,(< 1V 008*- F>B
MNV([8H=)T^8%W8[<[\6KN^AP!Z0$F\>81^=)U<I^58:'FV1%X;A2='MM3^$A
MF#V[O0?<L0?J(WGLI$M-]H0/>:<Y<,? A09K3 DU*X\_<".+N1+37-!>9,8@
M/U_@5#;X,$-=RHW%:[#YNH$-)& &(#N:3:;Q= /^YDHCWN37.]P:QI*:N'#?
M(NWF1GEL;D"A^6U8-,Q;BJXU-\9<@B9@[$01>A_WA[;7!]O6X8W.@WR$8 3Y
MCW?P+-OZ4Y&K!56^1<.FV/@;;.Q_O"YP#?P7C!CY#SR?[[;S\.<^;G, SX;E
M'3H^6O1G8,C(-Q3/ L__G?S'N0%G"T^$UVB$QY+I-_(M&L;<4H@^]!7(6JGQ
M-T>O4>1+BU4K8"C!AOXXU'I@98&]#K\_.!:VY*5\8P_P21]LRS9]TX<_7FL@
M%>!:MY@D_G@-ZSQQ,"KAMNP_N7"XQ/4*8)=\[KL,I(U8#S\$M(4>@E&=/$XE
M;%6,08*%)LP#M","8139_UV04-Q$)KL%K=.6 [R"W["H-)JGZ]%.0@08A99:
MCNVZ:78JH\9-+1Z4M+DK)1"M6%-FVATN\+#TFL %C\SRF=QQ[('7W4FR#=X0
M2C+N/OK<!H\\+DU_!+<1$\K@H(  8 Y8V5;$ Z8]V&O9[J@ 0RD'SIH%HB[P
MZ\UAZ-GCUX,9LST;V%@ ;6SX8Q]<!,FT.7"%7X+8U^ -PGZ.^QEB!D04!!#.
M+'=;XW@4^-*):<,-U@+AB0F# 7=KXW DW),4V[R%]9/=D5V.OI9?Z@&/?6+(
M6:;8XB-*E% <QE8#?^5WB$=Y@S_@$<0\!1ZW,$F*3",U&"SP(9<R(#:W_E*<
M9[(U[#&WS!1 J\AO#WS[1Z:0> F]\R"$D_2!A+; 4<,=1C8/414#$T A]%M$
M^-40TT.YUQ(FH[KP*=L1C,*]03QP>A&_*> /=L E;TE<HHRX6S% 5-([<VW3
MY^06)^Z,DV#G/&V()+IE$G$#7$;/L8$+,?42>$T4VQ&W5\1'1$3!8?QS:(AA
M)A$#2&3RHV83$3T\\$ GP<,QU,:]!%)=7-((]0HODX(7=<G*-^!]&"%H,F8%
M63L]P#7#UUST52AS1RPJE!Z'\<EM<&7P0O2!JST1V+3 U/<T2L>!MT#["[&-
M(F+6M_N^R2.%J+0#DRNAE??E Y?B#\$.77P!ZPQERECRH2 R-Q?2!;$(VT0Q
M-8IJ4L:$";F4O':T);(!M1:8I?S:B808/SL40_!=-#GH!E),QS;),N"+Y('3
M5A=MJN#CY 8*2DV*!<.7I5!SD*Q%&".(0G[MT>]"SSB\X$$B&H6L*\)S*30\
MQ:B86E6XZ$;3V^.)\?@6:?#N]:U@.:F#6_7=Y.8\&L<>TT/PG=".IA,>#\F%
MT-L1L9ZJZ6BMYQ@^P!77*#XX=<7OS_^K]?IOKT UD2S&<)?07.#U/G-!'XOU
MAM2E\Z2)\G!I,,9@#A,!ROBWI$"0[JR\]</IDBN< @,M%G8PT/Q@H,7"#@::
M(]_N1,4F;>C2DLZUH5S"^D"U(?0B*(]>3POTS+V-+@<BO"A6VG$8V0S</+A&
MC-;>>[L)_U6X2N(.DURL[-=_EQ%PY* O80\LD4&CT*UPE+X:NF/8\@$&%VQ%
MTD+UM\=M?K3PP$G!&D:$VB5>1I(&2,3SG!-,B=!*:@[CJ[,2J\!=M@T',X3H
M TK"PHKEB<F "=PGWNT:'X/J6(3!A:43V",<_12Y2V0),J:C'2?BT6B?8:A,
M/@"KTXSHSY>)QJ!<*_PN(ZC&&R;6>WQ]SC"O%1C%:+F2O9I Q@A(453%$0/(
M@.IO\4Q@4/-*V<+$^T6U40]VCNGCTO2U[(<_8?P@.DA+QA0;?(D7IHB4-WZB
MAY_&,IU8*C!6=A1XZ^!28MB S'5@)>9*OAMA"8+T2;Q6,9ES<8?PA!Z],VX^
M3^66G76SP1L"D<5OC!J4X,\RC4/& &;Q8G!2%OXE*/E"(QR^P#M@P/*!/WCV
M_)ISD2*?G1TJ A$@0!4\TC !OQ(WOZ/XA&!>"M53Y?67_>M]A5^1$*&6]!+P
MZE%N&44&.+T=HVF*S),4\Z$I'ARXN@K<O2Y>?B$A\2VAGZV$01%$X+6Z/*25
M<-@8)M\QE;G6"[%C_JE0=B8%,4==I%@IDAG"F;H4B/?[(?PE#*P(N!2!%3!<
MT@9587-I3>B5$, T&F(@18'"$^L?-:Q9Y$@10CMC\:/+& 4XDF'.>$0GZ0DC
M+ DCLE@4PZ,OO @4XY*FYENM+L%NX@@-D30-4MU<\Y%7'("$>8B@R\P^ZHX)
MZQCWRJ/*3X^%N6)X83+ 0^L+@#)>4.LI J4C!@/FM.$ S  A1;!T7E'*:T<1
MT1*+UV(8U,!R6D'S(#H?!J4)@84!8;%'"J2(Z&^X=!%1"8(W@5E#<9'=]=V0
MZQM$/0E7QV/:: $10R.K_&W@#9>O* 4 7/6),QB6[H-\-@?:$"&1'-OO.X(3
MR9PQ7"$ 1(@R8#@L+4<P(;>9\()B-;.D(3PAO.A1S6^4N75M-!I1A3P:H%QZ
MI WAGR!][)Z8QMW!6)A%-0Z(3]&X2N(!0G$/8;6,FE&X81D)9B8]QD/W4F P
MPZ(?6-<V";:!EZVE.6CU(WX>S4:AF0U,7E*NPDVF!3HFN 7FZ.X#"1;#WJ&&
M ^''O^EUP9N!2V+I&M^@U,?TN^/^A9>Y9XL0FLR\+AF+ C?6QUP'14NX*"9@
MC@@$!] Y(-1>I$!%%7T$HJ0:>I"W R[.R&>(*+TOQ:*]A$Z/[42$;Q_!G( E
M4[1:T[L$]X'S_7(!)@O1@FJQX9"OX TM ^21L/LIH"@6A#V)7##J(QACF)R*
M*M,U#VG:$YJ!+)>C]RXYAMP2!S-,E2G1!I9T#U>A#RVX(L],H0B\U8$O\5P=
M\0-RJP BH9DC:BCQX>A=6I@G!RV&.6U1[^!*Y#( 3S3)D?()[A Z=V#6$:=@
MD0L5H0>^!V=0>CA'=U8*.UGXDL6T\4"=CF '8K6_>,+9!'YZ\\_GX^LO9S?7
MTN6)?'EU_/G@YO3RXOIUMJ&;*^2:?8/9@J]O,LUQG3@Z./A:YE%"L C<^_^]
MJ6:.(H_'<^-1TEQ//'Q\GCQ_0^JE!W_I@BS#HLT1!I:W:3=!X[N1/<S+$#O>
MR43M:^-IQSF3>Z<O)[1HD?&1TQ-F'4[EQ6)F7DQY71K-,9J5:739V/,F7;"-
MW6?Y%]GG[CSGV.<RL^5GS\83ID\9T\[C6631>05<L<\<.N2.[DA\O_C[U+%)
M@8&5^I*Q!NK!IT<_+IJIPT:42KDZZ5NI[TAGG)=8O(J3K<888SL67Z[5E'II
M6Q>O%I5B75UX\<O<P]'94(<V+\IT$2:_XF'3?ZAE52FJ8QL??^2?*U\)6#N%
M6FT#5E*L5I1&;8R37V(EY;I2*&=?R6K5P0S=QE?RGDHDJ-S"FZF+IU[P3*_+
MK/13R*NJ9:54&K,W\GSORVZPWE JXS?J]>P/!)=2KQ9>[P;5*M['Y4\P1_4T
M609%]B!">2QW]<JK4E+4\?O[ G(:1&:Y7-J A30J2K6P"3JT5E0*X_;4"RFN
M%%XE*+T=<JQA83G BHF208\O,VLJ\SKV-F0=<&3U,>&]'319@4#-)-0O)W#L
MANJO*C@7A3&V?SWZN:*" GK%^U.+!:52&E-LKV>#C:*B5L:B16NUKQ917Q>V
MM3>JO#@^0EA>BFPQ;\4BLU*O;XCP+BJU4@9;8RUK4<$ VQ1%7U+J64([:_<4
MCCDHOL>\KJVOQ_9JE(L;<BAJFD?W8A>G6!^3?B^XE@PNU$N*W1/; :5@B7;/
MK2'O-Z6)_LX=S8#__\.T71# JW:PZN5-X:$_*DJEM@%.>*FT*>H(*%(K9EA,
M#KYO9I%[&A0@'7,+031L;#/'H2ITGG(0E4]69]444I52)8/KM_H NU(H9!"
M:UA'=8YHR>K64594-8.B?*&HS2DW=#WMB?<K09SKRCFUKJCE[)=YA0LI*N7&
M)L082Q6E7M@$BA1+2K6R'FY=)F9SP;SMB-:4RTIAW 1[/<X^,&YA7"^_GOW5
MJTJQ-G8?7L_^JF6E5EG^_ (Y(/I/;#LB?FL6_W?S'ZJO<0S7MK  \&<X7PC[
M_]JZ@.V.C@M'2Y7CY5Y5)</6+'ZN2I00"?@2Q2>[Q@#S-@8(8LB2Z/[F!FU0
MX1K^5JKL-X(6O0IVG%>K^Z7?%=Z5Z[>BVMBOR3JOM1>EO7B=4RYQ&3L?PC<J
ME?U*],#QKTHI]W]?ON:5^N$*8]]SL;92#]\,,@6_PJ<"Z Y5"#>II!$?$$R:
M"HN:]Z]CK?)HD(!XA10G0C'J4\R)4-FO_D[-RWE?,_Q)[*]<W"^%/8TS4:;"
MY_T$[Z.F8N'")9K]X"2*NH,E*K+?EW]32_OUY.+*^Y7QQ?&Q6^'X7T$/G?6H
MO-#&8C^_%U\P;^W2U<PVT%2*Q+!&+4GA3WW?-/?$[*Q@&NX "Q:Q&XIEV3X?
M: )KT_>PI:Z)O=\ZAB=*N</]8HGA3Y_F#1FNBP7Z6ALI=:X-]WGSA6BPA\0/
M2TYC5;4^2HAJ&B&H'7JB RE[8BT<2D4%L0Z?N12V/0RD&2?;&=X42;2)#OM"
M1YVBXTRS7TRL!IEH=#6[JLH-UV6$9)0").-.GVW!AN)'%K^/Q?*(>"C6X$(&
MFJS>B+6BCTE!;ZP6,4VKJ2!S2VE:39KQ?2'[.S' ;-#--_LBL)</2+5R>;_V
M.^D$VE*Y@)W$^%.D2* G]22L/VK>&AMBWV0>?@@E-=796V'/G[@B$L(X:N!!
MU?$]C,MAHX P.8V3'AVMPQ2)*Y"V]@B7#8MX3[Z)FO<6?@^ULZCJ/[R\ N6$
M/1,LT8;5]?@LBV2I>I^Y-GR0)LK3!VO[A=]EC?(P7J#B]V4=2WF=2/I*ZY:^
MK^X:OY1$/@YQI3MIO 4;BKR+ ):2,-E 9"6-I/I^,93)\(]R*)-1S%9*^VKX
MB[884RH$6JIT#N(&%;)_L7<+-0[:EQ(&-S>-J>M@( II 2!3L 7&#?RJW>;S
MW'HT,BO6JAB%"V^2$O5D_ZT>F7X!&F>T@:'+3!P[JDC!8"^2C'H/IP11#^Q'
M%@)YL+W'  E O85CC?#Y/ FK8]/0L7 \ #PMZN@<]EW^$GDZ4;L:PVJ+%L6:
MCAQ!/3\"PM"6<?R8;5G,#)9#+VVS8'Z/\$^P1V4_AOO&KP9_PAJFG:6[*5V.
MU5V7XQR['*N[+L<Y\NU6J[JM$15S6%L7&*7/ #+=V6);L*&CR!><Y5&&"1<Q
M"DW,+N6#MG \.+A]5AH &=S*WPI1A)>>\ULQ;N4E#;%4%+/A4J-'QZ!.=>UX
MYV3Z.X]@=L$4DW$FO1@A1#V:$^,.DRL,S:F8GRN\6JG5!2-/*#G;"N=3)'IN
MQ@@1=@G5#0?#GFZ?8L>TU+9)*F!?3D.X1M,LDOW!J6D<->J6>:-N;/X76,F%
M>&P! Q<E\.QYX*$01><S!IL5/M%$M+W[38V9JL'I2MD"^CN3;L-=90%5E=*@
MJ@*I2L-+":SZ.EO%_2KR>H*8UD9$(!ZU$-'U2$2[U+34"QKOMJ<AG*6X]-!2
M]$#XBLIB =6=5-EPJ1*@B*6L*.*=7-DPN1*>(,MT@DE3I#::U*P)4T2-!>NR
MFB(\G"\%<BO>F[?OL+YFP"NKQ=''4F0/7@FK]3&1[($=QIK8O]_4@H[M36:Q
M-C4L)XNKJSWR^2I1ZB$T*JD/>)?I'8;SM_FT.0PN8E2 3#J/FX&>&.;J#N&_
M+9*7]%J>K>X8] :1!Q?AP6!#8CM#,E%W$F[C)1R:ZM*-]K0SBS90?-TR*31P
MC*@:( P\MPD*HB9=4+48<TKG2*W&'.&$XXII6XE?=@S5Q]9!X@2SJXW]XN]A
MEF+V>_I]QWXR>C1=@7!-GN;YG@VR(WCJ3G"\P.(/7$D3&:(@"( &,N5<I@1'
M G<_Z_$CUY;+,:Z-V]GP0"D67RE5]@MC:;#7:E>#X [X9VM%\!CJV36>]NBH
MIJ&>UP!ZWI9;OH,R[P+<BT&9XT#AD=;@([<-(52_E6NU.$HL$2HMJQ.@O1,?
M+''#(88+)?E=C8=&.)JX 4[4"#1T&N8Y@<V5,^"=I9EXYS@LHZI&BBC .Z<@
M:8DHE1BL3EX>S5QLC$*M:XNCF?G<%@SVR\%)Z+(FO2!^.8#,I:+,U3@RG@.Y
M"ZO +\LC^&4I%;]<'EE-,64UVVI4;+5%FAWJ4=Q!/7*$>A1_0:C'[B;N*@DV
M]BC76DF0V9#D8/S?BJH:KYP;M0'+M1$[!PR?0HA\5:OE_=&PMS3SU>5,Q02S
M5A^9 &!:E,O[I=_YHDJ-_?KOTC0C=+W%!/M2$E%+P/^P$B VUS4J%KC"8H%D
MG0'5%20J#6!9R6^X83F!&(NJTV<M#W;YY5HZXJ4%PJ)#4Y1IO9UAM.'B>%=&
ML%4;FEY&4"R-^"I4:QD(TUHQ%E9%G[41][^#^.ETR9JMD  %?P]$!0B&R!-?
MN(I +<7"O&+;RFB-@*N!\!G&T/N[].*FBQ[J.SZ&JGV=@N@HH^DR"<!DI_9H
MYQ94+!@7,S8T0K;Q*<5T/>C3L!W-<%J.UO84"5%.-"$9WL0C? (00,^.63A@
ML=BB:)#'Z7=W:\/O5@).+&T67GVK#W1C!,5,9/HD5+H*2I^@ (E^&<FD?BK[
M!!8"%P%)<'KD[TR%J>^-P]3CGW%HB#JZ/GV,=3&.RR6G0P)!%@@Q%^177T:$
M@ ,.D[L0TEU>$.DN34&Z[^[09@O%'0[\%Y&-&5'@B$_A1E([45PR'Q)<28&"
MQ\#?M;DRI5L-4?EE!,DH]'LG*S9.5BR![8X!N'D0I1R6F147N,X5'G^1?HNC
MVC++@EBKERG8\%(A'MB9@@>7%L*#RYGPX/BN;15=KP1=MX-VOP[I-1U4G2E4
M"V*'@Z]+OT_#5!.>FM)ET?OB+\J0;>,OJI*0!*>PR4Q[D/*64)*A>P>^H,A,
M82X)7AB//+E=HPVRY1YDI*L;HMYN!.ED 2UU!MZJW2=',GB42)O!WUPX," Q
MF&H(AW(>N''/ VDHXTP3MNM'[N:0MU;>Q8TWY1(L@#C7TC#G,^(H:*;7JW'K
M'X,CU1B<3\J6&]FU4?M5;\)+:?$SXZ=OZ(8WW*GPC;M!(+U LJ2T;S]B+=9K
M@A(JJ8'^'("=K:'T:FENESY$/S XW4?-)/46V/"8PXFT.?@ OZFE6JSY!2_R
M I<EPMQ(R=AN$BV"$%J*:B"* [P!-O;X6KS*1GO4#)-T-;&A[!((Q921'TD'
M@Q<%C]_IT WAPELF:99GM(P^VG->5_,2BG, QYJ 4 =I=[EONP89@\B);;3H
M>,>6,'@F$/4&692.[7<HE8@/=QCF_G7>6Q5_07AMB>?U@=_ 0#2 ;3#T+VN"
M&?'=!$/BO C\)"2;6 BZXC3F2,>D0*\/#-@VV9/1-$S\$'S;9<XCPM'Q*783
MB*SQ<+Y8'"W$ EI+WH"9CT&%V(Y1-Z4=7VF'T<X1HUWZ!3':6]J.;UO$PD99
MOH=:W_ T4_K,7!#XK0W!+Q8;^S7:R?8>Z,B.2NI^(]\=@45"V3,0*SVY8VHN
MC\N Z.^!$=+C8$ LCY/1:#7:V&&$+$^GA7/G6IZ/]F;TQ1:LV^[M]32=10\A
MT+<)Z^)&AX.6M(/^>\>B)UI81QZ"$- 0P5@5V[/;>V G[&G44*_5M6S3[H#)
M?)0]U!^A,L#2H47%7Q3!)."53=\P46=1,W@PPES/\5MA.^.>!OL%8VS(83NP
M@;YH2DSKT'JV+\)>OU6+HPY J1 ?NC':L,%P1>=C(-!O:H@8E0B(CDV3B1A$
M%;#INO*):3N&KG'S$<P\5T01H_[+PM"SV "VIK6(VCI8F6A8<DS'>SJPZZ'K
ML1YPQ]G988#T)!L4K3=N@#KV0$(;CK"@P%!^6\,S)Y,34S@(^118#6 NVP.2
M6FOU-U9^0U[?G3^UI ,X)U/<D1O6LFQQ@P->"6 Y\$OF"9'@NGXO]B?3T,C<
M-[BG*;ARKTE9NUF\]@<">(J%M['/T6_4MW\JDH:9M)Y!M1GD8S@<V&/9CQHY
M09.$#_ST3*V0;%.@A\3UO,:+PS37XWQ,=X[VRIV9X/Y166V<QZ4^N/F>(C^"
ME("+AM)0LSH&F&EN,'7(]9N8<J-:$5CN/:*11)4K214;;BROA W$0=_H,U2;
M<K\+M'+WY5L$-6B6Y0,?/,,BPMKGT>B"%,LL*O(([:CQIXBW4Z<.K1\>D$(B
M?.\GO@&=.!&5Q[A_&ZQMFV_&87W?T[P ?LZ>T'(G0Q6K1ZP.D!!(&K&+>*LD
M9(.HDV$N?D61FXX-\A;/ !BH!3ZFA?7%($;YRS"_B_D/=PA2M</]5@T_85CP
M<GCGV'O 6(<'.MC2/71#0_D;YPB)<P1<(+A0SEB,)>YQ1]ZX&\E/.$F1ER4P
M&\UK\5C'H4^E4=WU^WV0M*TN@99(9<)W)7"(77+.DW(S?(_+,SU]L)B0$T0!
M=Q#=CO,GE6ZI!:5<;%!ZAXOJWZI*O:P&TG[D,?@5S$:C&J'P57.8V#D\E0N!
M4E@?AFP810Q(Q)-:X\52\+0A^7<C#PJ>CU^'GTO5BJQK0U=4F[=,&XO4)3U,
M;'DV"@7Q9.3P:)][ 3"0ES_1KBOUNB+VJSDLNJG!S4;=2)H8,TXA94?1D8QR
MXE)RQLV6&N:O3R$E[J<T8)$>^JT6@WB0+56.-ZEH1]E"DM0CQAD/BO(8Z'R#
MBQ";,:&]EINT(;46U36BC11$&\SA7B@P]#A3"N:5V[Y#>4_-!UM9"XO^(D4V
M %K; ]*^O2;(_9A8I]"N(O/XBOC*^)]IT(8>/#@TQ$$(A1H!9+V W0WD1\,:
MFN*MKH@>PZ7O@Q3T'!ZJ-%P)/QFH#I=UB,2DT+CDH2I(ZMW [4:0&4.;7 (>
M1,1:12 .7F\-PT'><&<G;O2.;F(],('?0\ "J.G@3%,U&_P4G+ ,?,&U/AI7
M(ZF,_9+<%#>9"WC=9H@9!ZYJM4@]H!2G,K8>*5Q)L!"W48+2UI";INAYA)VU
M/%>HMP"Z$%;((>C4]_H^J3I1W(L(#+ -., T"JFC8H]=:5BXR3C$BVMZCH)'
MW>5QE)M-*1F3K!?90XKO%,\+-3L#,T4Z"9,GE^$I*O(I2?3 JST)<8@'85KE
ME25SYPK59]]@MJ#]&QIR/CE,SW,";\(Q[A-&LXN5ARD$-;[9^!1X6 3N_?_>
M5#-G'\;S /'H>JXG'CX^3UZ_'@F,C;"OO$U["6RSD3W,RPZ49<F%\6B1 X;X
M-/R."?PR/R\6,_-BRNO2:,Y[,LZD2<KSWFS;/DMY[#,K.[RE> Y8M.!.H&2S
MG;]DI]/\HU@H*\5272E6*G]&+!,\2XB[*J8HQS..J(ID4D4BQ*6C6QVV$TCH
MG>1.Q7.+OZ>3/?DI-?7EOTUXIEH=^3@A,-_\4RTKM6IATI=27Y'.3R^Q]IK2
M*%<67OLR/'*+$:EQQIC&#+[+(QN1.3+."--(E_4@4@CU1[FN5(NU:9_D3_QS
MU0LIUI1ZH9AY(:N]QEE.*]U<7"V1U++2&!?W+W!:Y8)2FH-MUG*ACGG73+N-
M,>RN9G68S(.WMC49T[=B0JE*7:W.)E/R>2N[8DI%;;SP#>,7Z9T 4N[)[Q@8
MEQ1UAG.[HK#MJH^D5%;J]0R29BV'HA8;2J50GV\U.5ZGT?,XMO1E3V),6:<>
M FCH0@8!LLPA9%I(L0IZ9\Q4R$9_@=W:]JC UBQ^CMKS" *2BI:-.EN-A"?C
M)2>B"*46;YTXWG +LV8R!T#%LE$4#86;-4^GQF33;&J( 4N.9^-CV7>^12JL
MDD3@U V3=92D;K4<[/\<]-_8IR3FE"?&VWT5)PQ0FK$'J6>[B&'7.9 YWF<2
ML^(&C1FG_#RFF7EY/F7]J"Z-)HK'^U/?VTV7\G]-QCN)4&MIG6^=?UHDW]UH
MEJ5(PTOX/=?3'"^9?7V;[*->BK6V),LN>X, L-=#Z+0H<9-'3T)*.XD10M<7
MJ6:.-5,1;<Q]B\J08S4*X@\>V$*2[V*5G:,-HF!UD#H6O5N0E"T<_ZD!V6SP
MT>$)E./GO!U#AU&.V?&BPD%L)@>;\ 3>6Z:&<*PSC/6LIYFB./AFD58,R+F@
MX5QF,A'AI\-W/3PRXB&\:AC.3[OK@Z#D4>Q7(E@)#CNU';I(/ WA\^Y]Y5BA
MQ=0F]P2=YY?4]?C0L7+LTD1GG-K#2Q(I:OYN7GC2QNR!DSPDFF^//?8PE=*Q
M<3J'YSL6IA=V"87-J>_@S%.NQ]+4?-AP;((#\HL191PB!IWCVD\: #6'9L2;
M+F;9Q1"+**UY^GUJ<CV)7 1S"5-\/F9W@X%RX&U)?8<]"N14E#+''%N@#,)$
M(3T\RKC%FDC]IL9+GN#.34-%IA14 74L3_JM&J-_;(\3D6Z3@&[3H6V*1HD^
M/,4X>"T-GS0'8DWA6=>0V,FT:W@F2BI C0^A&,&F*1*SNB)J$>([(_ 6A_'2
M2(P0L15'.<6.2H"8"'1$4"3@BA"+)(!+B18>(7RIM%^5HE:)9#T%2",C!/A$
M\[2S W\YW)??Q#CV-A5;9;>ED,\3'+X3JILA5,/PFA23E/QPU?(HU+I<2!^&
MDPGRDRI0;P,IJ<8ZQI U]ULCIN6!K74#[[NEDX3KVB:"%0/3R'9 )N#$3;<+
M5I";R])&.HW/T<0FNAWJ_DBO&I#>O$U-:$9?,PMME6N&-J$NGR%T%>4@AU4A
M4HIW<7![B.YQ8B"CG5WR,D"'RW9[3P1RI.LN8YY\X#@8!NWQ0.>K0C)LS>(O
M;(MMZ=*WFNYA(9NA_]\;]^&N4*B%%86G8+A)I7WYDX](<$^4%X"X_410>?[O
M(\-%&+./<EMK(@CLG(/=/QONP^XV;8ZE@.7U8-*SI[XM!H6 Y6MS7!Z?;P8'
MEN@^2\DA,KK'FDJ.I(YX55BO9U,9?%CM %;O6M7<J^LTL^H-70D/%)'E&C(
MX]YWK*L>=D[V31R0V]&X:25K8EYZEZ4T)T0O0HM7+\HC#;3(?J)R"BP<&F_C
MY^Y+'^P!]NI0X&&FR6?CB8D,T41V7"A->;!Q= ,*L%X4LDMY(SA>,=:/L3QU
M%P_J1,1(06J".-Y<D'<.= Q1:24V#2\TJ""2KRO K^O,;3E&,ZK&P I BT8.
MBA$2T??=H%!#.*9MT\=^7[R;V/B)#/B)V)[H@I(@-Y^5@]G<8%9.XH!V]W&#
M-R1DM.LW*1R19-0@71"3R\A%C]B)@HXX*:0-_A$2Z+&N)7"#;![L#X2Y$LTS
MT6DNTKYT+1JPXQ>PAL_0#0V#P$&Q60SC37D'S4T.8>*5#V$!<=""6&[Z+I9/
MT,),NP6<'RQB7SY(9)A*OTOB_5AMC! X4DMA]1]Y?97?Y?!#KHA/A=D#4G9!
MGT"J8J9WC0R+ZN.P*** PYK#,#I/42>B 04+B?RCG993]&-2+8HH8$P:I2QS
MZA@K?"#5/DM!O,W 8%JLY"L@[0C]?2HX&7E8$^=G."(<19^G0^?#L%QL'XM_
M)7]UP%6!SIZXO(Q]4 KWYL-6Y IOV3AC@!?G0EXV3=QV+9XF9)EHG6=8@D>#
M^:?3FME)8_//:(CJ$/MC)^NB)G!(\ELC&<[*2%5Z6!4!>X[/696";KQBZ+O,
M-,>B]!V_%12^PV_/V,VN\F[CVOR4=VU^<FSS4]ZU^=FU^7D%-MJU =_3'.XR
M3?!S4,J#A&<>!K4GP$CXQUR6,+!( _.<N(D D:1Q$&I-GHTW,3S.#$=J^U9+
MU.:''KKACNAAM'0B0R>AT?@\$=!.?)Q(,."F!VK-=\("\@G[X*8&CB1G'!0G
M4O9N'_R3A$$45 @G-DP>##6"2"-8^+OX&Z=016Q/&K?CY(7MN'WYA+MT/?@K
MI0=X#U\P!$:.'$=V$,:B/<_TE@GD#BT^%, M4:IIVII%0!2>5:"A1@P[3T2]
MM_>!E[T@V:CP6?$A$Z09\Y$M%B=L*N41CL1TSG5CYX665SF&7%'@;:TN3\YJ
MLOK[_V_ORYH31YJN[_D5Q,0[$3V!VT@(L<S,TQ$@]AT!8KGI$-I!&UH \>N_
M6B0!-NYV3]MMNS_=S+AM)+*JLK*R,D^>!)X2O*L\X29"]<3\.F=?D#\W)[G(
MDIXIE,,;T(.V1S )?;XQ7'$@G*L:4SQZ[YMY7LG5^ <'=$V#<"Y5C@QIO'>O
MK(L!A(-)<[3_]-!BP/O,A<UXZE;\A'9=WD=3MT(X..=_O?7U*ZV_]51H1T4-
M7%E1]?CU71(A_] 5!=S>$$,]O$W$GTY!I)G[S?='2"MX:;N4Z=R&-()X:>YY
MBX7$)4^;FZAKX\/>8T]O0N;J+>USO[^K1R*L-4K1)3OS'0\H#%KQ.C#@3T2N
M4.05@B8OT@M["RH@HEP*=QI.&"!7(\10@LUIQH<W9$^#=$37^,P0[0#;/\"-
M? 7^"7=BF)A ]@ )%8,9(\X1!'LYL_IA:J0[Y(Q!="@$]@2"#F]14%9P0/K0
M$\!PJ'1$_'\7#B %O$%H<\(!2A"7&:5&PB@$XNH)6_&AXD;PO9(#H6!0=LMQ
M(WJ0, #F.99^%TJ+F$VPAY@&NQ2>V +\##:/^,2/N*_1],) VM6,8;RIY(60
M7/ YRXGPQ;*#2D(CU+3I0KN(#47XB4L6+?P;W!LY+?IQ&T1L+C#6%\:MG; S
MQGUJ"".*$@(X1^L=*P^.7.,)N7#*A >S!^,J8?^,L#F]?,6FB%K1GZ,O<#IV
MON7ASH\0AV6BXZ,'I@S\N0]\&*!$]<C:VCH*:UV#R!#E&GA[S (%G3(S,NEH
MNZ&S(PRVHQ/E2D?1@]?C3D&<G0?,HHVVBPU1;^>A8E&C68B)H2/F:0Q 2S D
M[\@&@ET?LK/X#HXA1K0P6&-P6H9'%@VXH2B=%>I<:/\>*CH$ Z+H*+HC65%L
M-/9ZXBA\W*X&OR]U8]/@%Z%[5BA)G+Z#RA=!$B\:E8;6YUIIL46-WF ]*1&\
MI-D0[96RHK%%!BJ^'^/S ;HQ%\UP8M.,LXY1,@OR-)WYTZ_VBH92E"Z&SK[9
M[O@-O8;'17$'7!3WFNB3TC7Z)!^6XUBA1HX<"YR8$&SRR]F3?\%T?'0D43V^
MWT.?XXP,>B=KF"S5^;0"AAJR6L-Z)3-]$9<)Z:>1#\;ZD)::I/C/)&[A3=(B
M_#$TX CSBNUO[#U5<&4Y6:9P-TC>0!FNNY!M$&6_?!NVOW CH'#L4\$K+.8;
MO<!N@.'P&)IYZ?^&WE]X'0@99.$9"8'WD#L0IY_#OY^OP^'?$<[^3*&: G?0
M>["@)>(?-VS&AH^_<W/N*(]LAM5XD0_HH)AKI-VPW.CBV\Y!!3Y^*(R17K!O
M"O I24PAYE!P]1[[8!XD!_@/+'K^'ER%8U<6HECBQ;K[V7F DH=%$RA*!UZ7
M$L^[5KC<M7:\:^%H1 F\#$?@+K7DD_37A:+ ?YW7_4?4)86*/,]=_FX$ZU"N
MV$$OMZ)J$EB0X5HFKNUTP1A0!"'N)(/(<PVL7N$P\1#.$2#W,OAQET*#=EVH
MP*YO0#3#*:JKQ)\_1T@06!ULNW!9W8@2_H*-M<[$020'31J"^@"1\$_?&4<*
MC0.%5"\'@LB:!=_P\<4Z0N+Y)B2C#W%^+[V/4O$^N@Y*H=(A';54!#.!\A<"
MVNAP3A7>$3&2*[0P9TU+KC%O(/PP(CJ/.8Y_D.O\ATJ_[E%38LQK#1PG"V:W
MK ,P(2GT'/[6"OP28!3B^B/TZ#4?.OKD7TCSH +Y;KB'!^"&#X?RK_;EX@7
MQ="^W$6H$W@)@= /\;E!W'@:X&4?=MV4<!78XXIX\K[\YSFI\73$.)[(*XN6
M0A8-89KNB>>]YWD8F7-N Y5A"]"P(:,8G[K *J7 L&4Y_AITKH%Q(DN@^!I^
M )@U0\.DN'PZ2D=Y,4()NA'Q;,4P+Y39.IN>^"O@)+AN%!#V+CO(1B?LP]/U
MZ<,5(T[#TQ2Z#29NXW6!'H4#A=.6CME4'Q:Z:6X*#DJ74.'\6>1H?.*/'/?1
M;L!:C28!TJ4_3G\]''7JUK(_[T1^E,Q*]\^# (?$N7->'&VUA(NY5K"KD_(>
MJ_V9RCW:T-&Y&"&_0ZE0:N76$!XMINR H_Y@.=O[RYG2W!3FHL7GUOHQH[DK
M *<LFKUK+7J^PD2T^*BI0/C[:!L!8^#","]2($R,_J@+8B$YK]Z(HQ:'0U.(
M!"Y<;>9RM1OQ:K/1:B=WS'<6Y&B$C;IW^)YSNZ@3X3@0/_9:DLRT:5V$2J'3
M^OS-CAL!\6X<VHP+&*"##RFTW;.[#=$.6WB<H_S5@\_?_=@W_]KHXP>/3KT-
MP)-. )XO"/"D$X#G1P%X?GA[\0N(M1\D)LKQ HTJ[#35;M^GA]-6G4VW!XTA
MVZ],V\/!K_(U7GZ\']TSO%XLDKC.(I'WZ9ZD@,,9I1XD:+23W,,;"=^ I94H
M4 KOBN#_U[U($&O2WM+W^,ZGHV4S($["@4@1S;VXP,6T(0)PS###611YN(<$
MGKIT>9$/6WF'/5I@'#5U?N]E9WF8Q8^<O\@3#2$]P ]]$%?^<='03?,<A @'
MGH)8703#07EZU''\8AIBTK@[C)&]J/T\<Z")B/PMJF&%00V(@PF_]N["1XV3
M\? ;;Z;ODQONV]@Q;*XJ]X@](=W 8+ /;*H>V&4RMLL?>J&FT":D<.5">#V-
M=V$,V;+.%0<1J,^.R^VO\T\C2!-)WJ7AZJ?)2I3[K.  %0YEP/W<@'V(2>)S
M-P[Z(HY$?(-^&*7*WR&XO@UY3,-0J/OW!YWP#ZTMT#W1OL -[:;8,_[UJE9Z
MB "3#"1%1;CU.3IUYE)8L2#!-,8'-@,???V&OI.*S^_HB+ZDQ+B$KIJHLS0$
MQ<+MC2JG,?=K"*H+65<P.M:#,'B8(%U+W@':DK@6'R/BL8[<)VO_-L*WS50?
MTE.>PY)X<108]3,-3$F"&N^AW!ZB) B)?F%IA0Y3BI*DAQ!IK  1O:=X#3L/
M'T/9(I+X$YH(^#8$H$A-)(RXSE&Y*/LQ1?I3A[TLH09!+ 6P^+J&"KA"Q"9J
M5 P1QIBJ 1>_A[TO$>X$1D3 %UV0FD0XS/OTQ%^[*(CCZ:@:!C>(C2<"5KR'
M:HTIN2U_K6/31@/Q>1$R4UB.9$1E?V%]FWM9-'FY=6*Z$MQ<'N:[+EC[-%.#
M;:1388H3)GQ@N@[U/H3#0PE.R  (1HJK]%Q5D_&J/."#B:<<43:C+P@9#A"+
MIP;]>43W!R9".M<NA"<Z'C2$+MVAC*SF0B@X3JCBMLY.A&T5 Q/HG0"+=U"1
MC70+4HL!K8Z'0\T6F$\I@JM$>H)F9>T[HF0FCOE;0B5R47YB!#0-TEEZZ1HL
M21/!;O0-&^)==,3CS6/MBSDVL+&W+5V#E640*>YCNJ00VC#%F[^GK<,;6+K&
M!_=AU_=T!3.)IR(&6;P7X'8%[P(60H,7/^ I(K.!WP2Y9:,C"-X$0_N#K LT
M2T+D:ES"@:+CYNX">H4'3D=)Y>LR/#!,6(("6W=B*M^02ST<%60%@:GBN']]
M;#$\2$R.Z^UBGT>4)".D:H>>M6_*O!85D=B0D!_ME@-"GX73#)OI6BF4=C[?
M>K'$Y4AB' B(O2WXO(DJD\%.%S1TX><1#M*PD*FQW"L"'DF7]MAEPZ+?17M3
M]]W0IL1%K#![C:;YC'H[+TZX,+C3J76QNX$F8)!-R+&+=CO$F6!K&>+^+QNC
M5QZG^[%84 'B;TR%WXC9@W$[ 31)B0UY ^$K.E M7U%3X++XG>UQL;_3/*H6
M]\[ZB_!^%Z#(,[0E- XX 7F'_P%\T72L!@J,NB'5= 5P,+LIK* VY*H5O*B^
M(NIG<&FRL-\"^S58J.Z)UR]HQC 8"+40@&=@F" -^0B,6SV0D1(W40</&$1[
M7+@'1WF;5*I<B#F?@(I?P)\>X#9N7X@MX<P!A7PY,-%1>:J+JXJ1T8S(K],2
MZC(")(%MOV/KA6\ %PGBBS*5Q^5Q3U"#WT7H2D$ZU^-A)%"R0=] >(Q?]"4Q
MA37_HCX5J%C<E3X,LH;[0@0*HELVKK#&:B%JKN/;W@.C?1<63[MN.#P<[@U]
M3!&8:(@%=D)6:;@!4S'-/-0_J"W!F1Y>.->%?3,"C#J]1!?7L$E&#%1 <=]$
MU]Y%QBIWG;'*W0/;!"TV;'4"+12R=6#YZSL?:N0%F!ZNZ@RG&,+TUD<.&'_H
M985A(D1A#P_AJ*0RY.4/T$D%&T9$I_85M7T$RL0HUML=27CW-PWE?JA^Z\^%
M]J"1?[]A\W4+P>CEK]E)^B:2X*, %8#EG%JPQ&#@(]_.DO]=.]DOZ0GN'#$*
M=]V';NG^B?SK9[NY)YKTG(FNA!'0$73"L1Z-8#<3L">Q0B5:="G,NVMV_\ 2
M/#("\+@<A2WX1OX:>.S@'E;!P3?PUY'.8]H[X#<I#F\\:B=_8X@W9$MVWG_8
M>>?BJ8A\CHMXK,-51/":/A^DEQ*B\#JOZBR.KMU8P?^O-^SKMGL/G2:J\.?M
MV<"!5_)SY+(^%#]\/O?G[6UP_2GRP9=\JV%T]$CNP3-Q=_%\CGCJF1__FI^1
M_U&OY>^(7BS</VI%_C$DQ]_S_/]^?A_#_$\*]NV'OOL]+]BG_&F$_Q]?H"T%
MFY.\WIROU+"]3#W:<6_4.O[6%GHC41[I^!O)\?T/OJR2?O]HN561<O.T0S&1
MIX^89_M<_\'/^M8D_\A[PD7(TX]VR$U_\[DB?*"A%^E[ZD7'_C/7DY>YDOS,
M#'WGU4\9C^?=3GY+!7KV -[)T?M,K?WF=/_$RCY/P7)W)>*127K);_WYX3UR
M0I\WLELNP&\QL$<VX;<85;%P1^>*=P6J^-/#B_9W6';Z^R1*+A,C#Q,G/SS
M;V1#GO^2&V7(3R9-4#'O^M8Y^$,"$_>YUZ79?/K4>]$1O+HNH=#2JX_I]5&8
M4.Z!M0]A/>@*D,/(MZK%.XC]IZ8Y$JZVX7U/M1!C&TZM1@E9\"'?AA"\_Z.)
MRP[EMRF7# /\%?<E#ZEID131RS%8$Z9FW0NX]"7&VXJ^#6RO^.L0854X#@A-
MPG13-HYBID5+PB!%:ZW#NC_IJD02DJQA@AXL"7BIJ1F^ 4G$PT XEO?^(E(:
MOOHN:K%N\ $,JI[SU @392,8."QH,"7%\K2(4BYK(2R+&0&;+]J9N'=(BC.(
M%&,?;129191* ?PM@H9!JD"PF&OZ,WD!D;QD [R_5--'UOO%C/?]4YON 8WO
MYU>W,+\!BT8A8=%X01:-0L*B\6[WUQO@PJAK7!A]'Y8*ML\4H G:ZVV$KR&H
M<NH1E.LF>,NTTF+HF<!\942P>E[MHWC\6B9*7R5)$#]_AB<E/"C)BN-41,L&
MYW!#YY6OXKKQ58!O)/($^?4K^JE $5]/HNS(>W_5XRLQA\OYK53XUH%E_O"+
M^9E'5^AUK5_8@A=KQ[]-RQS ;B6XZPB<8U:2__<'Y'6 3WTF\I\)$O]4^$P!
M(XX5]7]_:$?O[[5EZ1)ORKSN2G\@"6&-.T&0^6+Y#U2(\;\_@*A_/R'FJTI0
M(BXE>'JN_OC"XW_\F[T2YLOC?X=ZC?X'E_WAPI WEGOJ&*;WG44Y-4^[@LUT
M:*_T>+6KMU?[.>]UEV-6--R2+?*O.]7D4XM]EO)U!<A]8ZTO9? @[:G)__AJ
M0T_]D_975.MQZ?I"?#GB474<Z/<B4N:P B1US:V-" 'R1.D3_Q=TZUE)\<.N
M79//7=R$1@SK%UWP>U<.<$TIL"[H<-A#:+D,*6\?-."(Q4$W'?(?\I/P%U30
M3]I99-C-$'XN]7VQTS\@=@(X?Q>.1?[:L2C<@WN8JJTU[W=#C[]^S.P;%Y!?
M$TZ++D8_'X\JYNSC2RY(J%-AX.;^6T&H_S#U]O&)/-\;! 1?8 U>VU^57,'1
M;'QEN!%E>34M?>[K?NVZ?6RI?K4I_6T5A2+OR41-_KMCP:?!W1=XY-*1(C^3
M]ZIG_/&%@8L-"3ZB,EI&U209.!A1?Y%A>/VU?<?U8>]TX,!&%"<4$5.<3'AG
MS9N2^WEXU*4@ZA:3(X@<.$GX+[^_<B96++%BS[5BN41-7LB*Y;YIQ<X]!A(K
MEEBQQ(J]I!5+;-C+V+!O6[!'?IA[TX25B4)BPA(3EIBP'QDG222WR9\@AX\[
M3$()S]WX,#,.M$0/NZ->TB*/K]NZIF%;UY@?ZIOMAG#2R,/9BT65[?T-<S=(
M"";N&<A<MM^K\CHB@9^HD@1)GE#BY(G/3L[C  (.+SB!P%//> S)@:PWII8&
M,DX\2]BJE@ZYO$*P6D@- U^Z__X[T?MX5TTW()D((I'Y!!Z#7101(^7,Y'T1
MD6/%;XJFX_RVLRM\'B+JS+C6@7B8G@PH3,AZFA8EC]?TVQ"OW\H()*=%<EH\
M][2X;P\FB:;\!$$S9.9#XD&[#6P^.#6@8:Y9@@\-TN^O1(FU2:S-LZW-A&DE
MFO)BUF;*'RW3,@)PI0Z)_-,3094,/C$_OXU4B?EY0?/#5'J)IKRF^6%X78C
M=CW-W$+NV,08_392)<;H!8U1K=Y(-.4UC5$-0H*UQ!8E&I;8HN_8HEZEFFC*
M:]JB'K^6],0,)<J5F*%OF*$16T\TY37-$&P<%K6L2ZQ1HF.)-7K2&N43+?F)
M9D9@89%TB*ZA#=DIPK9A-=[CTPW8$^\3Y)\1(1P"LK.$'4BP#</V2PS-TE\W
MU>W%65D^2K7FV]"L%!.:E1>D62DF-"LOJ+<?A67_U]5POTJ'@ <EW'2\#)-V
M<U"9SMCZY%<5;W_DM;G-]?7R5%]M,\4+ C":")""&-#@">M(B+PM!@0^Y$"[
M"S\%F[\Y$),M\#[N%AYW]X0(O;6$&FF'_7T]V$%>Y749=J#'?3TA-A!] #6V
M="0?MLD5?3VX8,;[)60,OT97?LLZ_QNM8=Z9Y_M.))S6F<&PV:M,)DBR]H#Y
M53C3=S(!O_O%^L/>H1/]^(94U>#O;XGT4MP:+^J':5^R;A9)VH&]XOOWX$HM
MN?]FM5]5!Y5HU(>3"FH*DB/6ED13WGI-WJ=4J$03"?*H3#-1FK=?GO<IU:>1
MHYF"9H>%<U*L.2'/Z.T ;J(ZB52)+_QN5N)C^\(3WO0T7K'23<WA==%*_.'W
MH57O4ZI(6Y LL<8DVO+6Z_(^I3K[Q(_(EQ*E>?OE>9]2/?")Y5AS(!L!S,OX
MP 292N(BOZ,U^RA2O1_(59R@HO]\4:Y@W@,_ORA=<_YE):SXBN]ZZ6+4!_@%
M):5>5-"71(U%4UE\90E?#^/U&]'TOP+$X]E@L-(_Z2%B\G;_3O=XL \21-C/
M(L)*_Q$1=ANTE;J6P8N^\"@>_TFW:^B'KT2I^E6*H.$N>A ])G5.C;GG!;F2
MPF;'O>R8EJ1]8Q[HY8[A%=<EUF[.K+RU[>]Z7:,T(6O$4!G/\OVEK53';;/(
M9LV>.!*5H-\<6.I@+8C&7*OI96-5M+N4FA/-8H[@3DZ#H4I%R5$;*GW<SW1.
MD9D*PSG]MC:M%X;+?2M?S8S\ZH3.<]Q\4I='4JM=KQ"3TR2[[QW'Y4:&G=-'
M-:OTF_O1@<YDY%:P.JJ"W*UE5Y1HKBFUO.IUZD=:X>:[N>*JJD$:@7O<]E:F
M-#KL.O1@Y2V+6WG<6?/TH*S4?4K)"B4GJPIF]<C(HK&C"_WLJE<K2I15[.?H
M;$L_E;TF4,2A%2R&U28W8CK]&:D)KEB6FGN^.N2D>6O>RM''G=ANG08-?[ML
MUH+\OJ>56LHT.W%Z[:9'>C1%$)E>0W3LZH[8B3V^%$RZIZ/N3X<DOS#MN7)H
M*4N^WZA.W(JTMP=9?>TLJ7GSV'=:F[DO6Z11]Y2V+=<*_MKI5J>GY;Y3RB_[
M2JGOMO9]>IX_MCI:Q@C6BR%7Y=FY=E*76K:Z/8#IW1B!W^W6M?JFVNE4\WFU
MJ';R6[Y,=<K\NFZO=ZN<X$^G](#>BL-ZER]W9K7=RE"*EC=BZZ=39B.Q%:'@
M&B>1V5#K5E<O#;A^H65+\UUS97E+8[^1.2V05H1WJLL]3^,LJZ?7R$WF*&3=
M9GW<GU9RPU;U4*Y71DOST#U6AO6J><HMJ*)'-F<\VUT/&7$WFW?9[G1WZBV:
MTIKN=SN];<9GY.[ 5]H6,[#R];K:+>W::J7%JX6!GCU94T_HE6O^X*0(Q1K5
M:6>8TR%[S(A=3E].K=E^=N#6D]'('6]R8[VI3#):M=(>,Q6U.VQUFP>G5,\U
M9'\P5NMB;JMZ8K<U6<K'D>2>%CL6B*"R]9JRW!U;W*$\%YO"8E4MTP0G";5V
MKS8J5TM+JKZ=@?40](RSVW0FDCJG.KT-Q75WVF"]TX-3,<<%BP(]*S,S\K27
M<YJI5\7AGMIJ&TOBFDJ%-!2VHQ7K?C!I57L3Y7245OG64"$4K=<YM4UK?^I-
M17I]L,3\=*+Z^6"M*.UZ]60'=F\^KXZ8LD@'':F=5_A=IJ+4Q*'*28=#5]OV
M.ULN/VO/<FQOTQ^J99H:4%UONC"K[7UU4-WS2X6NLOU"K6NW^HQWW%2]FKD_
M=/U21EP,VQM%TU>:SRYRHR:G&P%'Y293.J_FI^IHZ&4.%5*;[-V]V+#'=7U:
MLVW2:I3'7#<GM5L6P?G*MD=TEY1PTM1UG6[3N]G,:[1UCIAM5;'5"A9=;SQK
MDYTVN66\X3PC;H]+=[.T7&:CV7ZCD!DKSJ;/2:37ZQPWS88HL"O*K,TDT5!R
M&W*YU .CH4M60,_[OKJ?:ZON0"Q.5BNY*[N-X"#E.&V4:1P%>[(NN-MRO4T4
M]Z:B]^O9JML>CFO<R56F?G5YF(MJU3T,U 8Y,C<E:T#N['5;)S)NGQC,,B6Y
MY!269-_7=FQ_EYE(1(9C]NRL/"6;\VDI<Z0G \YT6K.JV6H8)KF61B-RMU*I
M738CYFJK@6!E&E-J179*#:.NU;;MF4OV-M.<FO&&([I?;.['@P:PGKM^5W3G
MJM1L:8Y\VFC=FC&;SXY>12]O M5B,TN6'UH^O=KNBSF;)1WCL&V4%;+"+BFJ
M&^17I<.6W)K<J51GM$"N5RB]HWL9EM&]6F7B^UE&:WEDH=@JL8X\J?04=\#,
MEA[5<Z7&*>]P0T5DM>S<'.PFLYD-5GLS=U9N5JN1I\.P/=Y)34^@F-ZQ$ZSV
M ]'<BEVBL.DM%X&ZFW*"31I+1U!.,R>3GS<F@E>2AYU%=BY/15'G&S-QF)\N
M?2O7[?L<;0P%#MB*\G2C:\1@#FSDHC,EP4JV)IEAO5*G=@.U>IR5"TJGLI$Z
M*U66K<%\/=,V6Z/;R7&LH-?JN75PHD;"H2YUJVVQM*AP5$,F:]6RO2@*3INS
M=5,J%PB2Y9J]G>*72&Z_/10&;7M<LJ4FZ5IR9JP.C75AR0;'<IG-S;UISMS5
MA>7!\HP#;6?H57$ZV!V&I_%RTR_FJO5LR:E-RMN)*JW-%3#H7J' LU.#MLFU
M<^HPUI9K,);;6]2&E=9T.9DT*:W34$YUOZG,FRMZ&O1UKJH5B_512>PW3UY+
M,"J[1<:0>SN:Z_2:IY;>%K<5RP4[8SNK*[OBR%W4N9(IY;(=K<1,-F:F426$
MBKGK&"=ZR$Y7,VM,]7N3W6Q!2J?N2@VZF0[=:/3,74,IL$J5FZW5QD8J',JC
M/MLT9O*1Z6<US1+U.:VO1#&G*)6-T.AZ37!@+(J^[I1DLG%:+R9E>]"=9(O<
MO#NQ:'8G\"/1W'3US+ '?K-41NN.P<JMKKO;YO6<V^@:/5+PY,-H/7!(Q][;
MHP[#T=OR+E\:3.E#RZT23+]JK6LMM<27=%8(Z(7C.0258Q5ZY6U%AV/&FXU/
M[G:;RO;08I6)4)\>S6YVL>MN2V"S29-LKL2Q!E6G"7Y!^%EM27B9ZDKL#Y?!
M3O'L,>69VG3&#MC /P56N;W* #O1Y O>?"D.1T5++2Z#=6>;L0;M8'G,GZ:S
M5E^1JM6J,7?W%7JY9=OK^:):ERIZE1&,'=<@3&W3E$MFU2_W!TJ>GQ(L;ZS(
MO;Z4C<5H-.N7U#%3&QS$X.C)^4.?%&:L<*AI_O+$LHOQ;DT(LU)WHRRMN3K2
M&N-1AUQUB;9IKXCML2U2\W:I5<H7\\5YJ])L5L:]A2(W@R.W&-HRPRV\C#T1
MBKNU<!RPUNDX62T+@\'Q$!SR-../QFV?K59HQBA4U!I76(V%J<RW9_/5EAFX
M*V%ZZ-<<E=IF]?W0V@]F)VIBMH\NM<Y.9N:0GQ$S795)4IOK9?V8KS1);Y Y
M]IARCY@:]8/=MW(&4:(#<=KEA'JMY\UV9(9J.1EMM^MD,C-RZ3"M$>7ZXP-3
M*36.N^%"-G9BIK(;ZWM&W:R7*^#2LV5%F3$UKS^1YL&Q*P73S4X7.[7][M1B
M.X*_5RI,<T-97([H-\F>)VPTPP-S2/1*#K7:[]WYDCOF%AS94:MUBZWD>\/E
M:"2O1U(YX/<[=V< '>'E[HRJ286%Z;@M9=]J+RNG\2$;%'K=3;?5YX_[KJ60
MAT-)8#:>D"68(5"/T:PU6!7\H4_(\Q%Q9/AEP"^G,UE4J<9R10P':S9?)#K3
M@U[N:19G$4?"/!7R.[E2/A2FG$*">61VG16[IWP=V#^Q5'>"H.9XXF95*AY)
MX HXMJLO9T5&UQFQK(#S=;5N"8[3DDI ',IU1:&Y.HK5XR1O.9/!=,1Q;5M3
MO$-N;BYFHZ5(K(N\EO,'72&PBWVKY,PRJWI1I8G3,2\P\H$8MN7>89:I9393
M-6AVIIGAJ&N879K9S3*$O!"G,AMPBTD'7-':)6F^;TO##)TA\D:CO5EVIRS3
MZ.:+MM[K=^RID_/Z!V7B-@_#[I9N>E8S.^>I#C\Q'7%\V&7G:GDDUDA/,(L5
MJE4N6I9'NM5C &9=J.F][:AZR-+,H&$&>;:EL$6NOPDR36<]W>4MT1YRUJ$O
M5C.&0!<GBXP_KN<SS.:@= 2[-)'*W$H@W3+16.OMX< 1F/&A3I9SWGZL6JO3
M<%4J;1M%K:!0[&E,R56^+ 8GHC-6>EZK(6T#SUV/F=[)&10$S1"ZO:WCK^HJ
M51ILUD6=/P4K^S ?G7)VK47+H^%LF#]PSH(_;7:GXTITLK(P:)6R1TYL9'JS
MH30C<[5MHV53O6QW+V>!@\5W]EF.(]5"<5W-3C.3K#_J\2N-,2V>MIQQ4<[X
MZFFH5H1JGVF6BD2146O5[*$U,?7>'-^XLFM+#.#_5<_0O_P_4$L#!!0    (
M  2+!UL"L&I8HQ   !ZW   1    =&=L<RTR,#(U,#8S,"YX<V3M7>EO([<5
M_UZ@_P/K NT&75D^LMZLLYM"EJVM$1_*RCF_!-0,);$>D0K)L:W\]7WD')I;
M'!V+*78"))&'C^_@[_%ZO-[_^V7NH2<B).7LP\'QX=$!(LSA+F73#P<_CCJ]
M4?_Z^@#]^[N__@7!/^__UNF@ 26>>XXNN=.Y9A/^+;K#<W*./A)&!%9<?(M^
MPIZOO_ !]8A ?3Y?>$012 @DG:.SPV.,.AT+MC\1YG+QXZ?KF.U,J84\[W:?
MGY\/&7_"SUP\RD.'S^T8CA16OHRY';T<A?_89;^ETHDSOSN[7<BW+Y_H+U/"
MOO$O,7N6/^.SWLEX^.[/-[]]<T(>9T\_7[P;_S#__G3YZ/_K-W)V/7K\?O$K
M/[D=_7H?B'POG1F98P18,/GA0-L7FO=\>LC%M'MR='3<_>7V9F3H#@+"\Q>/
MLL<B\N-W[]YU36I$FJ-\&0LO8GW:U<EC+$G,&5)I!3UE4F'FI.A=%6=($K_I
M!HDI4EI(>A:0THC4)1DZ29S#*7_J0@+0G[R)"'W9F6*\B(DG6(X-TS A12R%
MRA/"QRQ11RT71!:2!DFI#,1QBW6%A!2AJT2&<ZIX(;FKDW6>D\[1:>?T.,KY
M\/%F%&=2Q&%\ZF%I'-](.#H[U;77(W/"U("+^2698-\#:__PL4<GE+@'2&$Q
M)4I[LEQ@AZSE%U4(S!B'>@-U-_RBORT6%"I&_ $^:4<Z%]PC#V #TC^@XI8)
MT<G=/H?6YP!1*+[@9X)=Q- E$\JH$1Y6U6/4T173UZ;"3Y/S?3=+G.?D2^+>
ML^_,[X4@$K(;HV[@0Y@_)*G.ZV#/\;V-LJ[TJ\H9?H^*<KLROL">KJVC&2%*
M!F6=_F15YB=0T+KM)'&A,Y<P4%S_DMRC+J2Y*.2, M;HU8\,^RZ%E*]:@*P
M&F(!5L^(HF!$ 5KI="OH3K>%#KU*26VA+(4R+F9Y/[E?Z $12)<]YMY#X0D]
M$A)D!F5/G\@U#+3F)$"X?C8KX+^V WXE'?$)6LE'F+G(:(!2*J! A[9RU_6(
M/I:S@<>?91[U59(5LF\V05;+0$9("UU=Z$8S: %GW'-A"G/UAT_5,H]A 8T5
MF&>;@)D4]D\4B&MAW1[6@OZW3@8KP-_N _"VD[9U@"!4$8(;_5$-'$RICX[U
M..H2YO\>E[X@\$>8MRWI\I&MI%!IA@F#85 S\N=S+)90F>B4P<S4P4SU'(?[
M3%$V'8+_.Y3$,Y4M.%A@^G464R-0U[>D2#,2"H6:NK@2BU9R422X=8@RA^@Y
MT&Y)(S,$./7% K W6<"2#-J"+ROX:_8$AG(!WGE'5%#TF6\6A7^6+?P$B]>(
M$=4"4 ; )P(EY1/Y(+!+PC9#?B(.H4]X[!'H^)7 CNI)"9-O:.*B#S<4CZD'
MND8MXBX864#]-@MU)/<U,I*C=D^BE>S7*!*& O&FW8R_)31H_:2\HBK,IA1*
M,T;P(^?N,_6\J-:6$UC@^DV^"D?\DJ!%+%N@2J<1_F+A42(&E.FPV5#PJ<#S
M<,90G&8!S[LL/!$K%/)"(;,6F#)@+LDX[.#,K_6%?G*4+72=L2W@L@+^#W&G
M,-SM.8H^P204&J !IL*LB=X2K(O03%H##&R)+6 ZSL(4\D81<]-R:?;! BU*
M"FCA+.]Q=#3W ;]$(XSD!PM83O(]B@D/&P9ML9</"#T=Y1EBD1S;I;Y9%'XN
M)A&R0"&/MOQ+^^^RB&[=**[!(1='2++YQ]^_.3E^^VT8M&LA*=\-,)]399KK
M<.("K3MAJVA0%8$%2+G808)?/%6).;8X[2.LM[OP7HTPWTDN<+&+,!]Z%?UJ
M@^U6$;\''20HB/N%WRUPS$4EDFS0JX!1BX9E&#")1V&*!2(%\81T2+!%Y7/$
M!I-0[HZ=!?ZY@,5.XX2M\VP3,$S7[W5DZ\$^S05*JH.'+7I6P:HD3(F_+?#(
M141T]K;4=Q7!2@)3+XL%=KFP29UH5HMQG;!6NAW,?K; *A=E28:X6BQJQKK2
M8Y6"% M$<O&63-RK!66# %@2F-)4"W!R<9;R8%B+TWJ<G!EQ?8_<3X:^<&98
MDJ&@#NEY'G>,#7K3('7#7=LPZ&9R0H0@[B51F'H1GMMRL< ]%V6)A)I 2R@6
M&;EH)1BE)*.$:/0J%-YZAX5WQ%M!AX+K V X6#&FV-,'&.%OK5>)3]3*:^$)
MN3A-TA-B87HM&QEQ*):'$@);_.O%U\+2NL-"UZ4GDH^TY2@LL,Q%>-(QMY E
MBGFV8%E4UD24K*1*%E!8@)7?/Y*H> F6;=6J@Q:4*)Y.!9D:U2^688RK!+DU
MU.M1_#H79TFBF&:/QLLHY-9B6@?3CT3OHUK,J+.^>ZRDM< S%Z=)XKEBWO9]
MFX(9!9VAD)6@8S^H>%?,O<7BD:@26"US60"<"^8D 8[$H*0<=+%$( D%HEJT
MZZ!=LK!1@O(::@MT<^&?)+JEJQPMIG4P[<\PFQ)YS?3$\%GO=(6)P27WQVKB
M>]98;\C%P@?R&WP2/A"*192A6#""IAQ%HEO_V-H_LJN6B57",F>PR&*!?#Z:
ME42^8"$SM7[98OP95K^+)[[[8&SA+[DHV(Y7Q-L)]R;MQT"+)AT/RLO-KH7?
ME8X0+7-9>$5E1"P4<Z/%Y-?47Z.[=H2X"=HW1; -? 4 ].9<*/JGL>SJ9:%/
MWU>ZP&:L+/PB%UW+^P4J\0L4R$=)!5"H0>LNM6(!X8:5LNE_)MD"ULHXW&I_
M3 O2%MN;BGO].AG6 _FF]I:GMGO>]@QE,:Z6M!:0YJ-Q)6<L6S W:TYO.)L^
M$'T%Y;AL8%5$8@%=99Q-\T2::;@-KFU<[2&[Q3"4,!,,*_C6D5M 61E46_%O
M@=UT6VEQ,UJ88@%7+OZ5@J)M(.M-3Z*MH_"3"T*GK.\+09BSU)M 2P-:MMDL
MX*P,:B4VG>J_ E$HDH4"86TUK#7#P)3)&PX#1GG/+HF@3Z:V)+;92"7,A<;R
M!Q\+1<05<TNW<&W)S<(_*K=R&?'H5:# 5PAFG2L=4CMY8BW0'X$:B&@]6M?9
MJ+'0(4IH9I=Z&_K<1!"M^NK:^2W<HSJ:M6H^3!0SE(E"H6V/OHD_6)X_*.[T
M-\ULX0FY^%6]8PSM^&&SQ;#Y@K/@1M+X0$-U&-,FBP7<E7&ME8Q@MUET1J(-
M2FYT;*4LOE5.L![ LX)X5O(H2UL?-]M^E#S%4KK;J(C( K+*W6.Y<R]M%;/'
M;80A&[="KXK4 L/*P)7FC11OL:R/92$@N7T E306Z*V[9:EM-S>K?U=8,!@K
MRB$1YHB8OI7%@='I)?5\53K[M<QE@6OEIJY(# (YP0FVU^;:&,>,:$-A;1W=
MY*!AR0K/>CH+3&L=/FRK[4YNYRK&LTX&"V!S(:G*V[N^>&SU?_2K?I_(!)G7
M ,_URW(?#B35SS$>A-]F@DP^'*BI)SO1JV^_@]F'+W,O(M$2*EX#-+Z1+:E0
M<,0""R?')?=:(3#A"V+ZTVZD?,1 4:6SIR[KTG*@;^CNT'(/C^M:#EF(MT>3
M;S3_?=@*#EK7UHQ/[\GB_DK*/NR&VE77[G2%W)/9E[&0O-7ON^G7%N'O[(N,
M[\%P+A1BN<<=JQ[P#)X>O0E/8E=DT7]UHGP=_:ES?-(Y/3Y\D>Y*TSI*K(JA
MGA)1O@V4*'E&M$B^+"/7/XPSV0HM>8ZT4FAAGB[QE(R^;*R">7UT>QT,FUI*
MK'_HM$R==3G-WW(C)UB]SVKE!!&Y_E'+^!07L_M;+.L(3F:)_MC,!59OW=JA
M']$'R.OG;S<5NX'KY867^EWX\JT9>.JW<G^_>E%$,.SU?:GX',;^MV0^UH_-
M:BT_')0G4\_36_*AWQ"^;J3U:\CGT'A3[CZ8/L;U@ZLJ#E#0Y\2/^IZ[?(XI
MNU9DKBG!2G\LH7DW!_X^"NXO/AP$["B05"E_0Z;8^P2#'?%$,HH7)S5!:3/^
M-I,&LS$R<4W S4T_;80=:5.,6IT2R5M1D-8DM1,G1XIU+R)H@@$#^J)O(Z%.
M?$XG8T 501,,& KN^H[2L=V,YH4I35#9O/6:UC7]J0E*0M-'7?A"L9=6M2BA
M"0KK, 413D[?@N]-4'?$)^H9"V+.2SIZV3;COE4$33#@CBM0ZW[2<QRR,/,5
M&=:X2_"0J7E7^9HIXGG$43[VAL'4;)FV<FLN32B*J&6\P,ZCQZ?%/4 VL0F*
M%V_VS_AA-4TCS"",<C$BCB^(VX=_J1I@1W>W&6^S(6R"05 ;_+EOUK[R3Y/K
M_8!IL^S)FV!<9D_MG;[B19_\%$M(@1;/S8Y [.F;8)YNK021ZA/ ,7K&BY)Q
MU7JR1ANC][;5Q'%'O)I0+ .?N=!N</80+^!D?+:"H D&P(!>SO%'K5=NTEB2
MU@2U>YX/+C.AS@UQ1[U1IA4L26R"XB/ENY3WGC",FW.*ER4V0?%+GPP$GYMN
M);W!(VV#!5T3S/F)NB /&AS*>-J PI0FJ&SFKP]\+0(6=$TPIW]UKU>I[^\S
MH^3<YR8H.X(JB6^QH!BZ(_A_ONI6$#3!@-_X!+I8+A4>]=*:%Z8T0>7P)(VW
MU..$M,[%24U0NL<83$[-:U>93JD@H0D*W_$GH\[#C,)L^N&9/\RX+S%S@P_9
M2;H=<1,,>Y@!]7265/(9")97=#I3:;/L2)M@5&HQHG"%PD;18%U914EC[.D)
M_8<#QTR$(_6#Q#EG1&&QW%6X\WYA+AYGTV ?O)Z4IF*?Q>DURO[SVA1L;+LE
M:L;=0.-XP:LHI;%V1'.R\.2(WMU)@DOA^] UF%MY]"E#-LU.XFPR;&ZU2\9[
M-'J-B?]_!@WQ<AX<.;HS#PPHP3W/U*446/$$SYJ\L7[;QW(VQ-2]](5^JM)H
M-. BL@#<TARTZ0%['6*(1YFUL]5N_0,*?0$M%.A.(H%Z&P) IM4 72]\21F1
M,K&6FP@#VM V%E3K&X/-6R8/Y$5=>-QYC,?B&V??HHM7$9N=VE_S?M5UY;$M
MN\:5S[H;&M852.W\C2N!W#FIY3J;+7(TQ,JHV>KS^1AZ7YT?G)-/&?V3N-=F
M[7E"\>KF,=VZ0<N4OGD6TOPY<3.K;U&Q[%?$QB/Q_0X3=FET?MT6R*!#G5,E
M]U'(:^1] 24>M%#)C411RQUV^'LI=RNI39UY[KT@P%PW,[C^S#*_A*(?$?$$
ME3]^WV7!)57[*.\R05]"(=\0+$GB\S[*MT#&EU"T%]1,KV'\??7B $]]2XB9
M; X%G^S'D]>+;&K!_\S%(VC>QPNJL-=S_^M+<_8P*J6*]*::%+T'MAS""!%T
MOX41N*#8 R:K*.@ZHH:.<.Z(*MCB''AHO'Q03=-0RXJKT*I=+$UNJAM6W+!>
M<+=Z;P+^]RO!8L#]Q&;P;5@T%.AP8Z/IG/0U:0ECL]^;"FW%OD:+K8\--FQU
MX6'BED-]+Z)>((+>46]2@EZ1N'KS27(;9/\:')0'"S!7DPG1MZ21H7;15;QT
M7\P;&V!-VA1=NZ'KJ@-&K;;W5](TU5%T9-]T,F&X5P[ V;G>]=_'OEP-9RWH
M&@M?ZD7I^\G )UZ\I%.8U%Q+!)E3?][W8(+%IB/%G<<A$8Z^<V"Z6J9:0V3O
MBME@Y2)@LXMUX+!FW#\S(N2,+O)F5)-L$7+=G17A RNN:Y:(H"HD*DAPF^AJ
M7ZL%96/=+FBK]<NQGJ^;;-,;!H-1YAH'NZ1/^G!3W!K6RK'I6J&^.$?NYBB<
M>>5[-2G*GX@K)?B\VUS>=X.3R?#S?U!+ P04    "  $BP=;^[4K"Q(:  !W
M8 $ %0   '1G;',M,C R-3 V,S!?8V%L+GAM;.T]:W/D-G+?4Y7_P.BJ4G:5
MM5KMR]ZUG2L]-ZK22CI)>TX^N2 2,X,LAQB#I*3QKT\#)&?X $"00Q*0$]>=
MO=("C7ZAN]%L-'[Y^_,R]!XQBPF-?MT[?/5ZS\.13P,2S7_=^WJW?W1W<G&Q
MY\4)B@(4T@C_NA?1O;__Q[_^BP?__/)O^_O>.<%A\,D[I?[^132C/WM7:(D_
M>9]QA!E**/O9^R<*4_X;>DY"S+P3NER%.,'P%]G"G[P/KPZ1M[]O /:?. HH
M^WI[L0&[2))5_.G@X.GIZ55$']$39=_B5SY=F@&\2U"2QAMHKY]?Y_]DTW\)
M2?3M$__7 XJQ!^R*XD_/,?EUCZ^;+_OT]A5E\X,WKU\?'OS7E\L[?X&7:)]$
MG&T^WBMF<2BR>8<?/WX\$'];#&V,?'Y@8;'&VX,"G0UD^%NB&5_")":?8H'>
M)?51(J3>NHRG',%_VB^&[?-?[1^^V7][^.HY#O8*Y@L.,AKB6SSS!)F?DO4*
M-"DF7!'V\M\M&)[]NI?,PQ@ O7G_^L/;UQS,WTXHZ.>>QP& V#?H)MB/Z#Q$
ML9#U ?_K@WSHP4 K'Z.0<^UN@7$2FV%0FS(*)C>(X2A9X(3X*.R!5FW^4#CR
MC827 #F^GEVO^-X'[8J/HN :UF)\TS.\P%%,'O$%F)@E-D.]!]@Q*#I!\>(\
MI$^&>J"8.@9F=PN0YX*& 1C3LS]2DJR[HRB#,0VN/92Y$\"AJ,C<F2&&F\'#
M[?^8 +4W#,= G-@"L /NTN42L35P@<PC,@."H^3(]VD:)>"_;VA(?(*-#=<N
M*PQ%YY$/,HR)V.)F>%=G#(7'1?0(7* ,B+O"B1DF]3E#X7*+ 6Z*XWN& IPS
M/[[%/B:/Z"'$)S1*&/*3HS@&VPXR*WYQ2= #"8$SIBHPR$+#20 BECF!=3?K
M?:8T>"*AX1[4 AC,MJ6K54@P.R<1]Z\WC,X96AJ:,<7<H7 [Q0^&FIN-'&K=
M_\3!'(S#D9^01[#'P/=S1)@(K[]@%*<LL]UFJ!D#&T[O> QQCYY-=TUEPG![
M/@0?%X OZ[)]JW,&T_&^\<6(,06$?4N2"-'GA@B4! ZNQLS2 G#!:T_GO<?U
MXO?<=?3PY<6\<3QZ%ZSD,QWR[EV(&7"Y"3Q]-S&U@AG2LW9!K3Q^8B_;!<V.
M($?PN-WDW9@VCO?MMKUD,\?SQ%UP4\\>##]_@8,TQ."(4N8O4 Q!+?'Q41CF
MN4:P)C$)\AP.F* HGF'&<'"*$T1"4SIV7F5X>K]&* T(ESRCYY0M41;4$Q3R
M5#/\S%'I264WV&/X\!SX%6*<IX^&B3L]A.%E4/+3/3DM@S \GJ<D1O,YPW,A
MN.-U[I)[XMP&;7C\/V-^4%TMB+^[;NMA#8][$?X UQ)&'M*,9V=1\ 6Q;SCI
M284IU.'I481Q/>EH@S8\_B<+B-EP?!%QZ_W$TR!@X4YI^I#,TG PNOJN,@*]
M]?BZ%%?W)<X$I$.GE7[.9)2%AY<ON&;PU/LA@ _J!Y*KWO;%%.I8]%S*%CY/
M$S@1'"TIA+I_"KM]]KS"4=QWD^ZTU A>+C\[]G5L]>D3G);[[:Q. ,?-F_<C
MP!36\#IR2:/Y/69+?K[OJ2=2$,-C^@7!#A)6<!"L6\$-F6GIIQ7RF2-8R")%
M G^D#)-Y=)+"83/RUSR=TMNK&X,=P?(A$L67%(Q!? VQ. ,/RYE7.G5"E)N*
M5- _4L02S"#2[7V&WW6U$27*PPA0G37/B2U%P#'(YND.?^*<8;\-UQOX&%'V
M<D6CK$!DDR;<+3HQ CE"1K2O3]< &.-47<YZ]CY$2X$,C^T="O$]'01G+:AQ
MLM%]CT]Z&,-S^0RQ",Q!?(.92#SS+Y0^&(53$J9);V]A"G6\C'O/&-4 S@3?
MQOLAWPE@E0H?A7X:BB/;)?Q<H08_)YB[\H(>OI9)=6\.@R1\>%ZK?>CM\\)N
M$2? 'Z5UP(/B4JOSE>'T!A#9E"H*I& %<!<!_U-,0Q+P+>GED+P,E/?=)MW_
M?5% 71 04K^"M/C>05E5'XIJ>%&G/4/Q@RC63N/].4*K ZXH!SA,XN(W0G6$
MVN2_^#T[!6;19E+ #M$##L6*O^?C:L,.K.#**VM%%!4O^*YZ!'/,E30IPBH1
M?:AI,)Q>IZVD2$?,]RB#7?WKWF&Q#F)^17V:5?/YB(.8UV=P,/L@[V4Q?\;H
M4L?JG*VT#REED0 6>]X3'"T6B<#>C@CO%I0E/.+E'U_B)*_F4DE,/MI,0&^L
M"DA'ITOR:.96KW#2;@VTL\SD\]:J?$SH=DE.XO;#%MG81$JZ.68R>F=51NTT
MNR2AXFOR6E2#JV12'64FA?=6I2"CRR6^%Y]^?B/)XB2-$S@),T&7R18QFFPF
MI0]V P)S+K@D/+'%#4-0V5@ST?QHWXS)!SHDB?SS(HU\LZ- >:0=C&\876&6
MK&]"7N<<!3P07O% 2VN ];/<B/V;4JBIE GI3BF7+-HRTK6VB6Z<!5H%9L@
MEV1VBK,RRDUR>5. H!:7;HX;IX)62;63[9*0=&[?9'^9SG?CN- JO&[L<$F0
MDCJ?LV<_3'EGCNT]1O6IPF2V&Z>-5B%V885+(FP74U=1C'VD:!6%R^PN/IT;
M)1*E@]TX/+0*04.H2_(H'7-,/(]BN)E,?K(M$RVQ+DDEP['M,.?*P4<5/?<_
M/-LY#VCI<%MA2A74K1D9V5A;AY6']F1?99!MA5?SN7$@:9#FDKX4)]L;M.;'
MVJ,H@-^P% ==%*D3$-M;W%AR/5CCDF2%C^LB1>4$VT=_8XFUD.R2=$[)(PEP
M%!3:U6[]5!-LG^W-+:&>9)>D(TM$%'2N>WV5:LZV?9PWEEL79K@DQ!*!)B<:
MQ7!'LK=E[#JE<.L3'0J<NB=SY5QP2>FTFZ5O2E<*P*$XJE=B5\,5EP1:ON)A
M9$84XQT*HHQ35G*:G9).N9FA@65WROZIN+]C &O1$+13Y+8ZW274_U9K@J?2
M*ME86Y44N9\4*+5444L'V]X4:KXW*B>4I+JD1_P.!HU,Q-$<:7L[&\M"1>2
M@FA>E[G_?'GW^R6>H_ 6QY@]2NT^'U0;8]O]MG-5@K1[BGT4!*)%% IO$(&X
M_ 2M2((TWTR5$VRG+8S5O(5DEZ1SR^]W13@H[MT=^7ZZ3,5=0CA*$9]HXE:3
MN;93%L8R,V>$2^(K8:EZ+8%?O8>3[_4,#L/:?'PW0+;K&<PW8S\6N23E4C#,
MF_YVB#C;9]J.XTQI4Y\/7)28MONT+K!K;5GMP)&MBYP,&+'+$762Y$<7>C4#
MM63^<E"G\A)^GNAZ<^U%E1QPY:[SVUWO.GO?55;Y?M3+VSV>%)(1_<Z,Z.UJ
M'IUYV_4\% 6>6-&K+.EE:]J_"?Z9@>.[872FB_(J@VP%J:(WX#GL45E:>%,K
MRJMMX'^!-M+I!<RVEY1(JA&_]N:16XXS3K+F>L+LPJF6^#B^ X.J\YOJ.;;=
M9KO@VBF6R&??7HU(9MZB>=X;21//2(9:RM'B,-RBH<G/UL;9WO5*7M>##BE]
M+FWK_+TT7A 5+$G$VRB+=C*M(FF=:'N#F\K(D ,N"6U#VO:4;+#9RX.=V4!-
M"NKBD=AI)S^=F9.DULP!_8DBW2ZB7C/]X>/5PVT? PW8K2? O6V]Q:X(%DF4
M M;;@\LQGE&&2ST&SY[!6@&O2838^@+X)3[*\C"3"L]S$268X5C;!6/$16V;
MF0DXJMK;;JL:T$0+3$M]8-5JHIQ@V^Q.+^(6WHW_R31+7WW!R8(&U2Q)S7K+
M!MJVVQ/*2\4"][9CK=&T>#D)^9P;7,$XLS*F:/,GG8#8_F0[_;;MP>/QMW*!
M<QX)\GZJ>5%,EGW(FW%'<\4.[S#?]@??B3=^9\XZE<RYPHG)V:XVS':X)<6Z
MT5)@?#5PR++7.Y8?XPAKL_K*";8#+7/A*JEU:HN9U!S<\'=O@+])]K@8O^ET
M3[//99J$RZZ W>.'VG>"714_Y8H8_$^:]45H+VP9:SW;1G @O9)=AQQ-.BY9
M3!VEO,GR>4B?Q$LL1=AV-$M$;U+^I5D\M5U0WE?[NJ]BVS9/KW-])>&2IDE(
M*Y@%/V5?9:5<ZYIC&WPAVS9N),[5$RW2B,/)Y/\T#!EJFSM5\%0N"2JLBN)=
MA_=]RGXX3$\ M5_7PSL  SHWC/+K\\'Q^FO,;\1NDL;Y$T[:8L0N,/[_\-KI
M?--1-L.9JVGD(DB+@1&2-WC58M+/LFUX=Y::"5-<$N(I!NOODR*T*C_-JI:A
M=I+M+P([B]" )6Y)L-8)010RPW]/X)=$MQ7;9]I.ZP\@2S/FN"30:DJS^L7)
MH"&FX73;^?N=1=N)34ZE"HOS[75T2N(5C<4=PNM9UD/P4"W9MGFVKVKM+%(S
MQDQ0UM3MJ]F.W\C&:T/;7R!:LMPSF>(DR\^^0&UF%UH+3C53;'>JW7D?M;+#
M*7/8_B7]:\0P"LF?6',YH!L4,Q%_=%?$?9CFE-1!+P$__N9R]M^+J/F2AC;(
M,9AMF -X[:Z8NW#)<?$6KXUILU$MTPP%ZG!6QX@OCDORAN$5(D&KBVV?:2A/
MA_,]IMQQ7*35NO:VUO*F\PW%ZW NJ!NG'!>R2=?J/BY7#\]0"1Q.(NW&29?.
M25)*.-ZE_%A.4T=%4 $QE+[;>::N/'-;Y&?+54C7&-]BT2RGY^;703$4NL.9
MJ#Y<<UOJ5;_54^@:((8R=S'9U8?<ER!RT84QX)W8\T816;0"WJJG^ T!&JJ"
MPPFT'7GI>!QXFN)[FMNQ&\2Z:H%TNJ','<ZH=>*32QM?07GV%6RW*B I#$O5
M)F@MONC=TR/_CY3P&QT&'T/ULQRM$=)(KEYM8L 4IXQ1 ^'C-"81;U2451QR
M=N1_H\GU=X/B:$W1#E(V8)I;4F?4QSC0?*C?/ !TS4YYRQ1>:\HO;]WB)&41
M)[&EF?" 2SA:P-1!7X9FMTO>KDS<'0KQ]0Q^ TX^6=^$*$H@(.,DKY;:.U6=
M@#A:!-5/'PQ9YI3$Z^:OC\ [P'"T,FH'?]%'W%8O*\OHWQ2@[!#/2F'8U>KK
MV<88MZMO9;"CT:M&3@H]E;!@@AJO[>I7-#II7II1?][DTXUG.QI]&DBI$YD.
MVI$"]W/*;O$J9?X"3O77L[96ZBW3'(T.N^\Z+5O<$F0I?KF(XY1WG@:;@1\,
M([SZ'$<#N@XB;&6(2_$;:-G6T&N%UASI:"QF+BH5\4YM,$XB_S^W 8]P0!#E
M9?Q8Z"<X$-F%**C^HC3R!C,BFF'5LJ?Y-=6S9S PT1S?H@2?S6;8UUULGA@/
MVQ&4';XW[QEV39R[>6?:86;JSFY.OHKA,C-UQM<AMY>1!H%5B=SK:"?&;EB8
M78]!X6=&TQ7O149B/VM]A8-MYRNUH74!-]M1F!,J[H(@3+:.S2X.=PO$L/RI
MG4H[AP]]VCF4@?\[ G[][&5K5+H[3/6&39-4@R=[?AR-[DG?\LD;Y]=H_/CQ
MX^M#_B@1U]Z0QBG#\,-F[(CX'*.8Q#Q5CF-@07$;_(X;%[8&49%Y))H214E>
M#2IZLH2D\N15B8AW=2+$ EP6Y27$6T+Y(D).VV6\[3K>=J$1.2"RQ]DE3"E%
M[^L452>,B%GIS@0$"3+</M1Q*TWYP8MP,BI^^2,]\3U# 6[>V&G4$!6_D-42
ME8CZL4Y4L<X/GEBIT)#8VZ[U@U< ][+EA(9M?B<MW!I%8@GX-\*+I0NB^5,X
M3R24[OB?FN(KYI?)V((8TT"GJU5(,,OB3OXQ9<[04H;UQSK6Q50OG^MM)H^(
M;R7-L,7NS>LZ=M44RPB8\&YNVSA]#3(_1X2)%Z&_0+P$6%0K54K('M:1S6%Y
M!3 A?P[.$_"\*L!1-7E3]BU#_$U3<\4C</F$48V.M%*MA%O#C^93O$89WQC;
MJ"V,$R@VO&0E4/G;3V\.?RPBE5&Q-7G/LH1VPQ66YF\,KN253\?B%DW\\J;A
M48>(7R#"S/\T;G!9CDSNN5N4DMCPK^5IWG?9Q'$1K48V:E0E#K(:WTR#[@"!
MCIK&ACL=--R92I[*N$=)^-N&I]9'/]-0PJ,%-<H-?\V'3X.8892AQKWALKO$
M&E.IT2;H4-/1<._ET&,J>U".0=2H-MQ\+1*9!MMF2*+&N.'AU8')1,C["QRD
MHIHO_XA_PXB/CT*1SB:B7",F09[G$PU"LGX^ISA!))02V?#QQ2+"S>?+>&(=
M;[N05UG)*RWE?9<O9JE!:E$H#='8 YS .'K@*BB$)'_BX"* _0NQ"=H:Y[R(
MNGJK!_XN7>*@E&AH)M0'7\C.-XLAR<CSU*7,]#3LDZUK^T/O2'I8^Y@PC?1<
M^L8V*,6BE5(>JFX#RJFT5KFZ[>_J+U!W6R3Y?T*#Q=UE"[J;KVN[@.&%:VU%
M>G]5?>UQCV.BY6W7)KP\[7U1-XJ&)'R;FIDH4J@L:+L^]N4IJD1>X[_+.:B?
MR'.9Q\C_%E)53^)15[3=:'IDK1N=?R]1[:YH0O@M@R/?QZN$?\R&83>8+>5/
M# S-0_WRMAMMOS"%-)'E7]5?M_6V'&,MVPW%7YZ7;NVKZ;"ES ]RY;^HMHN<
MPEZ:(&&["?H+LYKF<IW@]O+HA/$.E_HKT-.B8+V7^U]!6R5"?6&Z>H?9(\0N
M>27(*1:OQ$R@H(IUK3>D?V%:J17?"U/%2W[E1]])<VCV-9>TWD'_A2F@2F@O
M3/>.B6C#$5]$9\\^P+R>\5>:^"F.T=DD!K$5 ^O-_U^89AJ*M$51)[^HMZE"
MVEP; WS/*5NB_)XN"B^B&?^9+ZBI/6H4WY9KCS; ^0T*3X#W-O"]T@*EBJ.I
MZHGS!:\0XP50CUA&7*-<MUI9G(/P-C"F*ATK50UK1-.\UU(230F$[7*O I7U
M9Z9]*KH^SE9CYAR+6_3T!268@2J;(%T=;KNT2<[S1F]E#:DN91HWB/Y&V3?^
ME@_EIMA *+7QMHMVNDE%2JR38@&;3V*P/;STW40LM?&VJU*ZB45*K$MB$54J
M)?M_MT(,\PINC6AT<VR771B)IYWH\=/5&T1OD/\-@L;"IJK\'I_4,L=V)8&>
M]P8$N+<]-@AK2\>KHYQQY^KO/ I)N<AX?ETG/Y7%F#WJW[E0SW'&FQL(14FR
MLP='.%F@^9SAN8!\O-XD!U7GD7>-^W'E\T@5G/>P+JX-3G0TW!+V&?/+_JL%
M\8U.P.\:=^C*9&V!63CN;FDJKF"6V\8?K\^BX MBWW"BH:YQRZY,70'6*\/U
MCM<>0/8RT).3JKC3JB&Q<0&O3*+RRJKM4W.31-YX+?M\I+:7^EEV['X3IY9$
M@'*";3=L(I.:!V@AWB7_S*\./O&RHW/*3FGZD,S24')YO%4%NX&Q[<7[R+0/
MHYQU]">BQ5U\$9F1I3&TS2XA)4.;+^.1R-LLY(''](JE6HSP--Y%]XZ<AO+F
M->0RY9+6!Y6.!SLY&L59E"MQLZN#LLR.S]%/L=0#.4?H-Y(L3M(XH4O,!$8F
MSM!HLC6?TLYRJ?'IP!&7G(L.[2L:^;O(LCS?FCL909Q-OK@NT8+J=:^]V9QM
M+3,\H#15/'&KU[P.\;[[4PK 6C9Y#)$:[5"WI"J(%6>0_OZS.MT.;5\C$$&(
M@])-\E:"='-LGRT[R:JFH^V\<,QQQ E+?<Z3@FK^ZDV!^RT/AR,TEU4X;YEE
M"L+V^7(7N7;FE&-B5AO.GHYDX-(_:6V7LF)4-=I%R]%@=*4^3D^W2THD.O,"
MBL7S6.# $QP<S4'MXV3[29ZR2QK-[S%;%LR(KUG>U5?W@-\@T%VT,$KY#TJY
MB;Y,G=@:H/>E0>G@NT9/MH&[8%JK/>3E+0G>#V')H-XF\TK[*4E;*IJ#O>1@
MFXTS?_"N+'Q*RG"ZE%%ZGB9 P]&2LH3\*1;.+^AHZ&]4DS;I]Q3T>]EZ7GE!
M+U_1]H<H#9>T%11M\^PX% U6$FG?XB581+#?7%EB4,/_QDC3OFD0X+;#"3-Y
MU_S)@&QU*?SH1M85V*+[)QP^XB]@TQ>:P&-7N+9#C@ET1,7,EZL>7,GOG^A0
M6K$!9[M\=@)EJ+'NA>L K*S);?0&:+M.=RH]*+/O96O".4T'BR:V\&S7#$^D
M!V7FC5_;W0V_HUF"F4;"'.1.$&WW^NHFXYW)=3'14*HHS5]\T)P-M7?UMB]&
M3'( UCQ^89#Y>-_Y&8RI4QG2A\%,*&M6^BH>"K.8GBGR<?PA#[6^O=>6]7(8
M'@>2/P=B-[_ <;@0WSEX)O($&+KF[X8L>?9,[1SUL^P$ "!G7D+&<""]ZY\/
MJXZR?=HWX7[-5<O(G,0!\RUXF;WL^R!C<.YF:L-LGY6[<%A.@7NAKKAM5S9%
MK9_>U3-L'U][[( V\L??#7<X(I3=81^L>Y!MQ7/DJSZM\BG:&;:/CEWWB 'Y
M+FV74YP]O",^L[9N%?EHVZ>Z'MM$1[:SY?!?4)(R\1'..-C27C#:PG,O]"K3
MIPE8*J,LA58E'+8<O<6K_/LU?UF31#Y9H;#C-YO=(=L.X612K(=L ['/):/:
M@::+R/S3S(Y@;4>;PRJ#FG%NY6)*!EI[PF_<4*I880O%%L63F/!'RH"/4>8F
M_35_[%)WY>B]]LI1Z55,_E,&VBM@>QGPZ6]>\^JB2QK'X%NC4\S(HV!VJ2-9
M$5[$_T@12S [XRMIF*!]&5$LYWV7+?B]1R-ONV:E3=EF5>^/;%E/4#A]/4JA
M#;PLJ1)@F<<B^B*<K5J(RJ-\#2]?1!N@./!6K,D.;Q3A='LUUIHE.*'+%8TR
M\[MY5K:UYNB]-J^\A9EUA"N>G954%DWT2JZ!!#](\LOE]W*M2:CZB*Y:)A^T
M#2,:+^I.;&/N4(COJ3$MVCPRA^4EU!)-4AJTFM4XIZD0GUZYSA"+>$GV#6;B
M!>-C%!,?[. I"=-$YP(_:"]=%V ]@)L]C?R#)T +*Y@#GTH'&\\ZF\BLTP//
M$XL/[.N2),)SY(7$P&L(L S5L1&\E.!M*H,W$-74Y<$V_]<#BC'\YG\!4$L#
M!!0    (  2+!UM.%2ZM:"T  !K= @ 5    =&=L<RTR,#(U,#8S,%]D968N
M>&UL[7WK;^.ZM>_W ]S_06<*'.P".Y-)YCWM/H7SF@;(PTTR>U_<+P$CT;8Z
MLIA24A+WK[^D'K9L<9&4+(E4ZJ)H)PD?:ZT?12ZN%__ZMY=YX#QA&ODD_.W-
MP=MW;QP<NL3SP^EO;W[<[HUNC\_/WSA1C$(/!23$O[T)R9N__>__^2^'_>>O
M_[VWYYSY./"^.2?$W3L/)^0OSA6:XV_.=QQBBF)"_^+\CH*$_X:<^0&FSC&9
M/P8XQNP/V<3?G$]O#Y"SMZ<Q[.\X] C]<7.^''86QX_1M_W]Y^?GMR%Y0L^$
M_HS>NF2N-^!MC.(D6H[V[N5=_I^L^U\#/_SYC?_/ XJPP\051M]>(O^W-WS>
M?-KG]V\)G>X?OGMWL/]_+R]NW1F>HST_Y&)S\9NB%Q]%U._@Z]>O^^E?BZ:5
MEB\/-"CF>+]?D+,<F?W5BY<=RHT_[F=_+#?U)4.7B([\;U'*R05Q49PN$"5%
M#MB"_[17--OCO]H[.-Q[?_#V)?+>%#BEPJ8DP#=XXJ02^18O'MFBBWR^9M[D
MOYM1//GM33P-(C;0X<=WG]Z_X\/\Z9BPI?S&X0.P%;(D-\9N2*8!BM)EL<__
MO)\WW6]IYB,4<*G=SC".(ST*-KIT0LD841S&,QS[+@H:D+71ORT:^3>'YVSD
MZ'IR_<BW";:ZHE'H7;.Y*-\?*)[A,/*?\#G;C>98C_0&PW;!T3&*9F<!>=9<
M!T#7+BB[G3$\9R3PV+Y[^J_$CQ?U212-T0^M#19SK0';XB([^30I7#9N[_N/
M?,;MF.*(,9=^ NP+N$WF<T073 K^-/0GC.$P'KDN2<*8'?5C$OBNC[4WKFUF
M:(O/D<LPC/ST$]>C>[U'6W2<AT],"H0RYJYPK$?)9I^V:+G!;-P$1W<4>3@7
M?G2#7>P_H8< 'Y,PILB-1U'$]G:&6?&+"Q\]^ &3C.X2:&6B]A!@&LO49_,N
MY_M.B/?L!YK?H'2 UO:VY/$Q\#$]\T-^OHXIF5(TU]S&@+YMT7:"'S17;M:R
MK7G_CKTIVQQ&;NP_L?V8R?T,^335Q"\QBA*:[=UZI&D/UMZZXSK$'7K1_6K6
M.K3WS0?LC//865;G\UWOT]H:;ZI?=*A3,+5O[L<I]/E&Q!8)N^-J"TLZ@ VG
M=G^G=[>G^!T_.AJ<Y46_;D[T.E2)>UITNM=AIL7I>CCIZ\&D'*;-D[4.:>7V
M/9^R=<BL.60')VX]O"O=NCE]ZWU>HI[=G<1U:(-[MT:?.\->$F!V$"74G:&(
M*;6^BT=!D-L:V6X2^5YNPV%;4!A-,*78.\$Q\@-=/K:>I7U^?X0H\7R./"5G
MA,Y1IM3[*.!6:?8S)Z4AE_7&[N(,SP>_0I3+]$G3<"<?H7T,2N=T0TF+1FB?
MSA,_0M,IQ=,4N*-%?B0WI%DU6OOT?\?\HOHX\]WMU[9\K/9I+]0?)K68^@])
M)K/3T+M$]">.&W*A.VK[_ !J7$,^5*.U3__QC.EL.#H/^>[]S,T@;(<[(<E#
M/$F"UOAJ.DL'_&[JUR6]NBES.D-:=%MI=IAT,G'[^+*CF9W4>P$;WMN\D%PU
MWE]T1^V*GPO1Q&=)S&X$HSEAJNZ_TWW[].41AU'3CW2KJ3HXY?*[8].#;;-[
M#[?E9E]6K0&[M9LW8T!WK/;7R 4)IW>8SOG]ON$Z$0[1/J67B'U!Z2[8"M7*
MX=JTM#1;%>*>'>R0A8F$_9-0[$_#XX1=-D-WP<TIC4]U[6$[V/F0'T87A&T&
MT373Q2D[8;GP2K=.IN4FJ2GH'PFB,:9,TVU\A]]VM@X1Y6H$6SH+;A.;IPI'
M*Q]/_?%[MADV^^ :#]Z%ECU_)&$6(+(T$VZGG6@-V8%%M.F9+AF@BUMUV>K9
M^!(M'*1]:F]1@.](*S1+A^K&&MWT^B0?HWTIGR(:LNT@&F.:&IZYA])EF\*)
M'R1QX]-"=]3N+.X-=52-<7KPC3<COM: S;@HPKW3Z.((NV^GY&D?N]X^YXS_
M(V4Q96_\]'CB1VY ^)'RAQ_/1IZ7&IE1D)\S@E55&3=E3&NH/AA*'3$UJ,[;
M]T':R/MG$F7@WQ%^"K(3+[V"UR!7,D;G+#!1)0&B%WX41T>+TQ?L)GRA'K/M
M<$JH()1%S(5RF#X9J;O.A5W[6#P-/LA^"=P$DM]HPT![5<A&Z/GCK$EVI6?G
MY)Z''KL8> D*:M%:Z=8YH:-G1+T[-I(FF1OMN]\(*.*97"-VY(;3VMBO]<9]
M+H S0J?L"G6#79ZE(PQM$Y,LZ-@YL==)G*;',5'5)QCHW,_*C8Z9/L-N)9?A
MH\^U&UVB@<X][ MIL$9E74;QT8)]_/K[A'@8?ERGPW3.R F>H"00!3:+*5ZU
M7R<-4;<.=8*\O"(]D"?D9;3-V!#431[PGN=SV::Z5SY1A5(^BA_&^ZSI?MYF
M7SA ]W0O)]OSR!SY-8FN]NZ!XG2FO3F>/_!4Q%KDKG?MGE;$4R'J4(BJN1-=
MT!62>%27M*)/KVLR^X(;+\JB^SK-[-?<%<I:7+ ?U^C&+S'FUN^"<CZ@3D)L
M/H8?\^9Y)O2!L\?3IE/3.ONG,'6V35(V,F-%)!TR.I;)?2E-;(8PPA[_5T0"
MW^-&+"<?R<F&<GY9!LC]N4@Y+N@/B+M&=!HA2*ADBY^@Z"&%+8GVI@@]YOL\
MVZ:+WZPV_/P7]R=<2M@[PB'[1SQFQ*VL"DQN^)PQM.0X0 \X2"FYS_MK=M\W
MPELIT*Q"9K2B,\HM$A"/-8?9Y'6U#D>TX#K_GC0WK>PC_N:2,&8K]S1(EQC;
M"'"J01>$3RB9-\$FQX%LPW,92T;Z&X=0IL_\]N;@W8IZKIQYO[V):2(04C\+
MHF1)7J2QM<A-(SQYY.'J+Z,77[+BZXS1ZE(0:C$ ],W@(XT9!?&W >F37'_2
M0?1D0]=J!;FJ*@? UD#D,&;K;%>Q.7PW3'#N#P2$MX5/H=4TW'([ #!E%\+P
MO1487N9*OPZ&6=M[T>+;#L/U^X<&/AO?!XQ#B63P6S*VT5V1D-: 0MC\_H/E
M:,!40X!\, 9('HCX$*4AO# 2Z^WN/YN!8!L=4< !!(>Q;2JC,0L_BW5!V6AN
M"AM8OB(<1$1;IY;Q:D)IY%@TXY$$3RA('?-Q$4J61ES!\&AU-PN7! ;2D!?P
MT#%VKYX1&O- /YYSECOB)-=G0>N!8 22#NICQO:Y2E;)%8YS/B7;G:370"!2
ML@!J"*:@2DN_K<B-=(""^PP$)@4#$$@?38%49-,NTFI8$"SE5@,!HD(R)/I/
MQG2$//N-Q[0=)U%,YIBF3.I\*!J=!P*4+B<0?I^-[F]KS"KVM;6V T$'(!P"
MXXL5]Q_->\] (-"7_E>STK\BH5OO EKM,8P[*$"WS#MD!I@Q)8^8Q@MN\(C9
M+8S?P!ZY>B\][F6]S (D%SRIQP4(ESF;FDC)7_%<\X*SZC@<T'08 7$S9B@X
MP5GQHF5*US+M7QI1 /09#EH*'D"@C)D/9,JFSG>FUW\X -;@!P33F(%!4&7C
M],4-$AY;NJHB#-]IU;V' Z0V-R",QDP0:JB&!X>>R(V9'HH$=BV[MJ#Q<("
MB <QL<&<H',2"9L/!Q>8?! 9P[8%+35\L'C4@\*PH4$%P#","'*?IS&30:D8
M&Z].'A/WYUI.O-JVHSO"$&-!:O$&@FO,P% B7SM6!.YC"L F(( PUHDG.31H
M87A0.X5*C2R 1MO O4DV*'WC40=CM. F*;;HV&]H@KTJNVH;G<8@0T*O+EL@
MNF8#%>H@"708$FHR%D"$C)D(3GAU 1QZQ2)3[X3B#D-"2,8"B)!5P0P%UXM&
MT0R;O8>$G38_()#&S!!U]L%A;X%U=S]C]H<2H75<[-)N%@"UO>I>TPU_:,QL
M4?&3E9FHY21<[V@!BENY"P7<0."9RP"3;N9-G8:" 08&9AVN0%#-&4)*)7QU
M,!2W'QAD$B9 A(Q9/(0\UCSMAH8/R ,(CS&3R-I[PAJ@6 #%]@J'' MC!@SI
M.ZGPJ01V&BY6*J9 [(R9-IHX6.QSJ6R/7$-7RGMC%H\QS;79E')%0J>@L2FH
MFH #D0^B8LQ\P3< $NI LMER2'@(:0?!:&JXJ%8MO_M^<7M_@:<HN,$1ID_"
M\X4W6FLS",F*J09E:BX"8EG]?(Q\=I,^1H]^C"3!<T"'08"BP0*$D*C41S\(
MW?!R^R'VBF<01JZ;S).TJ@>//'!]R<FN[CLDW#2Y 2$TF8=1$)HZRG@Y?(IG
MO'C2$\ZL5_PUI"L<7T_NT(O4YUMGH"&!VX0U$&ES)1XJG-=1NX>$%T ]"(D-
ME@7A7:)YX-EP;T=:G(%0E@P3?]W?8/J"_=A/.=DQXN:L&8Y]=Z6OK->6?;]M
M;5GGE[59_MQEK=PEH='UY/HQ?\F>PP-MAV*>/^CQO)K-(1-G-9^#0L])9W36
MIG2R.7>%=W>%=W>%=WO4_7>%=W>%=W>%=W>%=__3"^\"QL-3IF71$ 5%Q$ $
M%G+ES8'6]M9Q51%MGZECR_K&7VQ%0DXRA,,7@S@\X3#!9XQ385*^TBFH.<#]
M@>B3MCSKJA9O$+8&3R,I]<L\?9X6R/[K22V*#08S!GD3V&H!#W-KG;YX3*+X
M>L+K J06'$R??!='MR3P8*SA/H/\BE7L@'JDL<H4E$31F)*)S&53:C1(5"KT
M@ZJ@L?RLS-@53D]?^*/$6*/H/-AED! IN &52F-F,1P$*VHE=J^U=L:@T1,O
M49(.X6"NL@Y;;!0%/"73FS,I<J[X*\A*8!0=!X64%B\0=,:BRRJ<UMCK!@4/
M0#T$2-/ ,L <D3I.EB2LO-: /0)J/@R)JSD K\7&/P,I-)O"L "85HY[77B,
M!:-=D9 4Q'YG4HDXK;*]"N@P2)BDO,C\5:W:4U/W_R6.9\1;]S)OFE(K#8<E
M=!D/H+"-W?;/",7^-,SRBMVRI9ZO%+Y0CO"$M9&:>FH,,BPLF_('XMS40@!\
M5.=AC"F.XOQ09:ICD;F:F3#._!"%+OOL@6]-N_^P8&O &HB8,6/"ZDPMC(I^
MF#!Z5Q$UV:);YBCCZ/2%J52,<,8:7:22X=EYW!Q)TDM@(1/X2^YPTF$MH;[D
M :X[@\6*<U;R+R>7FVK-5#H,&&^ %Q K8W:3*QSKW#?6F@T2%P$'(!K&3"%%
M]L 8T]L9HO@(1;X+HR)L/DAT))R *!E+O-LD]L0/DAA+G%M AU>!U!HO(%;&
MK"I_,+5[QN@;/;'C=HJO$BZ8ZTE*>G2=Q%&,0NY557QIM889)*X-. 31-F:D
M 9C(UVB%E]IX0P.])L3E/(*.:X,UBRK9!T4BEMIYJM%YD-AJ\P7B:<R>),NP
M@\TH[':>_A2D=ZJ1]\\D>P)!G;?8S7S&5DU=Y 6U4CL2!KC4C 6]R+CECWB?
M!>3Y[]B;XL)(-YK$Z9.W/#O*G_@N*KAONL#JSO(*EU4S$8"+R5SHCD9F\)C0
ME)$XIOY#$O.$D3N2I?$U6S\: [_"):/--;A*3-:O@H3"?LHB/(5LU;7#MCS1
M0%=1)U( 5U7)BM=O\G$Y/[?83U>JX5H.[L<F.;A\3"<=="W)MJ>,X_0J(LR+
M7V?M4Q/6RH/_#WHDT5^<; [SZ<1+0BO:OJA@0[6MJ3(3.26J3."-=M:D^L)B
MKY29$'%J?>+NDNQLG?,MDH1I&4%IKJZBF[GT7#$* %0RGBU*H=@@4Y78"30W
MDWBK)VNBPX!]UJ8V@+$YZ;8U\+I)M6VS:*(J!;32]-Z,!BS_-L!JB2N:K=O=
M@")W*D"DW3KXJ%I'1\T "%53K'0*6TKST@4M[T7;KRVBEM%LG[%[LVR@.BU=
MU/[>T-V\SMJ74 Z>$C87151N5KI#F*KP4&OCJL4,A*>YR@^935 %6;G5_4?[
M4:G0"PG^HS'!B\UH*B!DO>X_V0^,DGX(J$_&@-JR..A74\5!M4TU0I*MTXQK
MA*A4 S2L!T%(,:B4V?,IM.N9:6=\^]%NCTU0033VR%WQ8&GIO@T#+FIM/7P@
MT:!V9_1[O<&/"75G*,+>24+Y&L/4)Y[B80QE5^MATN, 5 QMQ"P[)IJ!EO4=
M-&HE%D UT<88%TL#IFQ?"JTS"RT:8^D2$(?-XPE;#:/JA(S!+KONI &M2V.I
M(8U2WVS'M4HM)/=2DH:Y8*5J:(_&TPF?.XOSZ?--A;Q8TP:+7[]^?7? WX98
MQ?JS'Y9MNR.'Y_4P0,9,]V "* Z5VV0^1W3!@&*;0GK:A/'(=4F2OC8Y9K(N
MO[Q9YN'#)@_I!!R)\A3IDP[Y)"E*JVF<U3S.:J+N!#!RV7*(TL&$#'W<9&B]
M0W>$G8=/3%R$KC^@7B;MTR9II2Z_.B'OU!UY>=W2B!T.'LXQBYA^@OTG?@84
MM4QYV=+E2Z7\%X)7=<L\?=[DJ9CG5R>=J5@>D;.:ZU>G&-S)IDN7U_)W:S-V
MB5>,PJG/Z%GRS N!/ON!\&/_4@6OZ%_F8C5$AT&7R>-CX&.:5;; 8TJF%,U%
M1'_=)+KHZN1]G67G[LCE;WL+B#M\MTE<UK [0KA^SBOS,CWIB;]Q%'IGR*?I
M]?L2(TY$>@R):#W8I#4?RRD&2\'GPSGI>,[Z@%VNXF4]"A'=A]55F[[!DW?H
M<KM95CD7[QR'E=,S[^(L^W3X!:E"E5,**V?CFG+RIR^'!Y\+[:1+8H_5;VF7
MJ:X<@*7^RXVV-(*=NHI$9SFLG*-MZ"Q,I\S_U:DZ6=9&TDA8(8>54[7<S?DE
MZ]@IG>O:#$RIX%A<UVEZH;8%Y09FL7*(MJKBK.1CIBQ<<0*62,K/+N\Z9 PE
ME.;E!*(?(7G@P5J<WO/P,8G9GPG;10(?Y3"JTA^ZF<U00;WV>%&D8+0_DS5)
M'%TNO\W:?AWA97TBR9+QHT7!^N*8[Y_R1!)%-V.)))WA""P7F=0L"DEI42R;
M'*NR)WJ8VDR*C-X:Z&R;D>-@4[K-:UY\-J<!6;E >WV];UVUEZ9(B)J:2D?I
M;Y<@&@( #[.6TUD$URXMQ"KM3:6V&(5-+ 7P,#"FB;"[,II.*9ZF?%Y/\NMR
MJFS=L=WM*%"$X6ET-Y6-T>-]15\.T!(PI@ZLGF*^S0ZP&_S(PPYXO.B$T'G^
M >1_U%@3#0?\#U@EVTBF[3L,L.NO2"P,9R?\R2,>?9+2=AIZEXC^S*V,LM7
MAVLXVFM>"MN*!3Q"S.\?A6GUBL0XNB HY-;;947_E;VUUAY2>]#7O'A:D@ZH
M[W>UEQS/4#C%T7DX"@+RS'W99X2>D.0AGB1!U050<V_9:O37O%S:%A.T;@Q6
M?A,\"\PO3.PK6&KLNKIL@\%>\^+94BK06C%6STT20@2Z$]]7PE[D@42]^$]Y
MY U,<27XA3?OA2[-B!V8]$K\2YVXG9X<[<L 'IB-2JQ,.8RG)P][.9X'IK02
M,[,1U=,+L=7P'IC@2K@,'.33#^W+PW6<IQV-J>]B?L!F.20\>-KW\E>)TE#_
M[+6K$UZY(Q#R6 F8*29)8V;R:9QT'F<UD;,VDU.:RODEGZPG22PCO\>4G/%+
M;:Z.HJ!TR97P7PFG*?._')S'0CKI\,YR?*<T08GK79W)^E3OZDSV&!X0T;@$
M#OMI!0S[807*K8M#1'T"A *PMD!32^M(P@3WX[!7R3TGZ4<8/6+7G_ALVX;\
MFYP5N'G/#G&E7(D.T3TYKGL"P4K'<!M ]5D34H%5<>"#;D+6:+U-W]4?M58\
MD1#;S\94X\0^2B)VTD51.>:X(#LW+L/'N$9G4S6[M ]R71ZL\[O)"-=,H]4>
M8M H5CG1^ K[M2V5R<[O'5>(\KO8TTKK*=UQ*H'XZRD#^1#.<@Q#EQ@!*AK7
M&7DOTTXJT4H[6I1^4EU]:H]DS>5(!T[0TU1/;M;'60O8D4=8@QW,7:Z:8J/<
M>BV-FA91RO]),58%GFIT-1.UK)*^&BNA!&R*-^X2-BNO==U VWNDKI\J.9FO
MKW1B7!PKPT 5/0W5_-?_>$AM=JPP6-UP_SYL'"S]>;!GUCH;X%[7N]1E)H^U
M!OV; JOR(F+2[##XU1&GE;N_OL@M,MU=,I'-D[E,[FM->@]\ 18KD9 '2;;E
MDODJR:(7I63+37HWU:@E6R$/DJRYFOC%:7),Y@]^F'J 4P\YCY!<GBBG+X_8
MC5=F'5C?U!KF_HLU>HRN>4V?KR&82X])%.<<4.R=,D4M+A=7Y'^N=Z'7&7"
MJ#?AL&V%%KAG_$'H3S^<YH\VK0I@ I<+J/D00%'2WX\VN]VF"L4S'=3:4\%1
MAH!C4[9 1<]8'CB7*K[PG["W$1O[(\*3)+CP)[(Z)QJ]!P2G-CN@5FGNN;,L
MA0B&JF@Q(#C62 ;536-/7U$R\6.Y;W;59D!BWR :$GRI5G[/98Z7YJ-2Y3))
M+&FUI&8IEK0T1-\QLNOIPD>+?+G#G'RH)"*4.5D?SGE8%%7/3$?! FG1E66H
MG5A>ZFE?OGQM;FQS$.O"52/YW:Q#6!VPYB5N?$UO,7WB<?N@[5S<TI@974OB
M1$&]%3Z+G#2>C943!Q<16G$B:MZ_95TJUHKT819-F]S;PL!6<_RV./7J>3WS
M7WCJ#)N]R+R4E]T!VQN(K56O=*))>$_FIYS@6Q0HBAM5&YKP@-22+T!R3UZ1
M^A?8,\:I*-GX]"5_X9#?QME_Y>]<-1CL_L#04]\-U:W&+&K8]$U=Y[YC_K+!
MX\QWM9($/U2RG,O7H=5@-F4$[NY"N[N0Q7>A9:C^ZNM!@4:F8;7Y4&Y%2HY-
MYQ]F*[1,G33U#6YN,/\0E"W1(=R.^U%;0-AZ/VH%K!Z"F2+LOIV2I_VT4A%=
M9)#E/ZP0RW]Q?WPM@"?_X_&UB<Q#Y3HG B([W8KJ2?3'+2S1'[<F+D1U19I3
MV>T=J)Y0QR-8J.-1[[ZC!D+-J82$^J7E.WOZRJKTLEYJ<7_0=_'A.@(4$@M^
M\.:*!!N_H1\:JOS=XPW]4'9^6G!#5U0JE=S5*V6]RG?U8EBG/*YSM'#8R$XV
M].[BOKNX[R[N.R?FSHFY<V+NG)B#<&+>8!X(&\8^"J2:>J6=[4Y+(<$].2OY
MT[!L<U7)=+.9]8Y*(<$[-^7.36G?)0AXLE9R^:D4 RY??L 7:?N.1ZU9&E["
M;_49[A*_^32.'SK+B9P)H4XQE16RV'Q_N%1C7<)XM31QF7'!^\)KSPKWP6(+
M[RYKU+;Z4*E?W/(+S+84Q]I5^-U5^-U5^-U5^#7M8=]5^+7[XOZ:*OP6-#+M
M$+LHBF55+<1M392WJ%/R5T(U!(&YJA>B>]7R39Y<[>*O_4Q#_]^RLA?UQKG_
M:GDQV0;L:-PYC5@;;C"7#+LECS%-(UG9C>GZ(?"SN[C2OB#O;CV0^ESTHTZT
MC1_[)=MN8C25*.(U!WH=F&[P RHJYBU"6=V O4!0.""ZDKK%I>_<Y,.F]0BJ
M;X[]ZER9=XO#%1,BC1NQ7F_3Q:(E5&J7B5:/8<W=N@ZD8*%H79E97R):PLC1
MXA+]D]#T+7AYV>A:@UA0EE,;/=WR*:"L+#JL)=2O:+]"<V6]XMH#F2DZW00M
M;;QE$K.I++4IT*VT4YA:&'W:-FJLC=11P:F$LX+SIILM#=6V;OH]$B4S/04W
MW)))_(PH3OUM3/>/% G98/L./J\^$%#S! +1,A)7),XK@[KX,>;WLB@/YSC!
MD3]-7YAG'.(@P&Z<H(#]D2D:\4(*UW:#WO<=Q-\>IBTP#AZ=K<<796:S(^3^
M#,A46>6_TO;>4(!*"S#!_("'DXW:ZG<JK4FGZGG_V3H 5?=.+9:LL^Y*J&8;
M13)/TF>X1W-"8__?"E-O_;%>%\PR)H=TT[S"HJK':OY9O]<%:,&0]59?(?5G
M29PP%:ZT$GE==:;+24S!E>< JZ9@!S %.]E\3GE")Y^Q[\BY[X1XSWX02#B5
M%N0L^O=#=V4?";T-!F1A;A\K!3FKT/ 8M@I/Y;BU+E%)'A\#'U.V>KC2R=3*
M*45S'<:JI77RH9Q\+"<?S)Y0O!/\$-]B-Z%IB.#?<>#%;/^*^<^+<D3K,<5>
M5MZVLCT)TMVV&=107E^%Y#MR*259E?+7=$!K7!HM+(W-1,'MA#P$MP?CP$?!
M>1@Q.KATE2X.<0=SF85;0E11560"L4B[+-X<6.7=^.$TU58V&8CN&!F1^$\J
M>W>[LQCS@$@QK=A%6Y>K3:Z0X:T;RYTHAM96KSF>8@U3;K27=#'D..GDTR;Z
M+%MWAMS@U)0R1G3M9:B(/U*P^HM<(Z@SQBM1$NJ+36K8,(>Y:A<7M35SAC<0
M.8R9O8?S=N#8?%!V *"E\01E0E41!=6VIES:DN\#QD''8VULH\N/WQM_.HNC
M5;AQ=)Q0*GYU,.^IZ-A[5DMGU@T=1JUSIQ49Q6.TX$<T4^78;VB"RZG;2HAK
M#/)ZX*[+M'7J:EH^L0[,0(?7 ZF,08M=:A<DG-YA.N<"@1U('Z7%!/D8#A_$
MX:/T[?[*+P\^OR1J<B.M#K(:SQ1O)>JE+J-*T8\U$HV[A_@7<SW)OJ SY*9I
M@)6OJ+I3*+J9V>]$1"F<.)(NUKAIM"#:V.B4HK#>U;).N]RF(FIKS':B%CU1
M$F^=*K%.I.JJ+6YMQA(B$:\,!WMM'MM#8;/=8RNX^K7QX] G--5/L;=.C=S0
MK^IGR-HO7?^D)OW6;6#E75E/'3!UZ]GVN+?3#"'BZA*]^/-D?D0H)<]^.#U&
MC^PO\:*>N@:-,E3\M/BR[OOBMYJ5T^\(17YT^T@Q\J[#WQ'UN?YS@V)\((^G
MTAEA2+C6XLDZUY>(8YZ/0W$4<[)/V!4\+5+A$TD!G3JC# G;VGR!BHD=WVSA
MWSWAM./(I?ZC/+E"J_N0$-5G"(+R@TDH_\#<,8&]T1.F:(K+:U$.HJ3CT.!3
ML0(!]]&\D?<,^?1W%"3\GX0R/L+,.NTN_HZ]J:R^[D=I?5T^KI,.G/Z4#>T4
M8SO9X*8+YIRP;?(IM8.6(H>^LX6B'9"NU]_4URFA[BC%EQT5J:>8^Q-G_N,1
M.TK8&L&KTE&<L/19(=%@-W[T4QFNWA\-UIA.ZRVKRG[2-VK6&V4A+N3F67DO
M@T%NO>.K7F";TK3JBE>06V2$\ZA/E0%2WLN,35A+\!!6,/,V68G;!\MFJW'+
M@/9J1R[KJ+?/JPJM\AHOBEZ&;,A:7PFIQ47;VR" PH;*?47"$\P+5](%^\LS
MHIX<#MWNIJJUU 6F%C_@[F?LJ#I" 8\-NIUAO#RCY3H*W.,_5S]12=$B4Z6(
M5-5A)^MC1B]1"ER-C[T:2;L0V:R-M :CI1'[:11E'CJ9EY)2Q.U#/0RI*1H?
MCB!N%*#?NKVP&J6L@@?J82JYHC8^4@9 #=(80L*3?11ZF2VVI@UOV>_^DVG=
MLBTCVSI+$'X6W*U%-)<685,D2T.\0E WN=.XX9GRR7"&(\XQCJ[#%5>B-.=_
M)(BRR^PIGTGBJJF\ +A6Y(E/Y_R23?AGAX3.:DYG.:E3FM7Y5S:MDW*X\^+L
MO#@[+\[.B[/SXNR\.#LOSLZ+L_/BF/?B,+5W2]]"&T,/W1]4DU6+=]WB:"K?
M)Z3EC95=S:5GMZ*6R;AJ^^H/?+Q23FZPRZ^'Z=.H9TP&I9K:U\?G;,623)TX
MG4RPR\<8\VK#PL!9/EDG<PUK"70K!HO-"<L03[:='2-*%TPS'<W3(A/::?'R
MIQ%7L9Z\P'(QAY-/8BI7/E?"1QPKGM7'-O-"$I<8<3ZR2G$:Z?25<N#YV$XQ
M>,IX20[E">Q)N]]92G:6DIVE9&<IV5E*=I:2G:7$2K!VEA+3<2:;U@!5&(.X
M_0!,'TKZV]X;#0?!&K^MMAP$*\TL;/?\BFA<^G383ZO/AOUP?X/"*0:T$_;W
MTI__ ]60=0& 9UCO>($?54%PT:!G[4$H+R(FK2>-H$5Q6GF^ZXN\SS-;(?5+
M)K)Y C]OP-JL->G[1 ;6*H&ILV)OR O 2,5:;M)[M*9:KA7R0$7&JLR!7:I(
M]ZDBQJJ>[%)%=JDBY@_Z8:2* /?$LC\NS8P@\T>*9UPF3YAO.=)KHF;O^P^V
M)Q_490:"YX,%)LXS_R5]KU>K9!#8Z?Z+Z9O]5GX/,3]M!R&TB%J6BZ0#5=9R
MX/B4F+#.6U LFU-$0^[KSMY-SLI09>[WZR2.8A1Z[*]J&Z;6,(.$LSZ'_=S&
M:F!=#M6H#[%.[T$BJ\U8VW<"0$TIAQ'EJRWBS[^[,1;5J^1]9%V&A8D6-Z!&
M8C!W%5:GLALKY_H*Q]>3._0"?V0U!QH6MEOP"+HIS"LSK>;"#A%/#98@^#Z9
MAR_Z$7'EF:VV\Y#]%'/J4\K9TN.;3ACA(QPR"+1BG?5'&SC4-1F%%L!G\]&M
M?/LA(4Z#6;/=9\6")*#UJRR@=34F_RD;U6'#.OFXIC->5^93=<RFJ*V9CW9)
MB2*&<K.=-7&.L-@WOC,QIV;B#A7NGB6IWS%_9O)QYKLH@%WYDN;&W!" M(D.
MT?U<Z%489.NN3!UH=^;LP,W[=]6K94MT"._)&] 3$%;:_ML"JX<0@ B[;Z?D
M:3]]"94N,LCR'U:(Y;^X_W$K@"?_XX]; VY_]3HG B([W8KJ2?3X&I;H\77O
M+I(&(LVI[-;W44^HXQ$LU/&H]_M$ Z'F5$)"_6+NG<"L1MJF^J^\^,G[W1]\
M-G/'T]8S=>BWT(\TP8QLKS9:BH[VPZ7%@(4NIIHX#1:?1K@8<P<MTY"79'/?
M,8\Q]\/$#Z?7[ :5!5[!4.F/83]Z=7G1< ?U:]-:TKU\=4>6D_SIW:8%:V6G
MPN*<XPYSK5?VN#3<#WMC1'FI/=@"]^E 9H'+1W'R84P;W$I,+>XH"B/DYG)3
MF=_4/0T9XT2 E2F,CA9K?U'8[)H-9XUI3Q?@34/?-E*T/@\9X$D>IRSM9,Y&
MN!501)]#Z]0W@%I58*NBFYGP8QW):V%E;Q!R%W!9:8[L!M)> Y+/DM!#+IO[
M;JD1R3-5H?:&DH7U/@ZBR4#;.Q\@]#'UHSGZSN>^N#B6REO4U-13.+5E#1(/
M[EDM"WH4)#%%$]^]P-[MZ%8>7"]J:RJ4OK:H8>I;MQ\#LKZ-$\\GHR?$+JLJ
M60O;FBK87EO6,/60K#^U+.N3!//J;FGLVOIE52IV53=3 4&U$=!BI'4;/P#&
M[[Y'V7+@0;I$*OYJP_N#H6SE$.W@B6GN"3.]VU&C&Z!PC-=\(90(S2(S<IG$
M.K<,*V^",I'#F WC-E@?G '>^[8!T-)Z4F5"5;6DJFTMN!I*JT>)*;9NE\NU
M'1?[3WPCY]D)N?,<!@/N<W]@J)940S.UBA,(+K-O_95>;-+#JMIAD$!!;&@8
M6$P%X=^B -\1;=??H<SUQ\=R8K)S 7;-T<X%N',![ER .Q?@S@5H[Z5OYP*L
M#6FO+L!MO5%6::<UG5']^?QVKJ@AN:*&X@B!J>_+^\&O.M$=J>N*4G4;CF=$
MCY.=G^15:\T[/\G.3[+SD^S\)#L_B0V[W!,.$UD%I*+%_6'?A;^WL].MTZWA
M\>C7EBZTG4OS?]YO&M$A@[GQ9P=WIO.=Z5ST2>Y,YSO3^<YT;OHNL#.=[TSG
M1LKY;VW4M4K_K&O3[?%]O=;2E(:29"#G !)[VXD&V_J&!F/%A:EOWW(+6M+#
M&%TBZJ,3'+#_5WHNH/;W!X-Q7\A9 $7_I:EQH3.'T:'H:+%2Y##YH"[TON65
M_O_(A"*71#&Z'4EE76UX_\$NDPTL:(AVV EJVPUAYPG:>8)VGJ"A@3/ N][.
M$[3S!+55__B.NQ=X&7W/?_*]1%8('&@Z[-,)Y@O\2(S"\X<?SU*F_.QYU3MR
MRC13R<8G8E U2/\UQ>482+#2DX?I*N,F8+3R8.L.ZEX-F<>GUZ/0.[Z^EE['
M-EKU;V?8XH,A"C9@6T.O[RA</X>8<C;@8VNCR>"/*R'+@ONQ$1AD^U>E4?_'
MC%AV MG:=7PT$:^MVW]-"'K=UK<I37/XM?_-'5JN\D(T*:7@POYJT*RF'8CV
MP:[DC@O=0+0/LK0.8Y?OD9N^]A"MR@5<84GBO;#YT""1, &J-BWKD"B:\5+E
MU'](TN/_C-!;XOHH.$9))/P,4FU,T6TP0.@S8YTYN.72(D-!3).3M@TGD*\]
MH>X,17A,?9<IU6<)#B!7>[7E8&0NI;\?W;_&AS%&B_1UTCLR<O^5^!1?(/ZJ
M;."Q[_I') F'570<#%QUV('0,_9"\B73$:D?+\Z9-D]QM%(OQ^R2R]A!4WRT
M8**0[G,U!AD:JK59@Q V]HCR41(Q'J/HF,P?_#"U ;'C-_*]_)V45!C9BT4'
M,,1U1AD:QO5Y@T#^;,TF7/"$H^^41)+[E:KGT,#4XP<"\(M%7RE3M\@T]/^-
MO7./<>1/?*YZC1@G<93SYK%+?JF.&/M;,L<>/WAJ?<E;S32T!=(-_]""^FHL
M=RDF[L]S1B;V3A+JAU-V8/G$NYVQLRIC*DKAD;XIKCG$T)9 3<9 XX QZTU&
M:<9!>D-@#*2_DX )=1D<>')&0+!:#_O&<S^9'P>$;2?3=$6M5$+H4BKK,Q@<
M-#D!@6@Y,)F_XN@R^@6:.0"#I,>@0%#R 4+0LEGF+(D3BD>>E\H(!67SWFC.
M;:X $NJ.@P)$EQT0%WN,.&-*O"1]9S-3@VI<(#:[#@;">@R!(!JSY13^#<8
MUU^5YFEQ^Z'!)>,"Q,B8-29[O?6"743YZRRG;'WQ\-!X1KSS\ E'<;KR8,BT
MN@\-P1I,@8 :L[QHPC9@<'0A*-E.3!4H/T4T9/IH5%P)CE#DN^SF?N('">-=
M4JO\@ZQ6>3&LP\9UTH%_==*A'7;_=_+!2Y7+5W)HGU<^^XP$3.11]J7H%)'Y
M6.&N-,S__.G+X<'GOSC9</;4DRD0Q-XQF?.7VE'V?;"U.TV#CHX6JR;YH3UZ
M1M2K+&G@-KSEV*9KTBAYB" FM.O4;#V%-;5KVEM,8'6;EO"PON)-1C*;0)[M
MN-',@AC<M@ B,CY!$(W:"AMQO>(L],8!"J_0'*N2[;J9S4PNI1A9@36R(^G:
ME' Y_%5D97"TX976:Z3U/Q)V]< T6-RP>X@TU%K0TE"Z9Z>?-U%RW/9A M5H
M"L,$!?Q&(R\95&G7P3=E%2QBAEMW,;6S.Z?.,,6>FK:Y-U2(I3L=?)TU"!]C
M55\9NW,_LZ'PK#IV./B,X]#5+ '[:?/V7AHOM4"LC6C/!9Y;]-9(T[B8R_J8
M^;8J%"ENSU![:Z[":E@V/B^Y!,S<5Q79<S=\2X'S0TM_-G8O54B5B(CMYW*I
M(UM03R@(+AKTG_!9E1<1D];3+:M%<5IYA]$7>9^%:!12OV0BFR=SF=S7FO1]
M_P#6*H&ILV)ON(W9_84ODUL7AXAGH8)[,-#4_OU8RJ/ATCX%23_"Z!&[_L3'
MGBQ_7-*\_WU;+E>B0[0=.WI;(-BZVV\-5*]FIRORE.Z1=S.?>[Z?R=V,)!&[
M-F6_D!H\M/H:.!K4GP!IP$3;.Q@ R-V,DF0Z*Q/RS!;3XM2?SF(I'!H]>[=(
MU45#EP?P.#>6 7U!PND=IO,B-75EA0!C/)='J[RG*8-4@YNP!B-&S4^I1"+L
MOIV2IWWL>ID!:OST>/J"W80;@X[9YCTEE'%['0:+MF)5P'E'WC^3/'ZH^_E6
M):^ZG6QI14YGV3GD6G+K&O,NV6D.[\ZWI+5)&?4LO6I$0*G(<\SZ/C7N*/+8
MT5CF?[6KYL3P_WE@TF"_^?]02P,$%     @ !(L'6Z6VN"0)<@  TD<& !4
M  !T9VQS+3(P,C4P-C,P7VQA8BYX;6SEO7MSY#AR+_K_C;C? 7=\PG<F0CW3
M/;U>[\-[3I1>O?)12[*DF;GKB1,3%(DJT<TB:T%24NVGOWCPC2=+54"J[; ]
MK6)F\I?$#T#BE?BW__6RSM 3)F5:Y'_YYL/W[[]!.(^+),U7?_GFI[MWB[N3
MBXMO4%E%>1)E18[_\DU>?/.__N?__7\A^C__]O^\>X?.4YPE?T*G1?SN(E\6
M?T97T1K_"7W".29159 _HY^CK&:_%.=IA@DZ*=:;#%>8/A O_A/Z_?<?(O3N
MG8/9GW&>%.2GVXO.[&-5;<H__?##\_/S]WGQ%#T7Y$OY?5RLW0S>55%5EYVU
M]R_OF_\1ZO^6I?F7/['_]Q"5&-'/E9=_>BG3OWS#WMN\]OGC]P59_?#C^_<?
M?OC_/E_>Q8]X';U+<_;98OQ-J\6LJ/0^_/&/?_R!/VU%)<F7!Y*U[_CX0PNG
MLTR?I@;Y 9(R_5/)X5T6<53Q4K>^!FDEV%_O6K%W[*=W'WY\]_'#]R]E\DW[
M\?D7)$6&;_$2<3?_5&TWE$EERHCP3?/;(\%+-9B,D!^8_@\Y7D453MB+_LA>
M].'W[$7_U/Q\&3W@[!O$)"D_M'[]<62K4?K!-]@;3-(B.<MW0SW5#@2?UAU2
MO<*!H;YW%^Z+*LIV C_4] [["N_VQ7L]_U^:-O-XMR\]T#P([$J&//OSJK]K
MQGZ\I/\:0<0O%>W <-*"9"8,+3!_ ^\8&MN=]2(>V<U8:UX0V7?6,W*;RZA\
MX(;K\MTJBC;T!3_^RP\XJ\KVEW?L%_X1FA]^N\49KZRTEF[O29274<RZC/)X
M.WRR>$G+]L7<Z[]\LXN!'Z8N,E,+TOH9D=CRL1J)'^*"=G6;ZETFBD6H+TFQ
MW@U7\YF+7;1_RQXZ!**@*$B-JR,Q@LNB)C&>Q9.AOSL71 -YG5$3+ C$^;N?
M[K[YGXT8HG$@NBIRTOS)U%)<HE^9ZO_YMQ_Z=P<G[&>\?L#$X7NT@J$(. :J
M(YJ0 DFH$30=<;@D^E7(AF=*SV$[632R/OEBA#NDC%(0#&M,Z*;$F;0R^^-.
MM<I*3HCWO__XGI/B_M/EW6]GM&LF>92=U&55K&G@H>2$6=0')5S ,D:8Y((3
MP@'<E ^M-.K$X;0F;!(!KW%>G?V]3JLMF^$H<OIG:8B-+#H^6Q<G^,-6QJ@0
MG%QS4$HLXZ*HEX42VE!$ZR*_JXKXB[&S4LCYI)(6YI ^DA 8RNB036DBY! 7
MA-,,+9(D96%]E-U$:7*1GT2;M(HR(U\L.CZYXP1_R".C AA.N:"<\JO704SI
M79JC1NW08= E7D79+2XQ><*&$$@IYBW\,8#L0A^%3'!*6(!-6< E42L*IYVY
MQ564YC@YBTB>YBLU36S"?H?;)L#C(;=*,CAQG.#)0V\AC%II. Q:Q'&]KOGH
M[KIZQ(3%6P0_XKQ,G_!%'M/XWMQKN>M[[<'FNC7JS5R5P;!Q+F*IE[L^N4"+
MJB+I0UU%#QE&5<$&^S3NAD-5@<?(QK&(3\*IP TY-7P.AC8*4%-F0"/!%2V*
M(J^H:]3JZB*O,/TH9E*853Q/'EK!3^80M?)@2.0 4C&C.%!!K0X<EAW7)>VO
MRW(1_[U.2SX ,$P@::5]<LL">4@KC2@81IGQ3<G42K.IHH<TYWMI]C17I!F9
MG5#NIJLLH@C+$E<#F)>7)_J1FI.:MY';#">ZD9R#3G 2S00JSR>UFHBKHH$N
MHLH';J-*4@W:)_I7WS;1/WZ[I5"QHB6://-!(B4<QI31@^!T4*&9ECF;GD[+
M*HWI&/\SCLJ:\,GJ@TXX6PKZ<YJGZWJM;$P4SWT5N!)66^BCAR *7H5H6OB-
M3-AZ_3EZ,1?W^+FWXE;!ZHI[^!!&<2L02<4M9,(6=[<>=A?C/")IH6G2-7*^
MBM\(LZ6!4@@$'4S(I"Z@$0G9YM^0XKP@ZTC;"DP%?/% #:PEP/@IB))70I)F
M-DB!N!2<8>=YE!)^_.%X>YE&#VG&%LMY%*L??%IT? Y!G> /!Z)&A>!,FH-2
M6C!J!1&7//QXE$1QQ0<LAJ5"M9S7$:<.YFB(.14*S@0;,M4@DHF*(>3^5GLL
MY=^2+C6M%QN$O3-!"UBB@R0)BQ,Z>%IB#!3"AJ*T%TSJN+HF=Y@\I;%N<D$M
MYC$ T8(<A"&23'"26( I0A(FRO?V-]*'[3G.TQ><W!#ZGI:9AI;#(.RMY; "
M[EH.K61P4CC!FU*#RR.N@#J-0W<L#1_OHLS4HZBDO!%"#[%C@BP"@P):7+IF
M@4L"F;GXA(L5B3:/;-+4-GLARWJ?P=#!E68QIH+!J>*";DJ8H=@A9C1*''^_
M*I[HUZ]I2[05A&G^Z/G2_/#;R?7$I>$#'TR0@;!B[W\-7L82%"ENO+Z\_GQ\
ML0A8BA2&&C1[X+,4>R##4OSI#DPI=E"FI?C3U<7]V2FZNU_<G]T%+,J;A08Y
M>^"S*'L@PZ*\68 IR@Z*U"4OKA:?7UT=-6$7W\*GC[=&C[T%6@I0780U>!:\
MZ#2 I@5X6F/$O$-<%-U.CU$?-K"^Q66:T/X\U9P)T0EY*VTMP*[,)0D8):^#
M)6_)[N0./SVW7F,2&\M:EO$X&:>&-YB#&PO *&@-*M7Y,"$6>.#4+#">%P3'
MD6;'JDG0VY#)"+0;+RFE@C/#"DV:5FF$ *T!IGE:X<OT"2<7>46QI@\9%NL(
MQ]O/T7\5Q+HB.,>"U_7!^:Z-5@O=U8,3<7?,\L0?L_".FT"]C79IZ6&+N)F]
MKC.^FL3W)$HP2^MG/I$FB_FDHP[DD'-3&3#$T@";LH>+\02+!X]I[XIE]1P1
MO,B3RY2VP:5ISM@@["WPL0+N(B"M9' Z.,&3-CLU\H@JH%;CT/2X*BKZINOE
M(F:%PI)@ELV\]BD-Q5=Y2<&P@R!9AN.JCC+Z<(-U"8'V8M$;T?;C>L?&UYF#
M0=F]^" ?*V)&T?42#<RB=O6D,<Q)/S2-6MN^MFD<1_&7K%C9MVA,!+UOSU "
ME;9FC*1@L,L$3;LEHQ$&-1*@#*8CUXN\K$C-UG_,4;]:VG.$;X(\B>95HL$)
MY(9/$:4+:=2+'W;KQEV]V60I)N+-F#9B*Q*I3Q XR/L+NAQ@]W&703@X45P1
M2M%7HX(:'=0HP6EX3@A.TNH\BOD.5D.;HQ+TFN-*"W24Y$J2"LX=*S2IE^*"
MJ)4\<-."\[0@=SBNZ5O'$ WMBUW)7R/CZD#?TM@T@E-F%DRIS>%ZJ%%$$IN@
MM#RGF*1/4<63EK3=Z&U:?C&T0685GZV1"_AANV22#TZW&2"EI=5.9?_!T*L9
MUN::N(TJ?/<<;8SSDSIAGZPR Q[R22T)ADE&>%,.=2E!F#1BXG :J>,H8W';
MW2/&57MYBRD[B%;<:WH0"^A1?A"-+!@J60"JSO>+$_W%$O4CM9NB3>O0F#A"
MC>'#AE?&9%V716F8-G=6]19JS72F"[@<]8)3;@>P4G*U7KO9;3321\S H><>
MV3IWNLI/:D)P'F^OBOP49_3E9$N?/$<D,9W[<-;U=PQDICO]J1!'11B\FXE6
MM;F!JJ-6G]T7@EH+J#5Q:.I-^WV'DT96%6]$<P3?\<LB#X-6;B =0K+]'T1Z
M=7 FVF=.>--Y:+NXS^#,!GH8G.ED@U/+$>"45DV/*.3W?6!Z'^EQ28T3V\EJ
MN[CGY+=&T)-<MTI9,'2R %0$6TS\( >LYW9PBSQY3=RU'[OAN\H=/H.]/YUA
M-#B5]^W)K)Z9G257!8+ODH,%@GM(:Z^\)&_^_89@+C2<>8,AJ-D6.T;S57,#
MG0-G,ZCS)(KI:^YQG!<\B:=A5*L7]C>,M0'NQZTZR> L<8(GC4Q;>=0KO#N[
M^R7-D^+90UJ#M%Q'G]A+C0E[U7(>4QOH80Z2&\A",#AA0"8G.&"BB,ON-<FN
M;@8VJVGON$SC2YS<+>X,\ZUJ07^SJR:@_5RJ2@H&"4S0I-"]E454&%'I@^]8
MK^HD+19/45ZE1AIH!/WM9S ![?<PJ*1@T, $35ZM8;)("/N@P6F-S^FWYA,1
M@UC'F$7-KN.-'*[P.Y[8%+Q2AHY 'HKN:OGY'QKD\>Z?TX2EF\V3-"_T'%))
M>6.-'F+'$UD$1F.BQ34E@1!$0O+@G0E+SG1?S&I%[#K^NAA'^'UO8U& P15'
ME%(?Q#-MW1<';CYV.DE^GU89OEY>4%8_I4FM3;^ED?-UCMP(LSU&KA0*SAP;
M,NF0)9/E$VW=EI+#YOL]NZ9MVLGUM>$(T53$W^$A-;C^V-#X>?#"-H"2-F&?
M7?-2IG*'[TWR*OH<D30ZQ1G]KWEXHA?VV']8  \Z#HTD#"K8X,E=!95'7('M
MK6#_VNN@9:<^XOHYQZ1\3#>:OF'RW%>?H(35]@6CA\&YH$,D+5^W,H=M\O^S
M6)(H+LHJNEOH&P*5E+<60 ^QJ_JR2/!R-N.:EG8O2.LXG/6R!5N_NZ<O,*R0
M362\[D=0P1MM0A@*!*>$"94T9\ED$!,Z;/W_CYH./3#)MFR)5]\ *,6\M0 &
MD%T3H) )7N 68-,R[R3%>ONAURKRG(X^CJ,R->T+EX7\K5'H /;K$U,)&"6N
M@R75<2Z'N.#ALZ0\<?OWCRE;;7\N[A^+NJ2##O&#G@&.BAYSGLQP9)#:Q$$+
M!GOF0)43E0A=]/']$?KQ_<?WAZ;5_2,IZM7C$.4SSJOM6;IZ5*<B=%?S1JD9
M3G2$<M"!02=WH-+LD]"D//KQ#X<)2=OLT@E.131*_]$'H?2/WTXHH<GBH>1[
MSB;N*9[[H(P6%N.&]# X"72(Y'0U5(;&FHV4[X(^+6)^G)=%O H/QH]]%;,*
M5%O*PV<@"ED!2%J\;$3XN,)S 2_HBQ/V\O,L6BG@3Y[[*F(EK+:,1P]!%+(*
MD116MC*("84JYE-<QB3=L$4+DQ\C,>^%K@ IE?U !A8%9&!Z)@QD S7LMWB5
MLJZ%0>C.31N:,8V\[Z;?"'O:%RB%09#&!:&VMQ@JH4XK$(_$H/D6;PIBHL]8
MS#=K5""G9!G*@.*( IB6&LT4AA .Q(A^@LU&"DG2-R\T4*?4F(B!8H<:FY8@
M@SG-D!SA1T7X#@HK2611[\,-#5AIZ#&1 \43#3C]D*23#\N4NT><92R/1I3;
M&Q25L&^VZ %/^2)+@F*,%IZ6,UP#-2IP:'/VQ*)S&B8Y.CN0#TD>";:)/YTP
M6 I-$3JRB*LAIA>(23>8I$5"PVQBXY DZ9L]&JA3WDS$0#%&C4W+%2&.N'QX
MDISEB1-%.KDP!)G 5-.C$0)(CC$R&S6H=$ABG*=E'&4"RSG];;IKQR+KFR!:
MN%.22(*@B*)#IR6+4&@YPU6"$N9O.")N=!E(AB&+!%5-E4X,(%&FV&PT8?)!
M2-)D3^I1ZWL<O:BW15D+V&Y]5B,'@B@6<-*J;9/>:DB40#W065ZEU?8\S?!5
MK=CWH1;QQ0T=N)83T^<@N* !->6 $$-,#@G!("7?KA+D%;L53NO.5,PO ]0@
MQRP8RP!B@A*8A@V]++^D+P@C3C#+%95=Y E^^=]XJ_5+DO/+"0W,,2DF0H!8
MH4:FH44CC+@THN)!B'%#TG5$MG=I;.DJ9$&_U- !'7-C*@6('!IH&G8TTNCN
MXB1D3W(?O5SP*]27J<B?;F&)5MXO62RPQYS1" .BCAFAAD%4"8VU0A+I(H\+
MLBD&VQU.BIHV@-N3(M%'*!8MOZ1R<F%,+:,*((*YX-30;*1Z)/:D('97M3"
MF(4@C%LD"?U09?.?RS3''[3^*V7]LLL =\PIA2 @)NG1:?C32!ZU_T!,!UWG
M4$CSXPQ7?PQ/FA]=2?,C:-+\N MI[I\+(*3Y.,/5C^%)\]&5-!]!D^;C3J2A
M!1^TK3FA_[PF]\6S:G.V5C((962H2L+T8O#H(F&SD84IL'B&J82D"0^LKLD-
M*9[2/-:'S#KQ((31@%:R9B(+CSIJ@#;^= %QJQ>TK1%!N;62M&)A6IDQ2'43
M(V3@D60,S-JX".F0E+AAF4ZR_TPWQH&X6C@(/92 E2092<*CB@J>C3!"!U&E
M$ /KAJYL04-YE&SRW-\18 6L_@CPX"$($J@0R4> Q>R)$/)=S(RC!$>:%F'\
MV%LA*T!U93QX!J.(94!2"?-Z365"5&1V&VIV\UCD^@T"LHBODM:!:TM[^AQ$
MB6M 34N=BR$N%V@V_J5B5Y(JF^_!,V\]^Q1.UY&W#T"4[A2-U$VWSSV7YB\D
MK>B;3XKUNLZ;51[5OD&-G*]2-L)L2UPI!*+T3<BF3&ADT5C8,RWNBBR-TRK-
M5Y_IX).DD<HKE9 O0N@!MFR0)4!000M+2AG;":)6TC,);@AF),2T(/@A0)PG
MF%POE\K>WB3LBQ1VP"TY])(@2&*%)]^-A-_% PTD5!#7"4N;B[*L,9E%'H5*
M( IIP6N(),E#I),.I)540C$DM^YP7-/^<?OAQP>>3U_5P$HBWOHD#;BN1YH\
M!\$-#2CU[07%$GWX\=N'[U"KY;GXKXI[$B6T2[S;KA^*3)-]2BGEBP0&B"T/
M%"(@J*#'):>F1(TH$K(ALE.-P"K<F3SW10 EK+;H1P]!%+H*D53Y1V4=J,D_
M>XD?*2BL.9"@%O/=]*M 3IO_H0P("AB 28.21A2ULB$.)/1=ULH>!*R"!0$K
M2Q"P@A@$K%R#@%6P(*!]K4@10MNEZX<L746:Y(1&:=^D,$">\D,A"HHJ>GS:
M-J-30;V.[XR6/,791;XLR)J__YS^0^&E1LY;3DL3S"ZII4H(!$=,R#1Y\P?"
MB$G[YD6=I!5.!)CS-(_R.(VR+CVB:D;<KN*-+8[@.^)8Y&%PR VD1">AUN8R
M[!3[5)>^I]+%!HQ?<);][[QXSN]P5!8Y3L1<BFJER"SO=\>,!?9XTXQ&& 2=
M7!!JMLXPI7=?F!9JU9J9L"!,^KG(ZKR*"#]+3E0MDT;.+W,T,,>,F0@!8HH:
MF88AG3 2TF$.:(OL$5V0Q1H\90H8L[CGX]I&T)-3VTI90)PQ M2=X6YR?O2Q
ML= *=,2RPNR^B/0)GT95U&#3^JL3]WVHT@1Z>II2)0N(0D: VO.3G0Y+%1.U
MG J6,H:<T%!K51AVB4^D_">.D2#*N6,Z$4#T4.$R9) AJ)4-PH6[=91EQW69
MYKC4=T03*;]<4$(<<V$D H@+*EP:+G!1U,H&X<+9&I,5[=X^D>*Y>FSRLVI]
MTTC[Y881\I@C2E% 7#'ATW"F54%"ITVI&X8\+WU"<9%E4>^I0M0S;;1@)YR1
MY" 11@=.8DN&8S;?<E54Z+Y /Y4858\8\>VL"?U]D E>V EUTT@<LP,1(BK/
MDXBH*&02]G[KB!:P=/>() F"2%9X^GM(.@W4JGAFS37E,!F.XSB(BPJOM:<=
M["J^&.0*ON6131X$FQQ!3CG%U<:#:ZZ(F&;(;$;#Y/;Z$&\DY#DR5@"<!,8#
M"1 <T<+2A<7#NP+"Y,ZK'[(T/L^*2#_+,I+QG#%/AC=)EM<+ &* C$J7(H\+
M(BX9I/R/H_P+J3=5O+TA18PQVV55=JV5;?[-4=LO9V:Y-&:3DRH@GLW!JV%@
M;P(-;!P->JR0DWELTSC+YE;$7^X>(_H!K^NJ9#TH!::?!3<J>5Y><'!@LLA@
MT !$/0>8N@4'KHFXZA$2RFB@'6A\5O99 '%RO+W%2TS8N8-[_%(=TQ=],8PP
M''1]C]Z<W9D.YJR*($@X%ZUNJ%>BH0'TP/:(-2;0K\P(XE9\WU\NJLIE6K(6
M^"8B/T=9C6\PX;5%6R>U\G[;/ OL<7.G$09!,A>$FD:N43I"5 UQ/3;[)%J[
MO7)I&94/W)VZ?+>*HHT@%,ZJLOVE9U;SPV]W\2-.Z@Q?+T_Q,LUIQ<$Y_4=U
M0STI3],RSHJRIA_R/GJ0]C;O:,,' U_E'F/E3@:",_4UJ*5F46BB1A4Q7=H.
M,HW]-H&[T%9VJ_?JDCYA,RK35;Z9NCYI.LN=(3V=%,'0<@Y:)SKVZNA79H#/
MI)7AZ;DH2UR5BP=V3T8\'3/KA'P23@UPR*RQ!!@**6%)^V[O[L[N[X"PH!DS
M.Y%!DO7/"0U<F1H306 ,4:/377(5<9T_!6?,250^+O*$_>?L[W7Z%&5L7+*H
M3B)"MC2&Y-&CQF]'79^,FN7.D&%.BF 8-P>MQ$"JA*(\03'[!^[5@W/Q[K$@
MU3TFZXO\"9>5ZN2)6=1KG&\ .PKG%7)@>&0 -Z7-0"(X49H5\O(6QYBREXX/
MKG"E7BYP4_':Z3F '_5]!GDP1'( J3I5CU'4*"+2:1ZA'.]WPG\7CC4K[BVH
MTLHPDX)/?MF!#]FEEP;#+2M$:>!68\2^">54QB=6-Q&I4AR^W6)M:$[-;JD+
M&F?'(CYYHP(W9,KP.1AN*$"I.BXF H$ )T7.!P>_I-7C25U6Q1H3/GJPMBY.
MFEXC;7=71G&V70T,N=RQRMFGA68SS$/__$]_^/'#AS^CN!G]\=7M/9_^W[F3
M&PU?36WP1-![IZ8$*G5F(RDP7-)"4V_9BT?3!,%YXD*1@.RP$B,<)ZJBBK)+
MU\DC7:C,C,#DQ!4MG1G3C2IQ_TS1@Y9)(\N":5,L .74Z?GJ744'^V F'V](
ML<&DVK*5E6J1)VPN:\.F&/3QL5G%)Y5<P _I9)('0RD'D'*:5*%RA#9,B4\M
MXE8-QEA>.3O1UYLY<QI#K>"S1K(+UHFC7@4,Y]QP&EHSH3^800K?.9ZR?5P$
M)VQ_UQK?1R]-6ZUMUTP*GO<%6(!/-@-HI,&PRPI1L>S/%5#*-5 5O0 @E&DL
M:FW)7)6AS!^8VS4W33 $G 77=2(A+_)W\0&VQN\VJUE1R"EM=[NJ=?829S7;
M3OVI*)+G---/W[FH^IT%=7=F/#MJUP-#R1E@Y=G45A7*.-1"L3 T,E$%'!TL
M1=X^#E[2+.1SVQZ@E/19_@:H0RHHQ,"P0H]-'XJG@#8)#&9<K0&21C;0#+<Y
M_%$*@F&-"9UZJCN;3$L%)XXC9\+2Q84I04GB./%M)8F8^P9*$J-K(0BAIP'$
MPC<6.9""ODRCAS1+V?Z119[P<Z./199@4K*YT6IK6?9P5_<:GLQT:A2S..J"
MZ9)F I:BFXO%\<7EQ?W%V1U:7)VBN[\N;L_^>GUY>G9[QX?C__IG=/8?/UW<
M_PT25]W. )@4 O'1X32 7AHBY^:="\AZQ?#K<Z?XP;(M:23A=YY:@C:>F'X
MMYU(QB1=%<*V8XLP)Z'"8I?^>,L0NWZF#X:85'"6M.LW-]&6+;[0-I;^0FJ<
MR)7 L@+D9"'$JML,UU0K< [J8%@Z'[-E8_=&&.)DCH0IA%\V."\!+*OP(:@S
M3[72WB<*W/BG$07#-3,^\\ZX04<9G$6GZ5.:X#QI*XVES]1)>^T_S9!'?:E:
M% R+S/BDY=U6NFV8@K-'M4#85HJMF4INJJ&7=77.V!9UIWI@&#<#K'9!MVV_
MMF WASMWBZ%[1+?.,' _:)T2<X^O1KN!(?6# Q><]P5;= +QR&V'L%$!3&OE
M@E*_I =L0F*RF6OHF_O>NJE6T UV:A>,N^S&*EZ)]H3)0U%B4T/F!O?M;KOK
M>OJ=]MTIM<%$:/-WWBE4P;1\\_#."-4@;;]K]VFPZ44K(W7"(?;&J &KML>,
M)<'0RPA/WZ."F+15!@5S @@ H9ES2 8VT)^]^P%HM&_W-!A=+"0!2PTS(0#1
M@&743L6>/Y:2JN WU^ \UM/"J.$W%+)"'X<_6G$P?9(=HQ3F7'_^?''_^>SJ
M7NQO.+F^NK^X^G1V=7)Q%CZCX>P--U"VV,S;5/,&MM',WC@#>*/,#6E&F]PI
M4XY#I:3?8\9:J./3Q9(8&.;HL<EGB=M9@)+?S'"$_L?[[]^_?_^!I7!"3TSS
M"'TXHK^P_VN$4%17CP5)_X&3(]3]F+(KZA.^ZESTUSN@J$+_7N<8?7Q_A!@M
MN, ICC&["@M]_,!__=T1HB8VF%\JG.WW;J1=N]CFN@MC/DY)S'=GJ@(Y[4&'
M,F HJ@$F+4$32B)VT;V)GH*<.H+^[O='?_S#OQY]^-T?./78GW_\</0O__('
M@,2M5EG)V?C^]Q_?<T;>?[J\^^T2KZ+L%I>8/$DQGDK !POUP!C_Y*?!F:>%
M)$T<,!G4"@5OBQ9)PN\SC;*;*$TN\I-HD](AB6XWD4[:ZRXN,^31CBVU:'"V
MN.&3LI)WTK2!2I-W:8YBH1"<1K>XBEAV_;.(Y.S.KT4<U^N:IVMD>??C5!??
MNRCZ))>[(T.>V;7 4,X9ZI1]K2+"C69PT@V@\\UD[.Y+@A]Q7M+N4BQ7718E
M6Z2Z7MY'+[HZ.->*YQVKN[@XV;4ZQP08HNZ&6VHS>RNH$#L.AW901DT$)[(\
M%G<>M(>>!7&;_8 U+:O%IYZ=Y8%\(]Y.?&"N%IPXMK-0]GEIC1JDTVN6*7^E
M#BS".:*U+@[P02)@.MY5M)UED]77RW,ZL,[CE :V1<F#5NL\KXNJW[;.W9EQ
MZV?7 ]/)S@ KS0>WJNP,4Z>,6FWT:ZL?_C:M\8SE342N"4>?F*["G*L<;A;9
MYI!^8EFG"8:?L^#:IY^[>3U@E!07%R^Z>46GKR$KA:.@S@$]]:8:0"FG@6FG
MFC17#))R%WQV>L:7:!5"4VT,W$8S(0V:8B.(SO02JPL@J:6XG-[A,XRT0I-,
MX8*-:?+-]3#I)N-TYMQ@&2LX\08+?3/#.B?-0 NN<P(Z!S4P1'3':EVIA1/)
M#9QR#..,&H$HYQ+ &<0A4LPQ=).H!2]RDYPRAFU:Z:#4T@=L&E&XE#*&:CHZ
M 8G4)&?L89I9)2BI+ &:21XNO>RAF8YCD"*S6_R$\QJ?TP)4IDPW3P<[:_O=
M&S#+I?$& 2=5,*2<AU?BYP:3B.U41T38 7#6V.)1ES"=I;*D_YOH-PSL9 D0
M3TVNSN"LRLQ;X:\!NWH1KI 8'9S0)T5972]9-G>^J(C)4QKC\J[(]'&A7L%O
M+VX#/N[#==)^R/9'0;8<K]A8U;3*:T4JGT@N^>)9&4&XX^@3*<KRAA1+[5Z]
MD837ZQ=D:*,;&/K'L-;]96#290Q, FVX2' &=-WV69//SQ*D&>2]9M"SP1[E
MT-,)@^FZ; CUP5:;AC%\L'6'LZSW0+?W8"+D=7.'$N!H&\=( EI?HT0G[= 0
M0BTO@K/B$\XI53.6@S19IWG*:,U.MIAI8M7RVA.YN3#JG<PJT)CE!E?JQX26
MR H[T@/#/JE==6U_ _=F3KU8"!;=V\(?'4K;$&M?Z80UY]WX;O(.6[^3?.*%
M1=;;*3@;W.Y G$XP>&3C@DZ=';B/;40:,3B-B)8V1LD@#8F:,@8Q6(.H&9R!
MQI:K(N]:M4]1FI<,O+;CT4K[9(T%\I Y&M'@S8T;OBEYJ/2[8D*@O5QWKNF%
MQ,[_S[AZ+)K4BJI64R7EK>?10^SZ'%DD>/&;<4V+70BB-9>$TFZ<%P2GJUSD
M#8ZW]R3*RRAFN^H9CQF-C_&2RNC7*&99\-F^[.#:L,V9H1Z<B+MCGI*TL= D
MB8ZWJ.IME.A;=H;Q.[1B3=R!&JN+O,+TLU1-($\'AVU^5S'IW1S_D+80S%7V
MUK3-=JAK\9PUH0SL=T*MN">:Z[=C,S[03]H-HG&SD+%LK01O0?M8L5T"3/.:
M FM"1%IM1)WKDAKC\NR%UJJBV5EQ4>$U3^?(%@\+/HW6?@)-+3_H&_U>F7[P
M3S>^:?U@KX,UCCF\HW*EY:FW'[A9(!FX.^^:EN@8YUB_XJB5]E\AM)!E,DNB
M4+H"-Y@:&E'^L(7*I[2$<)O)%:ZL4S 3&:_#:!6\T>!Y* "KH5)!DT;+N((R
M6&H3V;0G"(ZC,HTUKFED?3+#"'?($*4@F$&-"=V4+/Q9>Q$$[>W$=E5PQ#E-
ML[K2[JK72H<DSP2RB3Z-*%@"C?')U[SQI_!(] L=F#]29(LG&L6M\%7-\C=>
M+Z6=W*96::8-GX3;R;TA#6<9 $/.75"K6[WGQA**A"F6?FI=Y!!W[&N<;JJ>
MZVF1V58 T-GFH@.A=2:@4]J"6]<.OR%:*_+&M3GC+/L;G30]GW]R=65R#,JF
M!H:F[E@U]PF/LON)<"'\?DA3 D/]\L B3_A?&9\>6B3_59?\*@A+0LM#O<S[
MK=@'^V#2I=I[?Q.8^G10]]S6J801%'56PL]"FK[*250^GF?%\U]QLL+M"MUB
M66%RB^,L*LMTF<91^Y5VJH7S7P&E[NWZ<5QKW%S[;Z*>[>B4=%SHD?[%^C2T
MC-(F^P5;=4LP29_$7MNX.>L&NX:UK<B-N!E[454D?:@K=GO[?7$3&:ZN>[55
M*/5HQB=PK3H.)F'-,^_'&?<P,'B=,,2V]"]Q(%7I\*R%Z+V_!<@(YS6?R'$T
MM,LK8-6IPS@G'UP%6+L&J6S;#M=V@-&L$BC9L!:\)LFP) \F)G( :4PJS)00
MUX*43)C6)P;LABV%)S@YWOY4LLO1N\WG"W9;D\CU;6;?+H8\KV'OZ.ADH7NF
M%3#\W1FZU%XN[OZ*SB^O?[E#Y[?7G]'US=GM@MW*B18G]Q<_7]Q;KN:$LU'A
M1TB%H\ %>)]"/XO"=W%18O$=7?<%'032O],,CURZ+_;3RAS^M7[O_O+S$<>7
MB!WVG6"JE"='Y6O-NM>BJD"D?1D[?-,N^-/?V5\,D]B$1M^('K:#0Z-1][KP
MT_TW[3:Y\X*<%O5#M:RS11P7-751\^W-*GX3(=O!C[,@Z^7!4-L!I$3+C$:>
M$?U<:%D0%!.<I!6_+@K +MI33,=?<=K.&2[6;$CW#_ZGY@,8-7S2RP'ZD%T&
M<3#DLF.4EM$'&B)GPD ' +O$N8[!3G0Q,7W"*X&N";.K^>69FQ-CLIEUO#+N
M"9.'HL2FV1Y'O#+[FG,[;><*Z&1 >SYB?(#S"3<!@N9#..J&.T9C<4=_($:C
M"/-$@1OH-W$$MUVFN\Y/TW+3W&EUO63Y(JOR@^8KV)2\9BIR<F"4J,BH 8UQ
M3FBE-$54"=$N-^$J+.G,$D5<XT '9V<<DPU_*-;U"&S0 Z^VD__SSK6>PCW"
MRA<RVW$X;Q3->=(,\MY7O4VPI?5LE3"TUL8&5+T*G1?Y.SYE 6GODST=P4\Y
MP5%FN,!DG@E8Z25DY^;EE^CUH7%T!^Q3VO8"ZCU\(&[+IO6/HBSQ*1;_'<PY
MGD2;M(HRRY3X' .>APPS'9N,&QRU@W?4.T-6;XDKV9ZXP4PP#^CXM,K@[N3P
ML\*RM^T,Y"V.<?K$-F(X?RB5:EBNZITQLU36@]:PSL LI;8D48)1U(BSM8U&
M'B ;V4@]IR]*M1GJ+#IA^:> ;R;>0 $^XV2P<IJ&3@(@N6X(WD1I8A["V-7"
M4DSMA)EE8QWX1%/B5=P-RH3VEJGW$#'A*-^LF!9R#T.4RH%C08-#ECA0H0F?
MB ;4ZM'V?B;R#ACFW41;UO6S)<(X)C7]('UX.COT,!N#$0JZ..P6')HL05N5
M>Y47E@!R(RR(-6-A W(CW+@Y6)]L/L&<3Z>S$)SC9M>LQ%:K QZ<VS!+W&4B
M+64!LO-LO<F*+<:W../=TPZML<E$6'[:G3,35*\/F*%6T%.*TG:\(,-I(H T
M'0="N[#48 %23#N;HUIUP!2U85;'MK 9>L*2OR1IM6WOVA31.HUS=F&KH[6P
MS)WELIG%3J;@C]?FN"$?*!0JFKE[@)0_K3';%\^[F9N(S"*X4C<LG0WNF,FK
M4 3<^.K13AG9"-'HE8!@H/M9-,W'F&, YBE#%2'=M6&=TYZ-6WFD\.;V^N>+
MT[-3=/RWV6<*0[)6[ G=PUE9HR$ +'9PU('-!BM@VMJ=H=O.REY<_7QV!XW7
M-]&6;^:Z+Q;QW^N4)>VW;5$WJW@]X.4 ?G3 RR /+2QUP"JM95$8CS0Z8+L_
MTUX:'L>.ZS+-,3M_QE-ZL.K6/-'MTYMG(B@''9PS<M*@#YZC=NQ2;N%& T5,
M3NQ]#T]84L08)X83(*<IZQSRI+PFI^R"8)9^AEU\<HNKFN3,<[[I2_?=]F??
M\WG:_7Z6R>';_1@'$TCLVR,Y@W&CW6S&P@FHBG,79?AZ27^A(X%J>T.A5XL\
M81]BL];GQ9ME(13Y'5W3T=NB#I+ ;IBE)$A4BT4CFT:/3X?A5BD\7:?]UVRV
MSC 0-"B9QU5G;? !R5S"+OHH!#!OW8>HKQ[C0IU\>-VDPYN80M/C5LXT_'1W
M=HHNKF!.,VA<[ XUOG;ZS&@( (,=''5@LL$*F*!A9^BVZ;/SBZO%U0DP7K<=
M#KM^I(G&+5W32#)$3*" JNK\!V)0>WD9HL0A=F0U:80.=#"^1W-5Y"=RYEGU
M08%YJMX.SL]TICM([Z@'A4D[8);R,;(3T;T22MM[I3?-+"R8MNF\(+>X176]
M%%,1EJJET0G17AGAJUHNI0(4YLT!*Z<4+N(OZ*'>/D3QE_#T&LP.7)1ES1+,
MT189/[A,[4P50LWDJ('K)F[&TF!"+BM$^="34$#LPZ"$"@9G$ZT$?:^NYY L
MYI,Y.I!#ODQEH#4\&GSRKJ%63%S, H B[B.+5P]-H(X97S=6?!.S'GK<QED/
MD*/#L^42QQ7MU5]BGM[AEE;.ZYQYS?Z/]?5/48;YZ7NV^A/3JLN73/-D_,-
MLKO[XK1)_/6)%/6&:M"_63B:YC5.FLU71:ZK"1" >;UM&H"_<LT-CPI," /F
M4T@I'3DPU@?B!AJB"AC%3;Z6(A>IO-D" ?\'[A$$;W]>]?UN,$G98O5TYW'S
M58<E)3Z2IFA]@_!ZR5.0#SRZ \HK E@11!#?I7F@LWL:?YS<GBWNSM"WIV?B
M7]^QF(0'*(NK4_&/L__XZ>+GQ>79U7WXP 1 "/+U!ANAPXJO-H#8\"I[5T6D
M.EBSL)^H05OST3MTC%=IGK,I8[;!@+L4Z,:D_U9$]7O?DRC7L]PX%1/$_SE4
MI?C=2.KG6L1ZL\GXE7I1QCX&NT_O(E\69"WNJ[#<D.BJ[?6RQ'DNC>Y-=%,%
M,\*;AU=:^OCIYN;R[#/EY>(2G5[<G5Q>W_UT>W:'KL]1MU& QESGU[>?%_<7
MUU<'6NSE,U91FIS6A-T_RBO&>4':)4-Q9X5V$\MN)KPM_N[H7+<(/%,_.#5?
M 5JYT8 GDDNX'50]XJ;=9)<N04C9*OQAKEYA?3[AB93?L]Q*B.-3VR.1X PR
MXY+S6@HI &08Y#TR\T$6]'_UC JH?,_,4 H0,3309&[P"XRH9'!V=)<#M-M/
M\Z1;E.'7*-JV:+KK>UUEF^O6:)'-51D,\^8BEN:UKJ_>\<AJL)^8CA)4ZVSA
M>[?S*"4_1UF-VVMS+,=)#?)>[WBPP1Y=Z* 3!D,Y&T+IL$63(J>10G6>X.Y^
MRH+L9=>!)HYO\E@V6?]HO->>0QT< %%%BVYZWB+V.6YT8;J+4G!.S44J'^3A
MJEV:47;SZ0/$L\9W553Q8?&](9OH5,CK'(42X&@J8B01G#I&6/*>RD8(_<K%
M_@\<0EQ2LO*>VN;?0# (,22@2G)T4O (,H5F( D315S6R)2#?O8B_O)89+2O
M+/6;H66I(#/@UL4: TXI542W</(096R/ZQ%Z8M%&^!K[&-$O=%U7917EB7PI
MHD'.:WW5P1SQ9BH$DC0:D!)C6IZ47"$\422R=ZLX-^S6[")?5"(+!.N*[@LV
MAI//I3C7I-V,^^U"]OE!S.W?+I9!DG^?GFEJ3/":TAWLX[E8<^ZSYGNH1;U>
MT&X .[J472$'[7B  :,N_PSZ]G^\__[#![;<(1K:[X+3A\/NSU6-%G?X#(6I
M;IGUO#>/+FY(+9])"1KE7 %+43GC&NH50;-.A"P[?(%6$0KOQHZX$D]HO27F
MC1#;J.<281ZPO'AF?=I@;PA^Q'F9/F&QG,1NRFWW6OP5)RO<7I^[6-(HX!;'
M6526Z3*-Q18,OM2M*ME]VO<\#'6XY>@@WLG7LY/TB0H^X?9B]BA#:5Y6I(:1
MI%/W%?1W,3./^QN5%]W%X#SU(_T6RFCTAE83;3HMSQB\7R;O^_.ZU.&#   S
MQ1?"ZVG5;]ZEO(?\K<TA?H2WB]: <H?1+;SY-X ;E_4@X<_ -3/YUTN9-[8=
MQ&ZZ099@7-Q1KLJ8%,&TXG/0ZM=NBB4::O^_2.BC7UL+ -;^6"VY(6FLG: 8
M"'A?.Q@!DQHM_A0.9::0M+-7W;357DN_Q/'WJ^+I!QPG3<''25_>](_?;IXV
MJB7_\2,?9:P"PTIW^'OP<E6 D;+:1%OT5"(Z?.>G"JB_B)V%R8JRIH/U0RSO
MVPOY[ 7'-1OUG=!6:%60[>(EG<X"&>1\%;\19LL%I1 (8IB020?Z6UG4"M,.
M@(K[9L9%SO,2UE&FH<14P!<7U,!:$HR?@BA])21Y?W4K%*:XZ4#ROF #44UI
M3Y[[*FPEK+:L1P]!%+4*D;3SKQNRHZI 3)@._/E@.TS)?\81ZX TY3YZZJO4
M%9#:,A\\ E'B,IYI>3<280JW#4GN\4MUG,F+U!H9WV&=!&\:WW4"( I=AVI6
MQ'>$[O=^6[N=$"?%'<XP.Z_=\/(J6JM"?(V<+V(88;;D4 J!((@)F7PC[WH3
MY5O4:J"VP6 ZGMG!7IET$>CU<DG'IZ0\STW-AX..+]8XPV\99%4 P297E-(1
M*::'^@%%JWF$SHNBRHO*^Y0"QH2G@6!98*W$,DI[ZZ'LD+N^2B\*@D9V?%+_
M13405T&-3C#JG/!L5TGG@YDZ1FEO?9@=<M>3Z45!4,>.3^K5A ;J*12PU2GN
M6:HV/BY;3U=/E!+^6A<EM+Y%&3T&004U)JGE.+M&7&P\P%VLV:$W_^6_B*LZ
MRK(M.^-NI(%2T",;#$ 'I%!(0>&&'IJ*(JTT8N( J,+G;Z@7#(FYA]%*>IT9
MTT,=S9')8B#H8L9FF#>[+Q!CSY OP7J7JR*G+EQ1YC^M+-V,7M3; ,D"MAL7
M:>1 T,8"3G41#F/+%6MOGC")5AA,US1TA7LQ:#WM'%)JA*"2 ;J*40IQ<,32
M8W3AUYA9HTXN7+_6N>?8N^GEO?9Q-MBCGDXG#()?+@C-JT5#KHTX%JCS$SN4
MV"$8L1NU+.OUAOWK-%TN,=M-BLU$FVO VX:#G1SK=B+,T@;!S9T@2WL7Q(:U
MS@KJS:#>3K@YI$F;_G/)XP"^%4MLNKNMS--*,PWX6RW9Q;%^&66.-@BV[@19
MM?"BZ:2?RN^;&'%@$MWBJB;[S<BS"VFO<-6D[9M%595:.(+JG=#34M8!2D8M
MT)D4I':0,!2<=-**YCSRF=3#D=#NE)Z,>EV@I+0"GDE.W;JU9ZHJ&OZ?RVZA
MPL129TU?!)WI2LM-1S40M)R'=<I(79>,?BX'"TW!VTI^J&^G9E*C&:Z%-+JB
M;QR5:B (. _KS":1FPK5#D8/=1:1R[2LK#O^#++>VCH;W*YUTPF"H),-G=2"
M"7G$%,)L %2TP.J99IU@P-Y0,:^LEH+!#1,TYZXMT))YVR.[LL6JX7W#EAM_
M+.(@B.2&T;!YZQ7D.D I=1G@VU$RRUDR+!>E@.>C_0YY6=3PI.6A;@R/OF6"
M^TT^ML.&;W7]58L%V^ZMJ*DJ&1#5TP#,>:]WD%:>AZOL<(*1&4HI7\0P0&QY
MH1 !00L]KBDKQ+!A>$JD43D*N%JLW\8R?NS_)*!,@>$S$&6O .1^##!0J;-5
M:?59H.Z)QXV0JO,^S<\@2GB,1;6W,<#Q'?.1KB 'N0S'MZ =VK(?U0IQ(JO(
M/]%@L\%VBLN8I'Q!W7@DRT')XSXQ1P<&6\4L&B#HX@Q3M6'LTV)QTP5_ UWO
M/7W";YF)LM^]__&I/YMJWAMFU?$7$SC"[P,%BP((9KFBE$.*5@]1Q6^?OAN<
M-O8=3.1E?IPOJY*&.993?CI);\&&&6H7?*C%0!#&C$V>&,I+MGYQC'.\3*L2
M]:%HN/-]9X2GP;S%<?&$R5:7>4HMYFU7H %DM_=/(0.") 9@TCX^0HH<%W69
M;='B.2()GAS.:8T$REK%+IUOLN:=TO]J4I<HI7Q1Q0"Q98I"! 11]+BF/!E(
MTB"FPF2=YH(@3#%,QI,A^B$DALCBK"P>@BTZT"K:3&7!\4<#<!Z1? ?%JU75
M-)::";")@+=P5PFLBVU'3T$P00E)BEI7*\*O0D!=MP/@9%8+FP;3VS(MC6<8
MM**>XQ(MV$EL(LF!((L%G#9&F9"E4?=,E[OJRPV)K\E]2<[**EUS,)]Q]5@D
M)NJXJ?FBT1PG6DJYZ("@UPR@<HIF^@SQ9+WLVN?[NUO4FT#"AN^ENSZWN;6[
M,LAZ6\:SP>T6\W2"(#AD0R<M[/7R"&8W-W#CJJC^AKN(#1O;+3>U '&1U0E%
MM*35 <&Y&4!G1U;4(*(646_2,_W.Z3>@P-KIA(L\T:Q=Z01]4<P,M"656@K*
MOB4K0@#+71-\IS6^+\Y>&&/Q]?(L7Q;T<[!1HKJGFZ4=B#HN+FGX9%(%T5;-
MQZNXBXA9Z"<8DQJS_1&-%79'QL!.H)T2*C=_3@MQ8]+U\J_%&I\P6&1[&3V[
M,]5L(B1=79PS<=:D#Y:X#J!=V=N98OQEQE!C#5%S@$A\FI9_KZ.LNS.07RC6
M+A.Y$]EN)B2979TT$=IF RRI'8&[$GMJCO&;&NR6%F%PFW8>U)O&WXOUAMVE
M1 $_I%E:;4W#G!WM!&+W/#<U]'8S I'?LY#;"'Z$!N88JZ<&P\WWV =+)N$
M,SZ609->$M+ R8H2P.!)@=%I5E 2#D@2^[S@1!)$4V2%9SY('**/'*[2%KB\
M*JI;_/<Z)5U[:NH8YRB'6$-W<TBUHF[6!$&VV7!-J^T)M8#RHD)$V.AZ0-\3
MT6R;47F2T2;XOOB<;U*V=5&W"\PD[&W2V0JXFVK62H*@DQ6>-*W,%1#70&F.
M[M,U'PQ\OKJY&.PX+0-M#N/P[M>KSA73.H9>UBN/3'!'-%()PF&1 9V21(PZ
M;&ULPIQ0A+$NUVLEO9/%O"BO$8-%%*>E]S%-0JRTMWAO"$XJLLZ3\RQ:&?R:
MR/EFAA+FE!<C(5"L4"$S<H(IA%J]'+9Y)WF9$!LWIH(A^A@9J*J#Z:5 T4,)
MS=ZUG!1YF2:8!&/(7XOG'KI+#Z-3\,T8,_ I<]32H!ADA&ABTA&BJH'IU 57
M-.).S@N^*>3G*-.T.D9I;^=_[9"[\\!Z41 4LN.3KGX=Q[5\I)2@94'&VW!8
MONP@0:]RU&=MGFQ:X4?@YH;*K *":NXX=QV<ATD^I_1+OY!A%@_*,\UBADD6
MTG*& TX "QH<Y4]Y0K+MZ@['-4FK%&LV(AADO1+%!'?$$I4@G,;'@&Y*#"J*
MJ2R+MGOQ$$PY>R$QWZ6O<VH@X)43$K 1$;JG<$I_"DDZ?/."29S2'H8+A2CK
M3R02QU//HY3P $KGBTK2:^GKH8YH((O!X8,6F[2/@CX7\2R*2K9O@FN&.,4Y
M;L"VG[]4G*LGC_GJ)E9U(#8%7YQQ ]Y2QRP-@D%.$.V=RA9]CL@77#4'L<0%
MP[Z3)Y.('_XAY)AM_]"M3ZK%O"5.-H#LTB8K9$"0Q0!,2IDL1!&5951H\I<\
M;!'52Y_2I(ZR0$N0O1.:U!13 ?_44"6D&#\%1@=#&@H%$<+DGOA<D>P>DW5Y
MO;PG"85CFDLQ"7N;G;,"[B;GM)(@>&*%)TW-T8B$I+2%X%I\W[+,(N_-!D.N
MGPZ9//?7:"A@]6W&X"&D&0X5, !3&AVL^[32Q YC >^E/ (F%3-_"J+**R%)
M70-[YGMG99WA#^\?_N4#Z[628E-AW;JP5M+;GDDSU&Z#I%H,! W,V*2MCU0:
M,?%W'T;A0J/I/[FK.UE,PAZ3N3I21B\)@C56>*JDK;#((]H__FY]>C.5D-\>
M105PW*L,)4"00PM+3KA:;$)E*1O2]YZL\\JEDQD*ANAC9*"J+J:7 D$'(S37
M#N:^R6D7NH\Q4L4@&ZB'T1-&*PB",S9T<[J78-1I1]*V')H:.;_]C ;FN*NY
M!Y@NTX1,&LZ$S8PIH)Z];%)BY\-4S"\=U"#';!C+ "*#$IB\!ML*A:/":2T0
M:#WI!?P6_Q38N.#;IX"*? ))BC0'_4$KZKG$+\2FUV::]*;(TCC%Y0TIXLLT
MQQ<57JM6.IRT?'%CA@LM81Q40+#('>>46HUF-__=ZJ(H3Q S@!-QFH\90MR2
M[W65SKEDZ)AYNL1!QSOM;/ ETND48%'.@G)7PH695E%[=554#1S3DMX,W;#<
M,[ACYJ!"$3 7]6AWY23+F'D(7BZC\H&[VEPNVY SJ\KVEYZE[?VSUV05Y>D_
M>"S CJ10R G_8Y$G-Q0LC16:;#CG=,R0QVF4W;7G_LO%0UFQA#:3;[EGVSY8
M?I#/,;R&>"^&@]>20W@CY3L>V#Y"(^M-1>KMLR7W[@VH?P7ZM7W)?J,,[S7,
M?IO:X5[S9NJ=Y<ZV0[WCZZB-[C?#?<(Y)E$6O$(MXIBE.AJ,4"S]D$G!)\GM
MP(=TU4N#(9X5HC0#T2GTP1&@IOHN7>4\#65>R:[9&F!799^,F^?0D'UNFF"8
M. ONE)7'49GRW7NCT(+%&G?U>AV1+7LV> -2T#@X=X_K,LUQ69X4ZX=F=I\V
M_XNRQ/2+_+U.2WZKIZ6EG&O$)Y=W<W#(Z7D6P'![)]@2QQLC:&#E"'$C:&#E
MB U>\Y(E*:55X %7SQCGZ(QRG9W'0S4[4,%,K.E3&FI4%/P1KRG_7J2T8OQ,
M:P\[HWY>D.9B&T"MN^([NH?7KLJ!:X1C*.RF";D&S+C0N&=W^%;Z(G^B5:0@
MVQZ_I4DV:OADFP/T(<4,XF!X9<<H3_$U&L.,'(#:.(5'MI;-K!*88<96S"0/
MF6/V>62ADK(,&SDVGB Y8''<8@JCQN?T1][54X+_DE:/)W59%6M,3)7?4?6W
M'Z$<]M@5N)P5E^LC]B51:P$]4Q.HM0&IN;"X:VLZW-5]-B-SG9I!7'C-RTS
M&KZ6/.Y/<#NR+5D&9YP^L7.O1SV/^7!!+&=UOUVFXC(#"&/@3T61/*=91H='
M%W08GZ]2BE^ =HZW9MKP2>R=W!NR>Y8!,!3?!;4T=]W8X-SMK;2,AAK,Z;RU
MQW0.FGY#.V=7QA&>50T,3=VQRO'>E(^,I2UE@]/P)MJR?J!DDTYQ3.HHLRVX
M&#5\TLX!^I!N!G$P-+-CG-*KU>"L:G4@M7-W]6:3I9B(U4E\0XH5B=;6]1:;
MEM>%%C<71BLL9A4PA'/#*5UWWF@UVS-8DB^N%YQLI_BA<@X&=<(^J64&/&24
M6A(,D8SPIOQAPD##LK$?MF9**QV.0\9F22,*E$6V9HA) R ,H4/I*GW"%SDE
M<2UVP>7)7W&R8GF)8OJ(#Z!GM$NOL.B7>*]V?4S.G<T!(O!K?9!)WEI$ Y,\
MW&N,HMXJV$9U]E>QM[RO,0F\EEC:\-WMO>5Z8NL-)K5ARZO((-OH9QPQ,_Q-
MP6O$11X7:WP?O<Q8*C9H^)WML4(?S_)HQ<&PT8Y1GM5A&OPF:YA-KL(E^[RB
M224PQ2PSB7IYR"2SSQVV+ .P_G*+,Y9AXB8BU7:PC\PV76A7\[M\Z.;$>-G0
MK .&88Y Y65"KH:XWG"+(*AY1)US[NW;+ L02.G8^LU0!T]5][9QR%H(R]-G
M?Z]IT&EI#*="/EFF!C@DTE@"#%>4L*1<)UP(4H-U5U'R/A99@DDIT%T5%79O
MKF;H>UT,F>O6:%G$51D,^>8BEI9*'B."&_U__J<__/CA7_^,A)W@!&4[_=.J
M'7FS/3]T^(SS>,Y<Y4P;/HFZDWM#LLXR (:PNZ">DG9@H]L/UED!.N!U\MO6
MYLXU H[/QM9WGH6WQ6A;.VRD='#R\D.*U\O)Z<:M^/_6TTN.REY/+\UR:'1Z
MR4D3##EGP74_F_I3B=GO9V65KNDP)SQ#1ZD'W'AI5O';=-K!CQM*O3P8YCF
ME#:+D92V=QNV78R2:V0@.,'Z%:'2C5XFA3#K>SK@ZM6[J3088EDA&I:H^WP]
M@W6]X-RZPL^#!IH4.?UG+%8"YW2T\\WXY.&N3@[9.=<&&,[N"%R>5(RI2K9%
M%V59XV24"V)D-#BE[^)'G-09OEZVYZ>'1Z&/MX._K!--.YGR.N?T"F='TT\[
MV %#\5> ER:E&E,\]*08'Z/VHEZTR#A?4Y$"@J<\%'_Q6?HE)@1 7D/%!Z#5
MD^>EN,B7;7H*UZP/SE9"I'^8Z:(J#X2C"3!$WPVWB>,_Y5&=I'RUB!0B?\DH
M4NF,!F=V7\F[H^4G-:US><6O*75ORFWJ89IO-Z?43;99%PQ[9P(VT7:0*B X
M,;MKO0='@IL==<EU?LLN8*:#RQ6?T?@I+QY*3/@!XXM\4U?T,64)U1(U5W$G
M\N%>XY/HA_I(PPJQ[W> J3@'<DQ___S1\'A[NSTT0336Z5Z&^-N.T/!]B+\0
MC=]XD&ND ]?32\VE#8=]U1NMK]+'.E"=O01SIX0'YWS5W<L#W5NQTSQH6D:K
M%<&K)JMOD\3#*?QSU/4Z.SK'G=%$J8LBF$HP!ZTIY!O;00];U%@*SLL^KKW#
M*S8'=HLW!6%38X/QT_&V>>@^4)EI+<RX92>7U<.86:; \/MU^$V,_X39T?'-
M8QKO<R!>K;*2<_C][S^^YSR^_W1Y-W"CS8U$*UQ%TH=:X#_+D\\1^8+-H^W7
MF?+!X'TXR^C[&CO!N;L'\";BMO;0T" ZWB)J$@F;@!KM-O<7V[U87A91SO;2
M-'-@^:I/".;><.]@,4SCO;/KZ@9\MKG@%6%_/ICJ@S;'W,';\I-'=O-A>9&S
MQ8MGEI#DO""G1?U0+>NL!31P:D;;_DK3 =KZO7P,1=O_*KO!J\ !G#'5A<8^
M2G/4O0'1X :U[SA$/=G''B\Y*2K/1)\G[7![ZS00W<F2YQUAN[HZV2@VUTSP
MJO!Z[$;F*]*)0LHBVK<!M+M+*WR9/F$I\^3,M;89EL)$0+-=54<^SF; <'QW
M[":."UOON#$YW^@1N@(4^1<FS\]K=J''8LU&\N*&L;.7#<Y+M]G&_;XB1,W8
MY\=159E]V =7E_;HE+V2(4TE0^)%:/@FU+PJ>-T[EF\T:2;&^MU53C5L%T.!
M[ZAQ=-1R7XW%"I@ZL3-TXXPHE-S ?>_),NW-#(I4*F&B'SUX=9@CRX/AFP-(
M$[,NBWR%[C%9(Q"I$WMO/D>T-><#A.LE \DP[L Y5S-A>#C/234WW6P Y.LL
MX"8.]X;VSVCK3&.WUX'^LR X7>5B;U^\9=GGL'G@^$I; >82=W-7,7DXSU!P
M^NX#O3&V[;,2LK^$3=0:1<(JH.99F:WQ4Y3FET597N3=?=.#.ZAO,.&+N91J
M<V*&/;TG5*"QU\^DBT[V\I+@=>S0GADC;&JT1-\RN[C\CNT:LQUA1'^O(U)A
M@G"> #@ ,XX#!SCGQ>=JQ7!1NLD1?:RNT@));R-4Q_Z"YZZ("-GR5+=KL88$
M.;2G0^--D3./V8F()@5F,U-SC'.\3.=&^3M8#$/IG5U7<WVV.8"58%<?S$M.
MK4UQ:*;+S ME/G"X!TF=]G!F#7 U$X;V\YQ4<]W-!D""SP)NWEZVU_R6UJ'M
M743Q%2/X,P:S=NT PU=7EQ0#5IMJ<.;MAM=$.&8"5<6^B;?'UO,L(CD->TH:
M]?.TBNR 1[S(D],TJRGBF8WH3&MAVM*=7%8WJ;-,!>?W?O";^-[:0]0@XA:/
M^)&AF,?8C=7@[%>L,(WR,@S2,GQP7Z0RF B\?FAUSK)RJ-4'P^@=0$]I?%]4
M488V;>:.#<O< 9&I[)S=*D__@9.+A,;GZ3*-NIT"/+L#]7&PVXSV-O09'1XG
M)U'Y2!^P1+E/M%NBH;W[Q]SK2P/7A@-\0$O]V>,;(=>X_;LI)1RE@KPGP;WH
MUU5'158+(=GO8O924[6O?K/UU?(Q#U9K->_].NNNV=EI#8:X1?]@G^.Z>L3$
M=QDT+_TJ*NWH WJIKOR-7W]%';HYK:+\6;-PWAXY^*KJZ TI-IA4VQOJ=M7$
M'1NV?N2A% SO?JLUUOHY#U5QM2_^*NNOS5LY+[60/T(;IG'4Q<U<Z:NJT/U.
M=A^!\NAM;[72*C[9H:KIX%5?9<64_9.FEO@I[JMH?:ACVWN-$YK#AL=1_"4K
M5JHEDH.^SMN:EH>/UBV"'?!=P>N4)P?ERV>:0[&-V!NH6E=%E<8B4P0E)MM@
M1\5N,%FGTERLYW>_R4KG\CD/4@--+_[ZJJ.#M].Z*538@F"O)*Z./SY!&Z'Z
M546@0L1#L-&^Z*W&G>,/=:B04X@$KXH'=TVZ:B-=/5;OBN6[NJ3U;2\S-SXB
M3C'5-'S0S!+?1%O5\D<0!&^RBW3_M(<)5:VO#UY'P_FL61I!&R'V5BLNJ7'2
M;!(.\JE'[_]Z*JWBL_JKLH.7_S>IL++'BNK*A! 64F^AH[W#Y(G&Y4V2S5.\
M*<ITNNCAZZ5OLF8:/^!!JJ/RC5]?'32Y*>TW%;*("&&4".DW4/\N<50.,_H?
M^JO*[WN3M4[WV0Y2X:8O^_KJFL;#:37C8BCKY=Y !3M.LXQM/[_(SUYB:I.=
MC2O98ND-*9:'[^JLKW^3U<_QHQZD-EK>_?553C>'I3O/&RV6&Q=S/3;W&E--
M/NNZX;I?U83K%?:Q6X>_Y:U.M0X^T:'F6>DKO%;!BIW1N/0TT]H[ISXJD@[,
MH1Q7>YIP#57-V@QY?JJ;_6UOH-JY?K(]5#_;J[Q6PR=,'@H:0^Z_(CJZ.:V0
M8+([MFX/;Y%N[]EM!K>6#V;4#'Q9LLX5RP7)4[7@4=M\K-("-VWNRR@#<)+;
MY -%*3)WL*1,.WR#B3X4]BG=<N7@2!EJJ^D*7$7+E L%YV5_QESEU/%V\)?I
M[N+Y9L+D%)CGI#J9@)L-,*WGCL"EL6NCC :A IB;?Q6>75IN\#6K!&Y#)?"6
M9K.3!\,Z!Y!N#+L$=#^M(EJ^(<VFN\Y-MAP95SAQC[A--@(/K^SN609->@/@
MJ#H'M0MWCQ W([97=H:.4&L*#)T'Z-@L9N,W'>:=T>'?*)47>SRC076S%KBM
MG>.RI1EV,06.]KOA=ZL  V7$M!GYXZQ.6 +/.[R)2%3A;(OZ*8>AQH$6LGXI
MR!?Z_I-HDU91MDC^JRXKQ:E2BZRW)2(;W&X]1R<8G' NZ*9T^C7FM[+]2:?V
M[KTQ&O#;21XN;]./4$>^L]"KY^7CH1ZJ>L7@_:+^CJ>?2KRLL\MTJ1L'NZGZ
M[/'F.#/DJ8M>\*9E![#27GR\CE*6# _57!1E5#8X!=L+MC7^]H]]4FD*:DB7
M]AD82DP R<4N'@<O:;%AP##S.Q3P6=HRL&%Y]T_!E+@$237MFM''P<O\(J?D
MHV:WM]'S9QH"DS3*=,6OD?7)!"/<(2F4@F#X84(G-0_1,UJW,G#XPL+ABYP2
MG>T=LKDY$0["&"5@)65&DO XHX(W)0V385N[-D(*#FU8>%0^BF5[*VTFPD%H
MHP2LI,U($AYM5/"FM&EET(H)!6<-SRO6.I#B\FX3$<P2HNN88U+PR1X[\"&#
M]-)@6&2%*!VY8 +BWODH9DT05SO0/%K'\9LH9G,T;9?ZB<BQK(N"MQDU)^#=
MM)I1.CA5G"%*:<>$:!?D!&]V.B=4_-$)!>F<))ZH)6#MN%5B4T_,#5J<([0B
MH 9,["*P9I=BB<F3=H+$I!"$-%K@2@))TG[(]$=!IAROV"TH3G32(96/*97E
MGSIJ;5&49<4SRS<3:!J_0Z+9_SM\[GD:WKTN#[%I-K\/ZW*.PQ\N.4W+:+4B
MC&&4-.S.*#X/9]I;9E;Q69M=P ])9)(/'CK, #GEUEA%W-@E#OE"V1"F<>K2
MLBG,K@: ;I(3#I2[!+=!S!'H#.I=NNT4._P"R3G]L4U[^$M:/9[PM6Q,NKT/
M;&6*_F]R'[T8UE+FF(&W4OP:)]1]&9@EFS914'\W@FG,HI7VV918( _9IQ$%
MTW"8\:ES^D;M=18$SG46BS8"/B_(:5$_5,LZDWUKLM[HOL4\&UX9MXM[(Q[.
M,0!M?+0+>/60J;.$E@5!,<%)*E8QS0VAU[:$CD-,!6F0AS:T<L*J[)Y"%8;?
M:N:WN#:8I$5R5T6DVE]ETY7B<92)_+<5>L"K-.=[@FA\*4 $*MX;4CRE)8UT
M%:YIMF5HY>'%B$YH%1=F"*5R7HL(J%/_A:05OEXNM2'C7"OP.G;)Q?EM3F?B
M;7;N4_C22!8GM;@?G2_8/3/Q=P65YQ-UK.6A],;I*D<Q;[GB+8JZ_<__/7J;
MCP%ZF[-\CX'=1WM?@VG9A^YE5 -TOGO6'-@YJ,'K<^: 5D?D<7/EVJ8@MF,J
M@<KLBJKO5FR]YMLJ.05N[44D(I4)^N=_^L./'S[\&>5%_J[1!524;5J5[<SZ
M-]7S58SNO><LU-I"'"0\%"7YXY\1X%*<7R,5JF^L+.?4255Q.E;,5VQA8DU^
M@V"<QDB^),1!WML&)A?8W?XEDS",N1=7F*KM_/&40-O@0\"?<@HDP\G@DF7S
M)*Y)P>? S@Y\V&;II<&L%%@A3AG5*O2TZM<+P.R%8N<M*U(W)[(%SH+T/M[B
M*DKS:*7;3C%#WR?[9KLUZ4#=E,%P<RYB^?Q:\QP"']5A.5^6,S=]CKJ>>>CN
MCM.P:J@(H\?=!;+V$+=H* ][BY4RV[(Z+[].U%].;S/8/O^V6BYX"^4 SCVO
M=?CN\H84*_IIV*U.;.*TI%$C'=0L5K3U+*O^G$Y!+HM\=8])MUNEO"9<-]+N
M%MN/:<]G>O?V,2;+3J^V&YSX!W!&NHPH>6+SOB5BQ8+BILFEM25'-<L'N<EP
M-0@_P]<>XP!_ETF!\)VY!-]Y)@9^YSV%:NFT'6\->:M3GWZ7CW:<P=:B?FN+
M#WN>ZWQ;A:< [C[7Z;X($;[-;S;A]AG;=OE:"B-@>@6M@\XDEBR B6QV@BT=
M,F;YU!'!&5L<0%4QNSOQF4"IR^YT@\F2I>>FY+A^R%)Q?$#SF1QU Z1><G-'
M<9; K B&H'/0ZA-Y;7HM5'1J;X.2],>8=@+ZZ=O95L#15'9Q-F%[$V^+NA)N
M:7.CDKI'C-*-8G :]_GD]5GW2K>[ NP&PMP2X.J8^GX FS88RLZ&/&5K+RLV
MU1PA8>@=MP3F,*C!NTO+@5 W51CY/&5GW/)Y]GI@F#D#K"J;4L? *4%+6/<)
M&-PTG2BTJP$AI/:,H4WG+1#1=.K03,(C] G$3@*#<XLXKM<U'^(MUFRJZ1^F
M =,NAH!0U.*H(VDU5J!MU]O9 VD=HY=&0W'(E-;?C6E3 D)53:8:L\9;:$GU
M%T8.FLZH:3HA)+$QU:-!;6 7O>1E,R1,,&%Q=AE'V=]P1':HH<Z6@?!U[J=P
M;6L=S;X%YL_T95H]&#'?6&6XPB_5_3/.GO#G(J\>=PAQG8S"K0*Z#[ [^Z<6
MWRCQ-6XH./_[-\9Y5H/OGXN]?*7.%ER&3]S=G=B-H3?*YS%Z!8W_]2W2F+YY
M_MTW%FO J3QT^95D9J;>,IT'^!6$_L,;)/0Y_:1[^S["&&PZ#QU^'9N9I3=,
MY@%\!9?_>*"M[/-P+I85)AJ:OMZ<MRWQ>W"ZVS;_"EO!R;HG!Z1=G8^8X(@)
M!MH.N/=)*V!9P1S10LH+QBX<>4ZS3/7QVV<PLWE)Z*33)EUVKH<FC<H[=(IC
MO'[ !'W\<(1HJ_N[X*%(ZT9[F^YI3<2N$/H-+)ZK57R&%2[@58Q2R0=O=6>
M5.W937.V\29#G[*H+(<W>4.NV0 S)TG8IA^;Z@\K=;LU^M_K'*./[WFU#C_;
MV9+'T"7\@M/5(UM'>\(D6F'KG;&O,^DWB_#KG1]G!MW='IAF90].2!?)-?(H
M$@HH&@2&#JG"_-2$ :;KY=1EW<>R*'EELY,#([X:-> PT@6FM*0_I!@6@X_@
M'#O%#]4=CFE'S0X5_!5GR7WQ.:K8W]MA)KX3G@247?UJO$AD5VM>+WUXG<NC
MNR!V,P6&QZ_#+^?;?*A0;^X(,8/OJN)=:_)HDFM;F$7,+IBMK/(GJ8JU\9-<
MVJX\>8W%L!5CMNOFRN%L#G %F>O#?BO)):"]M<U)_%L6297]"0Q+0AJKEO=L
M#787I$0,>A4PS'7#*0W'F\//X<^M\ZM9!XGJ#$6B$8677]4&5&HK:LR.?[8G
M03<1 7'RDS5"UTO1+FD\'8OXK-(J<$.R#)^#J:P*4/+ARZ<B>V+3-]0 %NE_
MN/SAEM%8%W2)HQ*S/DNST#*1\;G@I80W7,4:"00O:Q,JQ>D&WO]G3"YX?1?-
M5I.*AZ$V]_!Z<>]WE1M RQV(+!N<,XX I_3AXETBDX3*'ZB1N,-Y6A >S>)$
M-%_G4:Q*7607]]9T.(#N6A&#;'!R. *4LDMP#=2HM,.+5BEX8W.*EY@P7UAN
M.W-#HQ;U.V+6@QT/A64Y:$>7#!C5B9):!9Z&D-^FPGLM&J( (-%#=<'3O[+\
M<B<1(5MV$>::72)B&.GK57Q/P]C 3^=9=/*P=GDX(%7G4^L3-92H9D<WT$-!
M2/',PF%JA2I@GD@P./'<HZ3@ 9)C; 0Y+'*/B$2+=3).[<;:K(R:>%=1&SQ,
MXO=$%:/HJ2,:+'(ULX4I+F_QIDFC>;V\(2EM@#=1-N=$W.O-AJ+M:SZ"CN.[
MV(0VS[0G?T >#)KAVT7N>!;NE3:!TE_O_H[<EPV^8>)KG0%YCFCHF(/OX3AI
MHQBL@%2!;/868^]3[NU0W;01PR ?:C)>"5LW,S\2AA-O6A!*42=;K:5!YF2.
M!<Q>!Y4_EY;=#!:=T.R2X-L8=@ENSX$+2F>F7;IM&("R( =NR5:)3O?UFYNR
MEU#F4E5,^AR]I.MZ?=P.:T^B#7VBO6I@GHG0M=_FG*TQT.F#;ALLH!W)>H36
MPLY@:BUN+ 4G\GCB\#@JT_)N0W"47.<_1R3EUWE%%?[@-.]H4@\WSVMW2C_G
MJ]<%0]R9@)6[YM).'STP ZCD%MC=+D^-#42HD>!T5=72B[S"]*-6S$N'DVKS
M3(1N=VW.V=I=G3X8^NX VM+NIHTV#,:.JV>[%?64>8;+F*0;0VY*1]UP3:O%
M'7V[JE$$P\HY:"4Z%E&.VJW,S8DGE/1J("@Y.=8UK'&&3V+4\DU#!Q>F!#2H
M@**>':>J&S]"S]/#=]#:0I(^157ZA/NZ57Z*TIQMP3_>_A4G*]K6W[)-N6Q!
M^C'='-.^("[6^*ZB^)GX)0-&'QYO5<9NT_*+^125/P!^JX/O#SNN6;[>#JB2
M>G99KN^M#AH@.$(, _J6H?@.S&2H\6-)TXISOO1EF.G1>0XY5Y7I5"1PFD_A
M[D312T#'KI3>+O*$U68\BY\#I>"\E!RP\K'3@,W#*4SU!K>D9^%^[OD^,,T&
MAYAV^A@C?3CD4[CESL.!\ANAI(S8RDY(-Q#VSK6-_77>_Z:_C<!!+PPE+6ZH
MJ:A1 DA!,U)%NHPZY_O*>5=<D+8W[N_/I -'='URT3XH<M0;?C4]-4=>C,$&
MA<9R6*7+%"?GM) 'MWA0G'2 7(CP^FRYQ#&S<2-VHDX^W2%?Y.V8S4$_5'=
MYR!O"5YW#N[:G,K6O0>QTD7#FVD&E2^EKT3BG<$[AN&VKO,H)3]'6:W=*:66
M#;5_3H*KVTC7"08GJPLZZ8 K?8ZX0*A=*0.PYNO4U9( =ZJ8<4J9'IK3-_92
M\!S+G:<O/+^;?:;?H!$F?M-"5T=NDCB8JFS':)A&63(5L'/ZQN1YLE@8(ND3
MY$UE %+&F 1OP!,@$QTMN<\BPE(>-WG"Q<J4"(NNZZJL(IX[5>/\3!L^2;63
M>T/&S3( AHZ[H%;<C2>:,"R,-(SMEBV+WD)P%@][_YGD=5,-%1#/H:J+'AB&
MS@"KW TW8!_+7DL5#S3C,1P"-M6I9'<GQ'0$J!JWFN6]S3^XP.ZF$4S"P1GC
MBE!.&348NS=M6'G$4\\RK4 CK^%,!3MI?5*L-P0_XKSD,QUL H'-*%SAZGIY
M'[VHZOE,$_#&:KLZ8+HEN#FV/K1$@W!FBMWHRJ9VJN@E4)GO?<D/7(DZXCUH
M 7H>294_E6QH2$EZD=._*N8R=Y<RMKE;YQCG>*E-$KB;J3 CLOG.JMGL;B=X
MM[,'\/K17XGJ4BS@,&ZGG3GTR.P=,:JC;Q^$L>^"D[Y)'"):9E=ZVY1\$MG-
M@2%ES1K0DE<YH54O;K>)7IJF%D8;*S)KS>.;52M$9K09C+.H0*.<&US=AHHF
M=9H;Z0XZ/>1</CI'/<5BXY*A(V=S0&9#JRZ8ICPVI'A*2PBG(+KUV\X?-@DO
M;LVJZ7CN>H.)V+VK^0YS#/AL(.8[-N2BNS:8,&HV9.GVKM8 #XY +*NH?6(;
M=')V1HZ[LZC.<4)=R]B>\IIBV(Z$9WVMF9;#\WFG3V$G^BRSP&O +KY(.6U;
MX4&'^G9J"#]LL<@3=M8BZ^2T.VM?9Q):G; Y/[<RZ.R]J5I@<<)ZFUW9U0<0
ME> NIJ/Z.L/7RUMQE<5-1*KM/8GR,HIYEW>\'3TQ'([;T99/VK_*W2'?=S($
MANBO02\O98@Y4BZ(!C; '!_3^'AI.3AF5_/)7%<GAB2UZ8#AHR/0&=2[#)Y<
MBZ\>T;X#IT^L&K 5(]L]%TII> LJ#E@U<RLU%AN59UR;=.@2>MT]5GZOFJYL
M,RLVF/IBF7>7U4';N2><U^H@LWT&KTI(R*1A4$0KRAO[RL#(+>%2W,/%!&8W
M,9[N3H_91J"R;S?UI^ TLGYO.S? G6SXD 7!!!8F=(H%?RY+J=,*'VC;UDE4
M/K+919(^U#S:/B_(71&G4782U:4TN^"HXVW[EBO\;@N732$X7>:@E$]KE(\H
M'NKQNV%+KHEBKOK60U!@/8$#4O6]:P.=(T2UCMI[1PY4T6^HZX]1B6](&M/!
M]GFM9IY2S%MU-H#L:K!"!D:EU0.;,J"5Y/=S+JE<\)#@IKGZX+Y8Q'^O4T(Y
MSW:E90EM>'XJ=;-L5BVOMS2[N3"ZI=FL$IQ6\W!*+!-:O N(F%Z9LC[A"%$I
MX[9>+XS[G.8%&>3'O'[.:5O[F&YN,/UR>16M\/'V)C+<C37+@D\F[N#:D)4S
MU,$P=#[F*5M;"_V1P**U$2AD.:Y+=H=R>5*L']*<K[C0F*Q,DV8%GD_RB1TZ
MRNS+<_2AA34[8==U<VC#>D36U[5E&[SUD5K4UF%<?B)%J9N'MZL%[?$T3AB[
MO(D.F!;%$:BNTV,IE.EH*#C1%!6ISTQSD5"HZ9+G)&_.'@I?$[:JV\^=TF?U
MFNTSS'6)P/?_&I]$/M1'LK3&KWH'F(IR(,>D3-#LTLOAW )Z I$2XJXJXB\7
M%#Y.ANG5[QYIL"&<%6&OKDF?H>]U=\!<MT8[ ER5P9!X+F)I38,+HI1;0 DW
M,1STA*<I!R@\Y!,$U$'^F^Z#Z.6]TM &>T0[G3 <FED0&FEUU,2Q&TQ0R1X<
M:J:.X'5:KT^R@C;L*UXS^E&4<N+)K.!O]LX%>#^/9Y(.SAAGB%( *G10+)10
MR;2.&&GBPTWNMD>\%<-NE5]&<6]T<0#=D<4@"X,J=H#21OU&HY_G:$E"=0[$
MD_.ZJ@E>) GO%*-LN,8DTDJH?'/1\L8:=Q<Z\MA58'#(&:>T7-RIC"/T_23\
MV/]DRPTIDCJVYMERT LZW:)SPSC?,E4*3KVY2+6S?-)>E_ W K;[**AO; 0\
M67'6;-"8"H?8ZZ(&K-KL,I8$PR8C/,6D';^6SS%5U@&_?Y]5A:7+/:/UH-I^
MQM5CD?2Y#)3UW$D1WF;!>;"E$(;+HS57: Y5!:_SBH*2G!Y(^,VR9^%0_\G!
M\60*34Z#UTD$JKL\X4A+9]7W'0G\]CM8*VYJ<-.O3*6:]-DHJD2@QUO.JF ]
MKF6 ><!O/[GD[:I>/V!RO13S)X-4=>Q*UUA5-K,,P&M'=X,O)[[)BS6;PR\(
MW[7![J^-NYQL?.*I(-1,1+9B!@J]DZ_)*\6<U1[33NHF'?@1Q>OE:9K5+$J\
MPS&[)I*M)N0)GRPY39_2!$N+5K.U_4U)S':IGZ%P5@T>H^V&5YUH@"VT)HT)
M5'8V$%LMXE-?]*DP ZMEXF[C1*J@,]HFG8DWTSI9';"U3XDP<-@6ZH#<:#-D
MMJL VMY)*0BOG,TPIZ5Y;.M=@)1*0U.7<FE$X9?,%*A4T^PU*_A JS^YW9(-
M)RQ%*<Y+D:2#$.H2OQ^T/-[V,LU$T^(Y(HG;&?Y7VP]SKG]/GT5]UO^5QH,'
M(8?R2%K";>RS0(5KO^/J:/@.-'P)>MB.!-L=9?Q-8!()6#^6[EM=6E(-[,.P
M]QT*>_D0TE:&5UF%4\'VY8IR<X2E-EDJTV7PU @<'-\*HJ4!?PHOI%!@4Y:0
MV+42O,%BTUHBC=T*YS$=(IJZ?IVPW^LE3(#'%TJH),$T $9XTC9/*HQ&TF"Z
M/,D/6U=F4@C*)&/7HY>&RRA;5Z%BE6/;[_5>G'8MFW9GZY0O9BAWQ;BKA;@/
MQ^:$ZBX<G0X@RCD!U6Y.H-%_M%H1GA88D>@9K>D_2!H9C]X>:IKYDL+(;G&)
MR9,B1<'HZ6])$7LK /HN?B5%I+MM6 5-JNM,!I%&Z/L0WY>?L&\RY>8K]:*@
M41#65[>@5.<7*%KY-MEI1C6"E,9X5P'#(B^>2"*P2D"+SV5'1)"/WMUL)_*:
M+_*DS41_4I35]?(\S2/:$8\7/.9IPBJBN;#UU_@) WP%J\O 'Q<E7^I:ME:"
M%*IK$;Z) IM7/*?:D@A1$.U>R>OE%3\875&MC+?-(Q)*!>.H!ZN@YH'6',CE
MJ4[R(A<;E(6!_JA_4^>"5"J6-.DF2D?GSLX+TGI'&Q*>5'GQ4%8DBN7=Y3/U
M897M;N"5>:>8&23L(&$(44NH:U>I+<2-H5];<[XG_;C+S<[49L\IA=@>H!T<
M,Y0*V44)5LG.0*S)/H<VS;9<OA6IT1X>J@Q274=#D,^8[60PCZ"$#*S"T0-4
MCZ9:4?2K$ Y2<?C\S8K=%<K/ PQX='EYHBD)!QU8)>,.6&H$.TW$5=% %U'E
MH&7W2T&^T(;Y)-JD590MDO^JQ5Y=J<!T@K!*R8)2NOE B*-8R*.H4PA1%OM,
MV,##,=J3'D?QEZR01P('?!<L1AS>46G[5-LCQOTK6;[6YITH';RTNQ.^>2T?
M7&;]B]ES]F81'=-7HP?Q[B!=[#Z_Y551\6R(-*:@KZ0C-C8RI^'A.JWDZ3A?
M+_YZJ>O@M1<>YQP'GW7OD'#AC<#RYGG='&@;/HAC4N-$-_3W^?*OE]^.GOMI
MJYLK84?/!)J@$QK[_-YW=-A!*W*3SOX4;XHRE8/&@[_QZR6TR5TO+"X% &I'
MW%B0" AOGKG'*9]C+"_RLY>8VKQ>LHEFUAN28GE@#EO>_?6RV<UQ+[Q^:*"P
MR^,Q!\-S0K+5 QZ'<$"!EN9H36/7[MW0&)]"_-SL1)!R=MJE83')!:I\4<HR
MPS$M4"[49"PYHJ7(2JMZQ'0@E/'@L7S$N$()V[Y!GVS$&[I='&$"RN'==>)"
MF-.T[-*O'&_/\N1S1+[@BN^@N\<OU7%6Q%^D,M[1#JS2?YT3VFW[UTO4VD-#
M@^AXBZA))&PVFQ01,XNXW2#3;/TW.'ED6Z!I0[C(LN*9,?B\(*=%_5 MZTR^
M"L:9(*^R"Y4P^W#*=.XC%O995Q"U;Q '&)MWL+A]>N$.$$JQ"T6:2:%Q?XL5
M$R@F85B%[X!4E?N@FQ^;=/DXU)2",N!1S&RIY6"5B1FDM#+5E,!6RD3Q;?J=
M(?PJ49TGF/#.O4]X)YZN-QGFC7M7SDW%Y'V]V%1%\(9M+A2_,2-)NEQB.A*G
M=?H!5\\8]^HUK>[L1H&G@@YQDB:Z*-&W+;KO>"S8#GT&(><#.ZURQ-L(_!(Q
M6$>(PV+XTYP/_1/F*RZK=,TS7E7\ D,A$57,-;8$CJE]:N3;E'X3=U2*C]:]
ME"&F7Z5>UR+35O\UF^\WG$:6/E^06B+/2I9-<K%37*:KG*4<8/L$,A8*TJ]#
M']+/QS;<*1<57V<.5IW;BR]22REF7VGH-#"+&KNH,<PW9 Q-H]9VT)7*NV)9
M/4>$WVM.G<A+[2J_5A)6"=M@2H%+(\_+I]4(OO _6 \S+/5+4K"*P@11M9S/
MF]!&.&@)G*=Y6N'+] FSQH#"3/OYF'5!JO0?W.=V[^N2#HK_AB-R3C^A5$ZO
ML 6K-%_OR+3,A44:6SZQ6:?.9C?G-+#:;Q-F=M&6&J;10DW"S$/4FTV68B(V
MT;+$G2L2K77-ID$85@$[()4:ST8%-3JH40I=>QF62TR#RE/\H$A0/!& 50P:
M=(K*P[]XQN100@7#U 6<IP7AV:QP<D+_+ZW.HY@/5.2JH)>%501VH%)%X!HB
M(Q<;$' =M&R4H)6,KJFR:;R94C(W6J*L&D4D-%&K&K3INL4QV]&8+E.<M#F,
MVL3U4G&9A&&5E -2>:&B5^G3,N%&*4B%6O2S /S,'TO"0? C#4MH ,,."&JJ
ME:,>K"*;!UJQI;V;,!'G(T?ZB!]0#SKL[2;#SZ.4_,RNUJ+_+ BF0W6QZ27>
M_A4GJR9[@\M2P3Q#L$K[E5Z8%@.6U*"XNXS_)6PVFWGB+7KD5H%,_K>'9VXI
M<>^>HTT[*-75;(L\K#)V ZL]I\G4$--#G6+8*'_,SJLB/\5L)$FV] E+=Z0K
M-%=%6*4W$[4T6FCJ7:N/J '46D"MB: %JN7G(D]V+NQ]&(5%A#UZ-*NNLW40
M%8O>):!8=(I)^A2Q],@7>5D1_BW+3U&:LY!C&%2R"QB&0<[)!76_$-D&1*YE
M:N.&S4 ISB<>Y"VP>'9(%^73YNV[4-J_#*WHVW@>#;94V(\&^,4WPR4Y^DHV
M?5BTJ3=P^U:T$:\-,ERX(6FYCCXQW/H#>RHA6#PP()3OXF.BB,L&/X(W2'0:
MT8BUN!4W)=VPBY*<8WJ;*JRBFHW;M N,F4#W!6J,(&X%2)R^R&K:*RW3^!(G
M=XL[W;A;)06KQ$P0I3%U*XNH,*+281<IH_)Q>&%>27O_NR).H^PDJDM%FBV;
M JR"<42KS,PPO!.PY'M:2JZ)8JX:9+!4YTD44SSW.,X+?FI:-SK22<(J'QM,
M:?S3RJ->X=W9W2]IGA3/82/6-F<>SRU[O3RO>ZD^3)!E8)6''J V1:"XW9G-
M"5'A,*EHSJ[IH.GD^EJWQ6+\'-875X.3&J2S:SYRHW)AH[&(NO(Y(FE$1Z3T
MO_I>6RL)Z_/;8$JA%9-'7('-N[!_!>_#[ZHZ28O%$X66&@I$)06L, P0I8+@
MLD@(!R^"G].$4.3L5IY"\_UE$5@?7XMO^N6%(!*28;M<TT7SBC&ZZ5IZ4&7A
M E4>M7,=% LE<8W84;M7/$P*TSU=50^J;.Q 9UU9'Z1@#G,;/*AB<L8K#S&8
M(HJ,E\,'*;7_+)8D8L<:HKN%II.116"5BA;?M!1Z0=JW!^UD_J..2(5)MF6K
M*9K/KI"!]=WU *<?OI,4JT<AO_PBS^LH8_?M:;?D3"5@?74=/&E*D,LA+ACT
MB_NYR!54&<W&_=H+70,=)7OBK+I_3-DBPG-Q_UC4)04G?M">&'/0@E6<<R#+
MY[^$+OKX_@C]^/[C^Z!U\?Z1%/7J<>C",_5\>\:NA=44F(,.K.)R!SPMK$:3
MEM./?P@\)9;A\K[@VR,'*W6I_@">10%6"3FBE>?)J!I;=Q3;1H>KCVGP<WGK
M-1U^I5&F/9(W%H!5(!IT\D&\5BSP3OA2Y"'2?FU) M;GUL&3-[IW<F%#N!<:
MO;/Q;DW##LH 72NDD8/U\<T@Y7D6(8TZ<1#G?\792LOQWZ$0K#(P(-0>_A6R
M(+[^($V*I0@D29CEH(.I+8R!0N#SG"\T=F"KQ;;]^%I)6"5B@RD?]7QA(1!?
M+X>Q^;[);<&#->W.QJD(K$+0XI/71T0>#Q&9AOSJ/"36?.[!,UC?608F[?ZM
ML=C3"R_DI]#8]F;W,9I- 5;9.*)]0P6VS^RJ_ 3^X&>IL _Y,EA$\>"I-+?-
MU\O8]*C(<*!*.IOF_45)PV2V(LM8EUTLJH;7*/&DID=H<* @*MODXF\^#;,R
M83O/=];<3'58%MM?__7RVMEW/=.[M)CM56!AB.YR!WBURDI^L??[WW]\SR_W
M;J.J\X*LH_Z.H$E/.0G!=,(^+O)V SP,:-62L"AM@ZD(;Q%70 .-KRSH^AC\
M7O5Y.'<,N-"OIW@9U1D=NK.W^BZ\]NYXT58VS>&PL)0"O_T8O'#,N*3FFDL=
M-8=@?5]I-L9Z5>2Q[3OW,N ^M0*:[FOWHD$_N/XS@_NXED\:Z#,.PB-#"R%+
M ?J\!G"ZI,U4-'2#T=[H+0YFWT<O VQ76%D*%A5 1>**5'O-N5!D%R:C49E1
MY? 5Q=S**P4!E8T9G['&!&_T-;,_BL<P/[C+9P[T:?D6N<<B2S IS^B8=9PO
M4B_UV^_ ?&@#.&F)F3\^0HM)[GX:PH-@=[MGT5H@-AV8]< ,U5 Y^ R+$ ]4
M2.Q.B.OEIZ)(N!?B^KCRCCJB*AZ]-*""<0 I+TJ7?(:L78QCQ=(H(J88J'#X
M+5KR#7>*QX ^OPK5]'N+Z\&$4*@. O/K.107O*HE 'UA#3 Y$2T70XU<* [C
M'),HHS5QD:S3G-WYQ5,Q&3Z\10502;@BE?@O]'@[,]8,7%K7&\QP=.12QJ62
M$* 2T6.;ED$GV7[R4*%J!T2,$B\G]T8:Q"!^=P4Z_9=OQL7?,O'O0F:%;*^5
MR)-VS"ZB")$&GT*55@6<-:$L#\P'K$O@:+40J"+UU&/K(&PK6YK7%$[#MR(O
MCS'+$-Q-X^#R[(6VNP5)*'*RO:CPFD\BL$UP!>\\6Y=5%?* KP-4L7UX*1-M
MT"R(I:G^Q:A_,WK@KQY,K[73.OW+4/NVH*2DT)I:<TR[?DT\KQ$%T("X(M04
M))OW;#30MXV.[^:^ZZBD=/,]PZ\P;<4HV":=Z' VY;X0<RG*GOEU)@%5]GUY
M(O7XBB3]HTK.I\+9")R^X @UKX UG:7X+.TGH7]E-6WN5LIOX]ZC[/D5@(AU
M*,\4Q\O<*-:]54LV6-V(M 3%9QWI?\7],LH1@TT'$#^<H3HLL373JJS3:;1!
MQ*-BFO<SO[?U(G_"S5XH>V2I4007%KCB=8CVA DD;*"!D5"36$UB\NO\-"TW
MA=@ >;T46QT^*.>PC!J :IXC4&D&BR5/;XJ,W?70Z[(F-N@>$!YLL-8[*A^;
M//'ZN4:M,* BLF-4QUN-2M<--EJA(N_)]1'W),K+*&:4:3GX4TYPE+&]QJJB
MFJ,/J/1V@CTMT%X$#6K>D7QEQL#\43L\ICUAN!Z0B(LFQ7\O\G;3^BV.<?K$
M8BU-!VC5 U3$L^ JNC^NA+YMU?F-\:T%U)L 4XBL0\ZK@FCVK1@50!>;"J=C
M>0U4P933#<&;*$T,W9]-!W1I:: Z%EBC'7C!3?:*]]W=$HE^7[";)N@"- )V
M+$81ZO1+2D%#3WU'T!S28BO%<4QJG%CV_NUF"71ISW)@;B]YTQYI8ROJPBP*
MOPM1_@@L_U&1T,'M.'_)^,B?&R&<3(%FQ#P/'"G1&>V26;1Y7Q@WPG/B"E?L
M'I<;4K#$B\GQ]J>2S7OUS2"[6TQ+ W=M0"6_ VCEU3>M ?2P1=\R&[2\OQNV
M_<+.=CB]>YJ6L5@[9%>YM4N'@<J>ME)\&NN^:,[Z6B8"3?* RM<)IG0RM%%B
M<^V-&H"9/LF5]@PW%@M@C(?M.6VG$C/H0RY!%]@N)=K;Z=9?>%5NC4$I9MJT
MT+:AVMY0CRK: ;$9Z,U:L^#KK@VYB.V@70JXM7*$N)VC;DL[-P6KCQ7-RZY]
MK$(;4/'N 'I&']N9>3M]+,N=+5);&[O6@1B@TC2AT]9*VK9VTD'2MG6@KXK\
M1%ZU5\Q#S=$#L."Y$UQ=>5GT U>?\X+<XDUSF][U4G]DRZ@ L$J9<6HK%[MH
ML]=C=2WHN2T*I6\B\(,R3)G* "H,+30Y?_%FV+Q145@A1;?G>:>00J$-J)!V
M #TCI.C,P \I^'6]]/]8C7^*,LP7]LJ*I.SZ+#XTRI/Q#P/)&TQ2MA%F.OG5
M>'KV0AN4?(79M3;BS@X5?_PB ,3!0(ZK>'PD1JZ]_2/4OQD)"3;XF?PX4A"(
MD&+J<DC^%IBXZZBYR869_GIJ1>>LV#D499](46_8D9*!B_U._[W7B9GO!Q![
M!G7[4/4!:(-_]QC18KNNJ[**V'VB*Q7_)"% )-%CDTX)<\DC-) %D[)C7_OJ
M]V,94*^X9X=TZ43>W";Y=O:#KP'F_"NI^*"2 U2Z1GC2!OA6^$BL?.:(RX>L
MP_TP.3FM">,DCWI^CK):G6C!I@2H;-RQRC>#L^OV!JI(Z#8QX1'BZ@#+3?00
M<PM.:+V1DIN G5UT0M]SV>$X89N+5T6.65;I)TQH+Y!<1>M1)=-+ 2@;!W#2
M;25"'+7RK)?B=UBRJTJ99H!2&,1.EI+02P(I#0> TF&#7@54J2R>(T+[T*PH
M:03T.=^D;(BA*1>3+)"2<8(H)6/E2HAKL<U1]^F:QVV?KVXN^)"+/JAY_!^^
MO.Y)LB!$4T"CAT!*1(U)NA&41+QJ4%$VI[-NQKTAOW;;)1[O\7X"39+7/;\"
M0,D?VK,I?]KWH,&+CE#_*K&[L=M0PVIW^X(M:NP?L2E%9N/;2^P_T\XKOQC+
MY/><9ID'VME>]?;IY^RA!QJ*Z<$646!2+OJ;3<KVD@OZ/<PYN9R5 1+'';,;
M%?J;/B[R)?NO_/,H&T.TK# )>C91'-C:\F24JM(=2P J0@TP>8-\(W:$N&#H
M#\TF.)J&JL3D27?.02<-L0#T(+6%@3H=U"J%NG,BRXKGB(K1^GE:U _5LL[D
M@ZNFFU;F& "467LWW-+82CZA>X0ZTWS#D,@_@EB+%_J"!C>??R%IA:^72_5-
M)/-, *JONR)_;9%SB\5R&6(W)MN](]_-+)\GM0H#6-9TQS@M,9-2L$1B L\O
M:?787@G/ ?%.VM#<.BD"JG7S\&HO"G^FZJC5/Q+CC"ZW!=CV5N5\-R!R+=U.
M 7BIRCA=2[/3#)64)LUI$WV9/K&=C15%G Z&S'&]KOE=>(LU6__^Q^A6Q%%J
MFME6 !7H*\#+5\DS4^^X+=0;0^TU:P-[:&@P<%(]EK[8U/"JY  5H!&>-F$>
MEP[=2K(-W1=Y61%^Z^A)1,B6;2SF5]:J2T(O#ZI$'&!*]\(4^>K=/29KOLT]
M[)B=86%0&)+/4543'C8-=^W?D#2/TTV4W>)UE.8))BP!>!E'V=]P1%1E]UJ;
M@,IW;Z[8.- 8W[*9UL8..P<A+"%F"CY!+O(K_%+=/^/L"7^F8<"C^K*SUQA\
MF]0P^.'."\8!=)V'6D(<NFLK5J"EY/C10XTC1/\\(XV\60-0(3@"E8820FUX
MJ2:4Y/)2&F-[:5E4 !67*U*76U"A%)@U$3/$="LNV54&,@[WM@]_NJ3_HC^W
M/]'_]Q"5F/[R_P-02P,$%     @ !(L'6RRXIO=\3@  _1,% !4   !T9VQS
M+3(P,C4P-C,P7W!R92YX;6SM?6ES[+ARY?>)F/]0TXYP/$>\VW?K]3V_<6B]
MK;"N)$NZW6-_Z:!(5 FO660U2$JJ_O4#<*EBD5@2+)()JLMANZ\D $2>DU@R
MD4C\^W^\+,/9$V$)C:-_?/7^ZW=?S4CDQP&-%O_XZLO=FZ.[DXN+KV9)ZD6!
M%\81^<=74?S5?_S?__V_9OQ__OW_O'DS.Z<D#/XV.XW]-Q?1//[[[,I;DK_-
M/I&(,"^-V=]G/WMA)GX3G].0L-E)O%R%)"7\#\6'_S;[[NOWWNS-&T"S/Y,H
MB-F7VXM-LX]INDK^]O;M\_/SUU'\Y#W'[+?D:S]>PAJ\2[TT2S:MO7MY5_Y/
M4?W?0QK]]C?Q_QZ\A,PX7%'RMY>$_N,K\=WRL\\?OX[9XNV'=^_>O_U_GR_O
M_$>R]-[02,#FDZ^J6J(56;WW/_[XX]O\KU715LF7!Q96W_CXMNK.IF7^5ZHI
M7^M)0O^6Y-V[C'TOS5DW?F:F+"%^>E,5>R-^]>;]AS<?WW_]D@1?5>#G"+(X
M)+=D/LO%_%NZ7G%-2JA0A*_*WSTR,O_'5^DB3'A#'[Y]]]W'=Z*9?SF)N7Y^
M-1,-<-HWW4V)'\6+T$MRKM^*/[\MB[[MZ<O'7BA0NWLD)$U@/6A4&:0G-QXC
M4?I(4NI[88=N->KWU4<QD,B2MYQ<SZ]78NQS[4J.HN":?XN)0<_((XD2^D0N
M^!2S)+"N=VAV"(E.O.3Q/(R?@7J@J#I$S^X>.9^/<1CPR?3L]XRF:_LNRMH8
MIZ\=E-FJP;ZD*)8S8 \WA?L;_PGETMXPDG#A\B' 1\!=MEQZ;,U1H(N(SKG
M47KD^W$6I7S]OHE#ZE,"GKCV^4)?<A[YG,.$YD,<UN_=&GWUXR)ZXBC$C MW
M15)83YIU^NK++>'M9B2Y9UY 2O"36^(3^N0]A.0DCE+F^>E1DO"YG7-6_>*2
M>@\TY,A 5:"7#_7' -^Q+"C_[N9[G^(X>*8A< QJ&^AM;LM6JY 2=DXCL;[>
ML'C!O"5P&E/4[:MOI^0!J+E%R;Z^^Q,)%GQR./)3^L3G8X[[N4=9OKW^3+PD
M8\7<#>L:N+'^]$[L(>Z]%^BHV:G0WY@/^1H7\+7,9OCNUNE-Q[ON+P;<4_!M
MWY*F.?7E1,25A!NN8+"T#;BP:H^W>@^[BM^+I:/#6E[5&V9%M^F5O*9#J[N-
M,#U^;H25WHXF8S-]KJPV7:N7'WF5M>FF99,#K+AV?+>J#;/ZV@TO6<WA5F*;
MOJEK]]8__Y$$64CX0I0Q_]%+^*:6^N0H#$M?(Y]-$AJ4/AP^!47)G#!&@E.2
M>C2$RK'W5_J7]TOD90$5S+/X/&9+K]C44R\4KF;^L^A*1RGMVAYB#2\;O_*8
MP/0)Z+C3M] _![5UNB/2LA;Z[^<I3;S%@I%%3MSQNER2._;9U%K__?]$A*&Z
M>J3^_KJM;ZO_OE?;'XY:RNA#5F!V%@6?/?8;23M* 6VU?WD4V[B.<IA:Z[__
M)X]\ST:2BTC,WL_"#<)GN-,X>TCG6=B;7%V_,H"\S?UU;5_=53A(DPY9*]T6
MDT$^W#^_?&GF*_6;D#<?- V2J\[S"[35H>2YE'WX/$NY17"TC/E6]X]\WCY[
M69$HZ3I(]_K4 *M<:3MV7=B:U4>PEKN-+*L&A_6;=Q, VE;_.G(91XM[PI;"
MON^H)](F^N_I9X^/H'P6[*77QN;Z]+1TTPIYS0%FR,I%PO\9,T(7T4G&C<W(
M7PMW2N=5'=SL #.?1Z/D,N:307+-]^*,K[ "O)K5R7>Y6>X*^J_,8REA?*?;
MV8;?]VL#,BJV$5QUUL(GMLPW'+T,'OOV1_89=AMPG1L?8I>]7,51$2"R<1/N
MMSL!-3F 1[3KFJYI8 BKNN[U[&Q$2QOIO[=W7DCNXU[ZK&UJ&&]T5_-)WT;_
M*)]Y+.+307)#6.YX%B>4/I\43FF8I9U7"VBKPWG<.^Y1 >V,<#;>K?-6#7:3
MHHKASJ.+$^)_O8B?WA(_>"LD$__(1<S%NWE:G=+$#V.QI+0%:+60B]"H-'@G
MSU@>F6K?44G%P3M[].RQX)XN.:OV'594'KS3%\49C_ 'B5T'US^NDXK (GG/
M=2V,W/U-* :+_6[=WVUAM_NK6E3()?_%CASD)25B0UU)(MJ&Q-B7;=!4%"]O
M3+R?O1'7*_+=.O]G4;+L2M69,/9WOI\?VL4, &1 : $D_\<62/[#K_F'CAZ2
MW.-7M11Z#R3,V_^5EVD4>3M"KRHD[GF+\D[MEFCVJ4[;$?-G,>-T<ZRKMCSF
M[Y#5OIU1EGB[RD.BW_B/--SP/&?Q4H5.B42LZ&@=*/Z)<= \XM\/1!_.0V\A
MA[-1!(CG>PQ I=)@(7I*$I_1E<#% .Q.22"^'U#QE<@V,LS5V+DE"W$\F,.S
MN<&@GQ<458# ?\2<*;32(C%P%$69%]Z25<P,P.^6!.+]#2;>,MF08"[==.$:
M@G2K,!#L;S'!5DB(A'<>X92'V4  ;Y<&(OX=ZL9#(2,2Y'>/) R%G>9%("V7
ME0?"_CTF[&HY'0#^3 1KG?*E!8Y]K0H0_A]<@;\E+1(#-X31..!+.@-@WRH,
M1/U'3-05$J+B?18%4+0W1<'V#S[8#?&0H#ZGB>^%18_.^>\2/=R2XE#(46Q.
MHYBHL/\W\1@8]%IA*.0H9JA!Q)$!+R((:IW1SBKJTE#(40Q0DY C8WX6I31=
MB[PW5]GR8>LXW<6Z70J*,8K1J1(*!=O*TQ"E(I^/#M]F22C&*+:F3C@4G$^(
MB*@-+Z* O/PG6>N ;A6%(HUB8VK%0X'ZAE%Q;_>.^N9)HUT6"C:*9:D7$ 7M
M>^_E(N!2Y1>D!4AFT)55H-BCF)4@<5$H$/%*;!77W,4G(AZ.K4_B0#NE&RI"
MZ4"Q-RU$1R'E* @X7$GYGTL:D?<Z*J3%P6=$> 1HQ'0$]@]VL'^ PXYBAQK%
M= 3VCW:P?X3#CF*+&L7$A/V$__.:W<?/BA-H96$HY"BVJ$%$3,#SE>::W;#X
MB1:)04VHMVI H4<T4?7"HBI\L<A#M+TJ"<4;T5R5"X>)\TV<I%[X/W1EVDG*
MRT,Q1S1<=8*.[6 L>!=."U4H4:,(%%\46U4JSMB0"H89\=3JNUL""BB* 2H3
M9F0\+V-Q]O$81UI_;+L4%%<42U(EU-@3KP@E3I1#O_9G< 0;RK3:%&-D&']A
M-.4]$+<NLJCTT2A.Q11%H?"BF']:\4:&^BZ/FA?763[S'2*C(F6S#&=9.2C(
M*,:>6K"1$;YA1#!-^+8[C^,2=PW8]7RNFGEUY:&(H]AZ9D%QD;](DHPP6_PE
MM: LH)A]4*''GF>(+_(EK-]_>+@7-V84LTRK%!1K%)-/)=3(V%[%Y16HN_7R
M(0[5UT.D!:$(HQAX&M%&!GFG'W)X&T6@P*)8=E)QD.:$LQ<_3T^FCEZ0EX0"
MC&+IZ81#FWL7H+EW83GWHEA\*J&0L"UBP_F(NGX(:9&)4@^SM +XG@TFXAI1
MQ[Z_EU_YJ>7-%,EAY; KBD(!Q[DBJ1-O;*B+!+Q%ES:IB;;O$"E0-]:"$H!S
MAQ(H-(I[_Q<2AO\9Q<_1'?&2.")!L=77>?B55: L()XA&L1%H>#G.,PX2BP/
M!&6*,: H"H4<\>Q0(1Y.[&41U+Q9>XHW*W6(JVI @4<\1-0+BQ2?EA+19_I$
M3KW4*WNHPU]5 XH_XH&B7EBT^'EVPA>>1:P_,V\4A**-& HK%0T%Y+NE%X;'
M64(CDFCGED9!*,B(,:]2T5! /EL2)M(D?F+Q<_I8WNW4@:VH  4=,;)5*RH.
M^"_;>^3%_3<M\I+2X.P$B+ KA<1*N[%Y<>PN?T6<*5#7E8?BCGJQ4BWHR,CG
M+R/7]T]Y9RZXW:8+>C#7@K* 8JY"A<996VLW^;5+ZTXY*-Z(AJE,,)P[4]E#
M2/WS,/:T^_*=8E!\$:U0B5@H\!Y[T6\L6Z7^6F08)$0<GR2;T08PB( -0"E!
MM$^MH,!Q%\3+I;A,%/N_Y8EGD^LL3<2$R/NG=1IHZT&IP;S$"1 <:1>4;"]Z
MD4 \TS4G(IT_N2<OZ3'_T&_Z31&@.I0?U(Q"8!A0!LXE3?*7<;TB;WV595HW
M9I15H'0@FL4&<244_/O;EBR7_!<#IIL]]D+QJ@O?9Y#:D<-.VMD/LS>SS;%$
MGG>6?R%*2"#^E<0A#82RS<J69D53L[]LWE7\M_USU,Z]Y"&G*4O>+#QO56;\
M#=.D^LU6W<I?_+KI<O[V47&Z<A,7AILFF6U9'59[_Z'32;+MZX1D3B,^T$G$
M_Y'>< *2;9;HXGU4C8AVS9@&7$NI^QUU5KSL#LAN\M;S-^'PW.[FMI=\Y!-A
M?,D\B65]8'5'>.VBTPV"@0+7+T7C$%M[+F*=>Y/$<0"?2\6"O?W+T0O5L&O3
MQNNAV$;J6@)J?)I/XZ5'95$[$L&JLF[09J^L&LXJT;;)UO&I^4P43CM)_ZNR
M:#FB-9@:P=\5M%<+H L'5W'$+&A0%$=+:&S+A%9<=#+*QRF-^^)F.2#\0Z%O
MM45J$"(7V1$F2C\7E)!6<7!VTH&(48 K8T A*CH1)U[RF+\AF#R*-Z6>O% X
M6([2ZE'!W*A7$P.L#D[A,RA1*@[B+B(YPM_=8\Q2\=CC1?1$DE0525KM3J6E
ML==Y&W9T\J*3T7Y3_(JDZG.-2GQM+7! NP/D0.1')ZD\XZUZF$ HTM7!WIO9
M$&26'9T>,:XCWNR:]TU-R&XI( 7]'RIUH$ F'SKHXCU&T>=?:/IXDB5IO"0L
M%PHR.$"5@13U?Z[490< 1P.=N7Q$[PAGF,4:98&\]'_ U'7VDLJ*3@.0@6[@
M]Q]_V65M-^#.^SXG_(_!92&ULH=Y]](X]<*\)"YC5W'DVQFALAI@.]0!0U0M
M,?H@NF'QBK!T+3P<*3?!A/FU$CM\[59 7PM*S< ^ @WJL84TCA EW>=O1;0T
M=>H5H70-["D TP5$ IVQTW)R%I$S2W+OO91RZ@:6K@Z4IX%]!F">S/*C4Z3;
M=4+&%K0^E+J!/0I@ZNQP0:?Q@D,9+2B?"38J=O;BAYD('_P4Q\$S#67)3S;6
M(:0VE,*!?0Y@"FTP02?03)(]$0-['L!$. ?V91PMP-YK:6$H!0-[%L 4:"1&
M9Z-F8$-6'$5Q*",#^Q3 C&BE1N<$3D=W)@9V,,!WTV82INEF,)%F<4+J@ OA
M%=!R2;T'&M*4DH0;V?EEC\<XY! GPN!.UV9O$+P%*+6#N2#VB1^Q!0I]OJQU
M&!Q>HJL#96\PCX0U TH"78U!.24/YE.FG4)04@9S/P!0;3H@6C*BXUXYKVZ\
MM?!<<>WBOV$9G\1;TIE=>J!&H+P-YGNPYJT#1NB\YAM:&PZ5%:!\#>9HL.;+
M(#LZ-Z?TB08D"BJ%,L][J@I0;@;S/=C/@7K9T;F1>1HK(==&HF"UH:P-YJZP
M9LT&%70*;6:]?2:\P7P7UO2 YKH)FV<V)_2&:E!R!W.']+>5=_@4OW745N^V
MU7ECLR(X3GD$_KJ?/,KAZ#Q8GPA[B!.".ERU2T37LTMI U 5&,R7TD4%+.%!
M'\'5$86P62'LJ<I#R1K#=6)]/B,7'I\;F4B6*R*<F3'\)W!F=**_CLT.B$@X
M?6.X4?;<R+P"_D3"*%J<Y(I[8W&>O9%$OI9/;24HOV.X7;KP"T $?2+M<N;3
MPRG/ (] ]</9!(YV;JJ)(>^KX6:JM#"4I,&\+]:T:&1&YZ.6*<]T3;A5$LK$
M8(Z63I.:3-I]:4@789)C^^Z[C^]R?.\_7=[]>DD67GC+06%/TG5$%&J4@6(Z
MF'\#CJFD]XXH]5$0Y'FVO/#&H]QJ/_%6-)6^Z5J=$*DJ@&_NXM-A$L41;FY)
MZHE(AC./12)AZI'O9\LL3S<B8AQ\JEF[(76AC WF7;!F#(X(.GFUKN6'="+A
M,R./XIGL)U)XQR[C1/C$KN?WWHOVQ-FN(2BM@_DA[ =B-ZS0.6X+:K.9AC,U
MF%^BAVWS*[!H3:8$R$VAJ FE> *^"RTVO=*/G#+W)L?UD:34K^T&=O+G?MPW
M?^[L+SM?.>33'=1XYEA?L[R[@2E+M=005=='SI6V1^I<.X30U]K=[A:IZH^R
M]#%F](_M0#<1V:Z'G52M-P95D#C)7/X6IR5K51WL[&H],[8+A9-LZ=_"T,C6
MY3&, 3>[O?(V]#L9>[HH[9<\4&7L_&Q[D&@!CDM$PI<Z;27LO&W]$.?L(M?J
MHVF%4U; SN[6)U&.K6V6CSRII.JRJ@UXQ-8?7; E;7SK?"-C<CV_7A&6-RO\
M$2IOH=QH_P9FM&^_-HOGL^WW9AR96?[%V<XG9\4W\5_'*?JQZ;[9@%=6.+R!
M,_:+# ;N#L_>')Z].3Q[\ZHH/CQ[<WCV1AT/<\;W2"SRPBJ /E$^I2***TMC
M6WWFEU2TW7?$;ACI9:'! I5>P\M"M^2)1!DYY[))4^09-[O@!B;\_(TE2*Z3
MNLF:)Q+Q\/\-M($RG1K#/OZQ9<R*;QU^Z-R?Q$EZ/1<I^O+( L*>J$^2NSC4
M.LW4=;"/A?89MV8L[.,K?BQ\)Q%9B"D=-<#F$XN3Y(;%<UW$XDXA[+.B?<B4
M2#OAX*C2_Q4MSEY6PED&>$].4P7[^&@?7HU(H$^I=R0,M_W3>,@:Y;"M!#.R
ML;;_KV&*Y!K)O% D7 J6-*)"_I0^$2.7QHK8YTFVY *1F#3;+4PL)E/\(R=;
M1I72[LOA_;ZKH\+YDA_R;'J]#4!7>%_4Q;&?&P(SI1?#D>4-QDA3] Y\#.:(
MZ67[H65F:MO+JSB**\$^>31*A%RZ^5!9 ?U5HGW(-< PT*7+(H3_,TD?XV#W
MX+SI7Y841']JJ!/>*FD<F>+.8T;H(BI2F_GU0PJA%4(ICLF<E]$ZPJP:07^"
M:)]ATP&N@8;21902CEQ:+K1\]UIEPBI\.V5LCC3.2#1@41_],:+. \\:I$EO
M\K?K=.6?I5'&A=M&%!7*N4F51I*S%[X[X_QQ'-@ZAU&D_A&>W3BW>"L 32$]
M WT4_2VE?>:*$>B8\#YL(W4Y-DN(38HFJ8#^6M/^2J*$8=+ST15)(893HQCZ
MFT][;:ME(D]XE%9Y#ZK["L=>0GTUE8KBZ&]([4.I%@+T_7NS=Z<TS%+=-0!E
M!?1GI?HDJ0$#.DV_<*OAD7?HZ(FO_0MRE8E0E^MY*PK>,+XLFT%_GVH?2CM!
MYBK1I3Y:7 *Q;@C]A:L!R#;!ADZWY"I(E33&?&P-JCSIUZTLX$&G4I<(2.WV
M.8J"_*>P("3X9U8\.FE.LS34]] ?U+(A7?*XS& 4.*UA)U[R>![&SS^18$$J
M7^+1G)O[M\07E]/HG/I>)6Y7O;+_"OI+8,-H4U>XG=:A"I>;F.4]3U-&'[)4
M7 FYCXOL/]W4!M0P^MMCPVB*!:@3MO,UV/&?BIA>*0*V[N+>/X3^A%IWM1L(
M](EG1JO?O:ZFZ>W^<N=^];==[E>+-F=YH_@7J&MWZ3>B6J5!D]1"\_6*OMRP
M6+Q!%QROOR3B39Y-#,D1WZH]%5G]C/)U:<N=M&A*(MNNXHZ(H6]"AG7L#\71
M'H#;.?FQ$FM7AD]^:,@ES2WS^YCO:/G/-"0[_;Z/>QNOPW\9^ZI-;ZHS%DGH
MVICW.>'T<+O]-,X>TGD65F_]JC5)7PO[CLYHY#5SP9FA1.?[E' V?%J9S$=+
ML6_](_]13;>V$O;-'22V 4 Z0';CS<4\5S/_[PG_)=4-<'--[*M!:+3#()WT
M.Y:[$5&[4;%/I$0=&FJFK(Y]_PA)@ZS G71<4>6OO18G4:LR]=SU7-PY3Y/W
M:OTQU<.^YH2D.# X,35&$0)M%_"\;WCS8'$O8].N!<.1'4;ND:_0R$4WWDO5
M5,&^A84TL(T@3GH5,%_%^!(QXH7Z%,9VK:!?^4+2I"Y83UJY.(1<GH2<DN*_
M-=#*1]M R4[!;:#?;</;M%KBC+XTM;M<.6,X5(0^Z7/%PFJCWY'KP(N)6#5*
MKVRF$.96Q#^D?9_:4 W]RMT "B#!Y94Q?\/(RJ.!<:MJKHE^\6T _N7HO#(5
MV,UI4=C05EL$:7WT*VX#J(,.J5>F%-72=^.MQ;HGW/J^SS+>S^UCAUVV#/KV
MT"_2#;B)@" Y=5=Y6W0A:.V H 3!4G-4C:!?TAM&7?28.6A-G"U78;PFI$R-
MW'&*T+6"?M-O *;-J#E(]>X2V)%I32/H]_\&WS9,@^?\W:. INLJ9W*QV^&K
M5T?.@0VB7PD<@'\K+%_9/O(T(\(AMTF9;ZDUTNKH]PL'T!$-3NBS SR44!M8
M"VX#_3I@GV&WELA-^$*.0M@BE*.?>'IM6^CW_OJ+J =@ACXK<+,D/WNYCX_\
MWS,JDD(! J+TM= OY.W!1VPAYRM8ZEL"'F<)C<0+&L7]0P%C^1?=&^96K:!?
MG!M./0#H35M=6.P3$F@"_4ZIP#0*DFMV*A*:B[N#(N/<+4DS%@E(\IV51I?Z
M^P14T0;S0_:G:'WCCK_NU"2Z\\3[@OPW?$.5KD6BCY1;54+.U5)[==RJ$:@V
M#.9F'$0;@-CA\]V<*KO0;=$&E.W!7(W#+3(V9$]OB8'CUH?= 5>4P5R5O2F*
M/7*OSTS=!!3W8*9JVP)?"73?3 5@YLSR(3*SE1L=\SJQ4QA*V-BWP"'HRQ<$
M"18.WI78]O8JCD[:R4/4,4NB.K@VE-ZQO8T6]%K)B\]W;V/Z/&:W9)4Q_]%+
M^%ZVL&_,HUM1#:H(@_D/>Q_G6GRFK0$U0^8B23(.4/[0_ /0YFO6@7(_MN.Q
M _=&9-"79*Z3VX5(2UF[))2HL5V ]D2I4)CTN(2CT\>F&JX.8SOJ[-7!'KD)
MVV!G\SGQN?UQ]L*7IFA!;KGB7D="?O%_8IUZ\D*2W[P0'DF?JW7N$8^"W5_4
M2F[2SQ4W@KWP$XNSE7@^AR9^\9 )";;OF*C5SX6^0=5Z,(]C!QO1!=P<6>#V
M$OJ&,)J_N=:($"FAJ,-;0*Y6Y;'[ 57;P5RG'=06AZL)S]UNS-)NSL>#N7K'
M5NS]9UX[M5[E XE+R=*#<H]*W:\?+/*6_4G56V#4BX*?1;CFV5VV6H4YT%Y8
M 7T1S6.V++@VY_&%-@!5J<&<YAU4RA*=@5Y)S:U CP:G&1/)M'.].8]9Y<<M
M4JQI#Z=$,]:M0 D;S UNBWZ\A[".V E5!T7?N?VO'G:M@E"V^O=5[X-W,PA>
M*KT#K-2NWAF):9>%<M._+[E/;E08H-.SR0Y5!2=$P<9)EB>  1S;PYN DCF8
MO[G+:;TM0NB<GGN4_>R%&:ER^)DCAS55H)P-YQ2V)B"&RC;HUJ.\JEY>..:S
M1A65G'^_R+*HV&_ JD*9&2Z2LBLS<!F5#.&^2Y(_2/@8AQS@I'$0O/- R7==
M'BBI-_ZO'K>H_CXKON'4>R5W:>S_M@.!U<,ENNI(YES5N7M]4H5F.=,P;*GP
MT"N;F9FFJ=:0J)[%$)F+R^8#DQH^:F4=XV1'HU3@U[I?OY>-3$"A0.*EJC@2
M$]31"X5P(:\V15KDDM3>JD$Z]-WMUFF\]*CFI05%<<<(T2E;\X!4+E M5S/:
M0WK+.,JGX,]$/&*L<4RWBV(_D=2%":7$Z(;041#DVT@O%&;W151>OC+Q8JB&
M_191%XY 2 QD!UV2A1?><HP8-Q.4V(NBTI+8C_Y8P:V4PI$1<4M23SSF?>:Q
MB!MI:CHV877R\MAO\W09 WK9T:GA]G"VS/*4):KG:(T3%[P)[%=V.DUBM@BA
M<UH\#VRB;;<4]NLU79B1R8D.OOR17!,9^EK8+\1T(0>" SI9;9^%SLALEW5F
MX]QR6+3L2I6@DP_WR?V6R766)JD7!?*'>"H4VD6=V58;&52).7T"6[K9[]OO
M?;7OC$E@/]A1WG5W1;\V]V1K+@.UMLA+.V-YF+C7"3OI6TFY)-N;D#NQ$?DY
MJV$"T%=UQC !C6T(#*^6[&(A[,9V5=<9:V<?NG>!F#3?*L-:O/E41<S\1((%
MJ=[].IKS1>J6^.*LG,ZI7[U;?.^]J#6CWZ\X8Y29=&@(<"?]R($*$/5S<T)X
M\5-80+%YM"S/\\=AD6ZK"O>$O3H.U WL]T;WUM=!Z4%W1>R\<Z=Q%.T6PWYB
M%$RJ5#QTT/?S_UA<NQGN:<X]K,+7<R5F#Q>0#8D.^/%DW1^(0]=B'8L)^Y&D
M?$>R366Z$_CX_6"!C[._['S^$ @YS""^8=376?*U,L!!.T),OWWD8TO4T4.-
M<\D3XG^]B)_>$C\H!N#-TTK<G@SC)&.D,<1^_/';;]Z_XX-J6X+_<..M9T_)
MC%ND^2VOR">UO^\_2.H]+'3(#[:JPW\0><1^3FJ?WWZ]-9?6](G7!%7<?R@
M)'A:J6)_13<W?T6.FH-"MJOQ.Q+T&^%K1O;LA?A9R@V($SY6%S%;*\)(>5E%
M40<P;VA'#5A%GWL-$C6#?!2&S8Y03<05KZ*O@0^Y5FUJ^.OEV*X_8[!PP7>#
M3S3(O%"MX\TR^$AKE+O9V=I![$A:O>V!29LE)?&QE6O$KOI*.CZNVAX%_[R/
MA:]'K;6-(OC :I2VT=?:B?!(.KOI@$%C6^7P896JPJZZMGH]KK)^)I[8ZZA5
M=:< /J(:1=WI:>WP>LS][CTW4(Y#^6%\K?>U8O"')7NW^O;>_;:D[=7Y:4;]
M)+XC(1%Y=$KNK[REPN10% 6CW[^;3(MC;.HX"M[BT]N=Y/5\SJU]EIQ'!JT'
M5 /ST'_0FA'CV$80%%YN"&%YIBB16!G"B+8"F(O^H\(LN #(//9LE.=4W';,
MR(*V IB%_N.S+%@ R#SZ6(CO12[*?->UE#F.<^5I% *CW7^TE)7.2V4;'^$C
M/^7V5;@65^!,0$O+@O'N/US)#F^-I"/#GAL*O$>B%\:I15D8#'S_,3X6P!MD
M'7O;$T>\+U=<&9X6YKE%71J,??_Q*L#-IDE21.#SGM0&(PA_:24P#?U'F'2@
M02,WQ@2TZ1I\&E)7@3(Q0*2)!<HQ5!P45HK#61$F7<#&=\/+E?C7*9W/B8@J
M(T::;-L \S:(U6S/6S>,1G=F[(KR<Y+/P+5(CMO4:%%8M@$F<A"SVY[(;ABA
M$[D)%+2F3U833-H@]GD?I*GQ0*>JM4.UIDS7 IBZ08SZ/J@SXS,RA9()0'BT
M2W^$@3UP93!Q@_@'[(FS1 5]V.7Q\5U'G*(RF+-!? Q]##8M*F./,^\A"SUV
M29,4<M*E*0[F91 71(>Q9)(<?\93&L.JLF .!G%%]#*?83I JWG4@@EC)3 E
M@[@E["D!HH!^'V;02T@?/@QS+&]R$@%O(.'>8^QP@*\</O*28):&? -=PH#F
M^!YOVLIW$R+6PX2UM" 8ZB'?(]="K9$/PU.J/238+0'&=L@GOK78RB0:_]A1
M'=ZS^2,8RB%?S-9"V9!C9!2-@5*=PJ,^#&+V=@M.<R!,*HX^<44H.W)*$I_1
MW-ULBI,"U ,S,HA1:PB/ LL]^GQ<Y>S]YMV'IZT:&4^OC-7 = QBRW8;(& T
MQI[@HR0ZCN9IPA<;<P2;JC"8D6$.V;O%T^HE=^0BY1G+,UAH+U-^T[I,>4O\
MF!L6:W$KF;<01R3.DG ].WKV.!/B$O-R1:(D[^48=RNK_ES/6_*T*-I5.5C-
M4<Y\B^]7'=+<M)27Q _CMV&A?I K%6?L*YCB^=;RHO0I_Z_Z[H2T(#[X.O6I
M@2WM_<@7,:=Y!1 (\.$ZX)_A.F!]&)&4L"6-<HC$F#)/&^T:N!>&.D[<$!#&
M-@H6B[240>VF:93!O2X$ C%6=AX%Y:H#W-I8)S0Q!:(I2^->$%) V=J8*,4<
M&?6[]+<;YE^S^X2=)2DM7JK^3-+'.# P *N)>T7(R(:-^&,[X;=IKB 3D*8X
M[@4A(P=&0?&F^ZLX_6^RF4*):4C :N+>(#+282/^R,R<<W'CB%0["[YA4WNG
M565Q[Q,9T=>+.*$#VX8@IQFYC\]>A .'\!UA-(^9G^]/E!.:50.XEY5L686
M@3NT\A[^3.,BI^SU_*=X24[$T]%L?>D]6W&F;P7WII/E/KDK2 YPR8VOW[EE
MNTEHG6<&/B81F=,TL>+3W!+NM:D>.(6"A<LKGT!"+RH[>+%<B92+O,,/-*3I
MVK!3Z=@4[C6LO:A2,FX'(YX1 -KUZ,KCWL7JB3PS(!/:(TF$@=IXK?*X%[2&
M8Q?7%JPO)C%)N$%T2W[/*-M(:IAG;>KCWM;JB4%[P!PYL\Y/F>\IWRTL].?6
M'YOGUGG-65%UY/2_1:>7>8\O]6?2BJ*C.%3$IY,3#@O7J<_1BHH^:(ZB=>7Q
MCY*TF-?]*!HIQCZ'GN;AJ%EOS$>D(^8!/AR18ES:*(8C_X!"LZMWK'>+X<,-
M5VZY!+V& '1^L>!8/,M6#\PZ8DSD^<J?ESA>;\O<>.O<P26$V$H2!3?<]A*[
M]]-XZ=%(S=\P7T-6 SFS4O:'D7_D=,?ERKG1=L-IBKHX;F2#U0Y )^_8!UM5
M?R#'N\K"N)$-UM@[<99;]>:&D2!ERR@X#SW9,TVUCC>*(D<U6*(NE1-+V_GH
M.XF2@ % ;Y9%CE[H,,^T)46"_:?X>=L?X%RCJH,<P&!)@U[RL6]Q56L/71+A
MXQ&[AY^]4#T4M!600Q> 1 !DQA@4TLT^9&28*B*'-.SM#\$>(]*>:8]9]#60
M@Q'VX6.Z9RFY.%^B@(7KQ1WQ,T932M0GVYKBN"$)5O3IY,481&<OS%<]8ECU
MN58&-U# "NF69!CP?N+6?G[#YMRC3"2IU.$L*XQ[?F\%N%K6D9'?'6/KS[^E
MN1Z</$:+&^ESH[R2J0[N43R4!YCDCIS?740)Y:#=,R\/)*XYQF2'>-\V#_'*
MZK.R_FRG@5%.:!K=;Q'3/*U1EQ\EM=CFP\<B $-SFB<OB>^ -R->SRHF%6+L
M8[QM+]3'>,TR^$#K5$4*,=8!GF3N,!SD:6JXA+OZ0$\CP.$%S]Y4^W!]=_IG
MTP!76\K">\*6R?7\G@5<)PR^'5UYW ,NJZ71+/;864_S7FC]-XTBN$=:EAL1
MB7 3<M-L^G\O=N,&=LHRN&=?W>C9$6_LH-4L)._?/7S[7BS]0;Q*B>;H2UD8
M]^S+"G6#P.,G=;-B0%<>]^3+B@2SV"CK0-X/;1(-63G<@ZX.4XY,3,1IYYXM
MHQ0XZ]3+XAYE=9YTVN+BSCDF^#7%<0^O]IEQT$FHMK^ Q#V*HKA'3QVF'86P
M*,"?O:PH ^'>+(E[#M4!=KFH**B?9D5'='AOR^ >0'5 NBF>DZ<=-W%(?4J2
M&Q9OO"_UTX[O3:<=50,S+PIFHA42\(((!Q]U25KDZ$Y %!7'<5V6'0GJG3!N
M^P'5@*-E^*&BI67'T0F$8N2I2MZOJS@MNV;PU%E4!U(V@B-I/\XTV(P^!:;$
MC^)%Z"7)UWZ\+"; 3R0BS M;L]V/[]ZW+FA695&NR5RSA1?1/W*Q3^(HX1@'
MA39$P4T-DNOY.=](13[UPKOJ!FUR])"D(A^!1"W+]GMJ'N<*T5Z=AR5G[P.F
M??*Y#_5V1*]JU;AK-!0M3DP<QUY"D^MY70XNUEVV7'HB5^D=743Y??<H/?)]
MD<RG-I7*9IMOFK--_@&1P[S^B7QC57Y$_*WVF=GV.YM]&,Y4U1;8//_HZB#=
M2]0Q")@JH/61)P S6<T;A%:X.#%6C_S?,YKD3U!(QUXKBFNG HKV'6<)WVLE
MR4F\?"@=(WQZ.4H2DM8Z9QY7MNW@C#5)+ZV696A]Y+'6C=3&^+/#RHGQ=Q$]
M\<9BQB>(*Y+*1N!W;<_"ILI?9Q&OA**752_6V[Z9AYRV$L[XDG0),*KTM9#'
M$H":QL"!@.#$<+DEO*,97TRY 4[*-3:Y)3ZA3R(PC&^E<S'S>2/A$TCUBTM:
M9)M3[#!;WKOJ.W_-_7>DVD FL^VW_CJK&I\5G\LWH)O?U;^(HMBE".=<.ZI.
M_4+3QY,L2>,E8>;!"FX 9^ :N@<8Q/ 6D >T)96-P6T+E!,#_8*W%"TH'V>;
ML?PICH-G&DH=4C^T%\FJ?GUT;II T=CJZUR6IG@VBZAE,UC+JJIGH-454!EY
M3'8BL[7L@D%R8E#>9:M52 DK?%+DAL4+YBUEX_''YGBLJL[*NK.J,HIVWGAK
ML82+686O[$P$-)O'G;82DB-&2@C$ V.JB#RZ  0U?2\P*)P81Z?D06;J?6B]
MUY@71-$L\66;14E5'F=<[/8&,!Z4%9#'@9Z&QA P2.V$ZO]$@H4(#/%3^D33
M-1_?F\O'Y5/%\@NE?'2\;XZ.LJU9U5B^Q1/-S?+V9CL-(NDAX\8B[QVYB#AU
M67$T% 6[*' 3T6ZH[=$HUGBT[C)HT.[3*OK(WELU6L-_?Y"=F",N(OY/<N^]
M2)TU'SZT;3U1?E940+)VRA[;.4,UE;"LME:70.::KA:Z,]1(3<LJ,X/@Q#BY
M):&7BDRD3.'7_-"*TRFKS*HZ2)Z[3;_7]\R+$O$<2!P!3#!S32Q?I+Q?5L/(
MJA%TCR2,PI8KTAHG)T9:GO;W,0XYILG9[QG?:\I&6RM.I5[M7__EAP_OO__[
MK*R.HJ;%M\W#K%D.R;F1<C78 ?TJ3HG5D+)H GE R:EI^CAL$7%B\)S$RR5-
MJ]VH.(+@NU$2*:*]/K0B3FKU-T=LVQ905%,CDLT.T+(9G&$(ZB1@+-JV@SP@
M.U'<&*_=H'-BT.X3PZF)Y?S0BF;I(Y9S]I?J7_]V".O<(]2LX+S1L77Q_R&A
M9L#Z4POKM,.EUWLWW2;L6CPYF#Q]+;0[-UTY@X" SM368Y> >=+5 5^R=84E
M,P#H'%V1YYI8+([X/XN7I!/+Z=&^)2"?_6>'Z<IG5["<V/+4(]OS-'/2#4PK
M5+!>;?:7HB+2-N3/%1E_YS^2( O)];SJ;YV*XW7M)XBKH%-KKR%J?A\<T:=G
M29?YO',>LZ5W$<W%?X#\6S>$O27J]<:$)7Q.S->[5R?4,[8D-G3W @7RK/U:
M;E)LYY%-YTXR)C39^ Q+:R8RM8!^J&A[P\(6'"=&6 ^W+=3#LA4BVNN="^0Q
M_=HO7VR"MFJ0E^%6P75T*YXS8-P$R#TG7Z+X(2$L)_ B6F6I>*<\\GFM8G%1
MY+4O/]7_E]QXD72_.QW]H])OHGUDG;K4Y#7J'\%+=3(D'-T::G0.IX0U"+=Y
MM]$5\7A=2;8^$2NC_OUK0[4_IVK(L>CUX0GDN:8IH>F9[1$^[9BJZ8;1<%.*
M"IP]7RQ(%V&2Z].[[SZ^RW7J_M/EW:^[>V'E Q"BK+PHMN]^M!%1,:Z&HA_7
MDH&H'3$!;$G*8[OG42E3XH?N$N1&I;=8,+(H,VB5.VVH$P)8'=D#,>1FN7E(
M9X,G.OM;1\L=68B3IUNRBIDXCZHY-(_7Y1^MG%*6#6([B$=4D3U!'VBJW_:J
M<BUQ54X9?<B*[IQ%P6>/_4;,_DG17.?67M'*KM2#O0!R;N:H/(\BNC:YC+U(
M.#?+1(S18NN.M)H].C3ZBC88\!FD,_B#SR(GC^(%O^0B.@K#^%G<,C^/V6F<
M/:3S+&R[QRUGE3U;!^I*_X_8H,TRO="!/NM(G;_Y(6X4;/;DT+UKI\: FM/_
M,SSCSS)[@.W$@9PF*Y+RH.UC*ZN$/C<2\LG9GRE)TG8NX^L;3?D >"*M[MH?
MGELT]@J2*.T!(OKD7_4]UO7]/$L%"DMA4!49P\]>5B1*P!Z-?K^";=;VJ3-]
MXHZN3)* L-+@%ALD?WMFTRUKL+$M;#NW#\7HCJ$3^P.1 4B]$6@ET!'%D9?[
M:>>9VJX]&^2M5FI9+?2\-!89IR#RH\^+VTY^]OB,GML7U_/+.%J(I_6Z$0=M
M"7NQ[,BF'5!.3'W Q&+JV;&55L@FO1CZ+/HJ\HP9/7 ;2OD_8T;H(BJ":/VU
MZ!0QVTJ['B3;YM"GYMY2ANV'@W,3NQ293QZ-+N,DN8@V3R?5GE.Z(2P_F8I\
MVR6[IT_A+PU])Z ;C ^G-.TAK<EDO=N3U\4VG8;5!3UB3NP>:BD'U3N$5C:U
M>N)!]$M$KR,#8>UX)UZNXDBHC+@S4W:T], <DXC,:8=]>X=&T:\:V>8O[ %"
M)\;D;GI#];!LI5UK)#E$OPKTVK(=U@,]Y#VT'YC0EJ:9][ K8H.'--QY_*OQ
M3J?L3"AS ]C[7%O*;.5S:,9LIZE4SYJM-'OJ9)7($^C$LE9N5.?,8Q'?/"?<
MLLFQ%0$,/M]4G](P$X]^6\^1E@U.(J/E?FBY,>HV,MQDS'_T$G+#J$^V!T8B
M%Y5X_[TX/1)3T)PP1H)3DGHTE([.5IJ\ZB-YIKSR,[/\.[/MAV8[7YK5/C7[
M2_FQ0V8:'&E5.O#>2E9-*Z\A$TT7W-!]0Y).BZ"T143_(,%%P*&C<^IM0[8$
M&ER 6L29R*N5)-F2!"=>\LC_(*;.)[[QJ#V$ E*/7K^+O6\;2J,&(.=UZ6"1
MEJ0HN0V?'4L3E5_']I&ZIX\&HEZO5EZGC]+[FD.#7'X7^UJ&VYJX0\ZKTL$;
M%J\(2]<WH4A[7:P$*W&H,8XJ:CZ/??G#.8TT4O6J%',;[CC2*KWS0>S[(\XI
MGX2.@1RYO4[BY=V88\__+8P7"L_OH%\$:M)W;FK2X/!,1I6NXI3ZQ55.LDI%
M2 <O=D/8DDH-VKZ!TW\>J&3?_SF4#$+5JUHKBR+C+)/5MX J]X.;*C<@,).9
MT4H+I_Z'\H)Q]5+Y&.LEH!- 5?O1357#0&S:.L@R$I01/5@:N-,%L-?X3ZR
M$LXFH'YWA#WQK4*9V^64K&(.Y0@ZI_@N5-$</9\8":7):-<E\9)Z H@1%*O]
M2:A..7K&,#Q DU&G8QJ&(IKD(CI[\7F;(A8V$8[ &Q;/1YFVC#V *INCQPBC
MX_4*;=$K,M+10?XAJ,+]>4X):OC7](KC4L287!:<*(7/)4_CU OSDA/3R%JZ
MA'$TT_Q!J(:^RJ,$*!^=-?6)L(>8+^B[NHH9+_DE\K* IOEQ7?[FU.8V8"UM
MJ"9*LO467SU*<M/XC+<^RYN?;=J?U3YPB(T<-3ZZNOMI>/>E6<Z-G/;]/+C7
M$ W_Z95-CR[-#Z?(RKI!CERU5.#7NC_0DR,)2VO@\Y^VP/,?MJ#?^23R&(T5
MSXOPLHJB4X!=W?MA'@$Q@5YVX4N4K(C/%V(2*!_L$%U7%T<&7XUK&W^U$'L^
MAM&)@FJQ5SZ[P LURZ %(^OA:T$ME\T9H[7^L&O5U=)E:-Y7:"LC7S]0+V#F
M!T]52#C-&C<(BAO=(J-&-^X:36#'^_="H126R5M,=4E+6^7*8RQ/V"&SBUHO
MWNZ^45XV,=NT<3!\QMAC6SRS;3"-K%MR8Z,X^FOEKIA7DIX"#"U]+3<H[:K4
MYBE]>/-L/P+U;T$J*[QVVAQYWU'6L\+/2DSO,P*JND&B02D!7#7$&NYE1)IO
M:)HS_>7EB?'I/6--[&TK6-.:C^@!,1G&"C&8Z+?B916U.ZKV9S>&PK[SV:Y,
MM9ND(T.N<XGL%,!W/K54I(EEU54,%]-G&M%EMM3!V2B"=HFI"5<+3*DL*+/"
M9^_%B.IN$;0+/6949;(XX_&I64AYCA=Q/V,S@XG043_=N@] !K&N&4=2A^BL
M(_,1NQDG9]BM]5'$.)6=9B0XX[N"G21EXL]V5@:L00<W31V\?C;@#12S^$O,
M?J/1XL1;T=0+CX)_9DFJN!$NRJN+NY+= L*(7A+'!IN#.9@&C^C<;R:U2;G4
MAS]]7+U0/_CT)2'S++RD<XWK%5;;E70,%GI@ POZV*[>%U;SM"WA2G8""RZ:
MXJ'C781@ZT\:ZV5<N<=O@7E;1,=R2UY$7"DXM2()OSHB\D==1&2M">R8QZHK
M:[MT]9I*."-CTZ5;[_FSEQ)&O5 S2!3%T5/,&\EHC!:MV.C3U:9W8I-ZP2W#
M6%PH ;#2*(]M)>W!BU1R=X@1NXWDL8AYAQ#3*(]M+.U!C%1R=&+RG&VUY>%.
MP""RG6O(T=7!-H3L"3(C,) '8=/5&\\7%G4UG7YB\NV6J&2H@VU^6* /D,:1
M(;+II8J8IO!V9 QF?^PQ5ZD(F-H%N8U XHV[\CY60MB3SH#4U<$V;_:@5(F
M/;T_%O1&9"&>QG"#8.VUQ=U2V&G ]B!QJ&NKF.8M1\%;+)A0)M[R\7J3R$)E
MZG[S3F?J[C8W>UC/R@:Q#=^R&^=<':K\?K_0]/$D2])X21CD42A@ SA#<1=X
M\=Y1WEU#1*N^EALQ)I;,-0:O7D+\$%5%_UIN,S!WM9IN\ ?13!AI-=%P;@YR
MNS[(_/2:E5E_U)%:\I+3(T0I"LHEPK(KXH74LC.)[A*AICA^')=.E]KHRV08
M)FSTG+Z(O #\0]5LFVB#137E,2\/&E6E;@D;91[(!U%V4KQUIP=95A S<LX*
M7;64Z,X%P][B[,4/LT \Q)PDA/]O<.^]=-XARAO#?MH>N/V0GY1VP6WREP*W
MMM,G$B^8MWJD/BAMRC?O=9;3MC&7<J0<S*:#V70PFUS?I3MN-FUNF&_G."\$
M)%UI%Y\>-7IY<%*QD$6S-]I4+.KB^%:44;7J/*@%Z?.N3$+\KQ?QT]L\WSE;
M%TR4/VR)*'_QZ\FU!/7RC^)OJ E83(I2@5OK[P ;>SM O]RI 15_PS2;; '=
MRH((Z,V1&E#Q-[27#SH NI5E((L^#V?0FO([)?!R$=N U^KVP7H_6.^3M]ZK
M:&\.8LKH0U:<?YY%P6>/_492C1W_06?'5\W.ZNW.CM<SWO*L:/I@U!^,^H-1
M?S#J)VW4'\Y"#V>AK_TL]):("YE12KU0NZ>7E)O,V:=2QH$LI)-XR5<JWP1I
MN]ADSCM5$A[LI8.]-&%[Z9YY :F><;PE/J%/8I74V$D?=792WMRL:F^V;?!@
M'0TK7YM"P\T*907DT;R?,62  7VR/@K#^%F\"WT>L],X>TCG6=CN<_G.I88\
MNV:PKU[NR6D7S"9] Z,MW15)S4JAK85]R[/O<=U&Y-7<WCAY%,G6DHL(IOF:
MM?H;W5I=?F9&H]GF0[-YS&;5IP[K^&&!F,*:/\[Z4$X6*\)H'-RE'DM1UPAN
MO#[1A/,CD5JM%_I:T]XG0!"9=+(MF*+_PFC*%Y&Y;N]OV]#$-P_=<)OV%A)A
M'?GU WZNBA&7$B%N+XO)6=34%=3=9PE;^9[JSONIFJWFM]JM9MGFK&ATYD7!
MK-;L85,YK'S2/@DF(&8EJ/*D-Y 6\$QZ_Z"3\RJ._'TTH5Y_VMM(.Y1>G4)4
MT_*ZT\30KCWMK:,-0I/>+VH%[3HY2!N8]@[1$B=,G5 <U8M%K12BM@4K-F:*
M8WM]%>P$:1T)-0LV@%MYW$'])>(BA238FBZ)<5;7U<'.OK;?T#6C@7X\*)+%
MIRPK'UPH)(S9ML.WPDR*O(4FX-6B">S,:WO/Q'98N<"N?&>9GU%W-\1VJV.G
M8AMH]RW#"&]J5JRMQWR"H=$BN8C.7D2N8.%-D;\Y(XHK2P,I_,$Q"K4R.3(&
M;UB\X&@F-]Y:7)-*^ Z ;[..%GRJ2-)M7N&87<;1XIZP#0#)-<OK>KJ(]7Y:
M1[M[U]<Q3&\(HZN+=KO?T1BR<)"XR3 (E EOFX=WBUB<E+R?D)M,)N9K=Y/U
MZ!NQT8HI^LMV)1U$,<8_.*MNABH"J5NG:1)_0WGX=>4Q\4K8T]9@J1VO?=<\
M7JN^^U=US/5?I>=NF]_)#N!FFTX<CN(&D6^3VL1P;[59SHV+=?M-#DV9\.^F
M;GIT:;Z-*BOK!BMRG5*!?XE]QW33DSN?1!ZC,2!IU&[1*<"N[CU.>JBR"U^B
M9$5\.J<DT*:'4A?'OUBJ5: Z_FHA,)Y1K[K#35_B>TFJ>_E;51;-9:N'4PF]
M7%:WS?IRD>/[J'@1T3]T3X/;MH,<)J->[FRV\4I\T&G=]$QH)8T6-X3E.5<C
MGUP_A+2X(&K<.IJJ8X>W@%FT@F,:Y/%?^@)KW0F8=4/8(2K]$MJ&2$(M9H!I
M\3CRFU#R.K)P%FMB3+_7Q9B6S>:/+L^V[9:F[U]G5_@IFL0SA<\T#(^BEN V
M+[=:-H-D6C7XECV&G9B,8(LVW+ ).C'<M-0LI,8WH35]!!C5L-IN<&NOT>!7
MX>O"#F24]T/I\?JS]\^8G8BY76&VFX5M-_+Z"6[+/(P;H!^:MWV]\I9$Z2@P
MBRUOR VZ.Z@YG&^YX(.X'2PHSX\*1(?4#].41=LEL<V>CNK:H$R%P$!YL>[B
M>?K,I<NO4?%M>6)X$DA3'MM*V1-_@W2#LG 5I_QSU_,CWR>K5)A+29G[ZY0D
M=!$EQ7:-A"'QT\P+^1]7A*5K+57[-HH=!]\#G_W@.EA*NL*'=>SYOX7QPI"7
M3EH6.[*]!XJT**#[?#0"&M)7F6LB^UIM["+XML*M;%::CO(I(5MFH;C#<K2,
M64K_,#A?N[3E\)9D#XX-T$WZFIE&;.UKXZ9Z#F^.]M $^=/D[OAPI9T^SU+A
MXZII[MG+2NSU-([='\R.W9G"L3LKOC>K?W!6?O'@[W5B9$MTH3C"X&-2J%+B
M>^%_$T]CC?;2./*&H _7<(\@.[UY:,MRQ2>K^V<2/I'/?$?[V&UG"&H7>U,Q
MOIZHL)V8B@CMOG^.^]*,37/8>XOQ%:*!Y!3U@']9<[#8N4%LIPV2+M31G* V
MG,=9;YN+;7O8WB$<7:AC.9#GSJY31_.4, W+HLF]6L3.>K 7SWM+[_Z@'\-Q
M,%@.A($'L=R#,.WTV!5D&G_"CSI_0E7_X!T87U:S&*_"3F^*._ELTQM0_-\S
MRCM_FK$B_I3W#J":TEJOP="&X(*^=L('G\4-9*?-W;H\O8Q %U+TMO9N4=!8
M"G4WB+]]UUP3VZYT<3VXM3JB7PG^,ZV3U3RBV=+]0NCB49P-/A'F+<B7A,RS
M\)+.->Z._5I]!>MQ'["B3^-U6^UZWNR_AGU#O=>P#L.P<>,0-5NM0DH8UT41
M,56F/(+,X.];5DW9U*QL:U8VYL[<?>.M\T2+G-LCWV>9%R;FF5I;">D1:_*0
MWA&?[^Y$NHR?2!C<QY^]5/R\KC\:<,(G&9I>QHGI:DOG!MV(G0;PVGSQNJO
M^%=<VEU/XZ6VZY> Q\WW:=0-)=AS4!@5Q (0)R[-\ Y2+[S(TY**ZYS&"S+R
M"J^17*6PZ+=@[ID7)=P>W+X"S0WX/,"IV>'DGG<CD?_)=$6FWZ^XH2$&C6]?
MO.@1@6%>AI=OS?07-K15L+?60RCWSH4. &#H=M,MR6-I;SR6KG- O#QG='*\
MKO]%/UG;M.'&Z.QW_K:1O^8@Q"?<-#'+RKI!H+W::CASY0)BO4^F*XBRLMC.
M:;5J:<!W;#XL9^E;X>]*MGE#S GHC161/84]V&FR7-9FJ- IK9)_EF9Y9963
M^MM]X/?#08U@[VSZY[H#ANB\7Z>/V\1<$(Z5%; GUO[Y-& S^<3#VX"8*I&^
MP% =%//M!UU0C&AC)AJ9B5:P0V-R22S.]E3E<4:ET,SK>:&IZC[OEG)@Z00?
MMLCD&RX45 S\2^*)^V,/,CC+",=&,1?6)W!TIE1$1Q:7VMP"7%UD-5Q87L#Z
M;1)\J%PA)*(QRQ=!$A2CZ]SS52^-Y.X770WLJPKP$0 0''TPG)9;A/PU(^-
MD)?&OC!@-0AT D_Z"KI 8>O<//$86]-H<;04FW_]#D-="_N*@"6S9@ F_'J/
MU8JUSV(UV)T N\W8<.M4KU1 WLE1E<=^TK S(=H'@5TP'<L3 2J.?H!FY$>=
M&;EM[V!4#C>6MBC?DE7YS-[U_(;1R*<K+[1,KK!_RY,R7GO"<=(OFEF <!'!
M4R_LV>PT;/9^9'UE2@33B8GY 60"3OP696UMUX8:?]-<Y'<6</2PXHDOY37_
M:>7H,(0+:ZJX$:W0V8'<D 8_VE?6N4MS/*^AFALL&34/0-2E2U&WNUW3QW#)
MRDZ3%IDDZ(&TNYTRQ5W)2[M!AUJIM#P,')NJ=I+K U3-];#WW3K- 9X3.!9B
M=3F]$V#0LF=W$#Q!DT8"PF?OA2ZSY7',6/Q,H\6)M^)_D9[)::!4MX(]^O8E
M'HH3^J#</?<X]A*:W'&PO> Z^MEC5*RWMUY*WD,/@70M8-NY74BUQ0>=4)F0
MXKD!CG4J>@I+4F+7"O:I>E^CU803.KF[VEC=7#@5W26)S^A*GTX>6!W[2'[_
M<6I Q@D>&[D5ZKJG9U!;$?O0O2MW #0<.R4\]RC[V0LS\<^8\>Y'Q4FSO_Z)
M! N2:$X+O]5F=N?MSO*&\Y^*IF=5V[.B<?QC0T:?<F=G[4K<412(WHFX"9__
M*??]VSDD]V@4:R!+NOR)FVHB&/MX7?8\O_<BKD@\TM4Q7V6X-I'M^[:B8_R/
MQVM98[<T^<V8-6&\/KCAB^A!^UI3T'@8XGMSM=*V9FM+C;MTS;\[_ABU4:Y+
MESS'*NGT/F1]K8,2 $!"=U1ONU<]CB;NOIL<UOI:[C+?U&DE5S*QAG%EUW>\
M=\_>JOJR_FE,8RUL1QI$K^KN;" ,0]VLV=W(7\71*0EYW]F:_^798X&>#7AU
M;(^)+2VVP*!;V,=>*"X0W3T2LIFX]:N8NH:[\]BH*Y@:(/3D%K*NF=8N71TW
M&#?I,( ?5U)<Y+?'RDC\\JU60Z(+=0WL)<VL;+*K<QKAT2?+]IU^$SOJ&MB'
M/-;LF(1'9T?G[2"V5GJM'GJ NHT3 F)2MS!QG+J:RG5E<:<)[(EQ0$8E4#EV
M'"#D3(2@)+F.ML+(4L?]5^8Q;N6<B2]I3@F^T[[7(CXW^TOQP7^;Q=%L^\W9
MYJ.SVE=GOQ>?G>42'@X0#@<(AP.$PP'"X0!A I;WX0#AH 2' P27F)_2 0)?
MU_;T:_?3M#OFR9Y'$1T =<@2K>:LNI6B?2T44/5UN!(,R QTYJ3M_"WQA<%)
MYY0$YUSL(]_/EEF>1??ZY()K:%RL,6?S.1&;5G(CGOR1QH"*CPWT+7=&M@W_
M P+BI(=B$[#(YZ_=!$?P/"?? R,7Q:-YU3=FY4=<3'YR<$)XC:0%&RU12Z@H
M[N(BL)=-KX4%?44?.8_4N)-W;[QIDTU-,\?Q+C!KL1NME/,S\00^Q0,E@(P6
M/S2G\[+M6=5X/I'7YO7Z!US*?'&8QP_.9)?\ P=G\L&9/"$_XL&9?%""@S/Y
MS^A,WINJII?4%#FF*N^.&6+V#AM$&=1=Z%J(^H )GZ<8HIZPM#9J^$_;$<-_
M^/76BQ9$L7[QO]?^[.YT-<Y"M8O&,!'F$+*4HZGJ('2\#$S8+EYR+*NN#K)F
M&,#\3".1"4<'9Z,(VHK0A*L%IE06E/FDS"^D176W"%I\MAE5F2SH;M;#1:+Q
M+Q)]/%PD>J47B12;VOK):GY9)EYRI!Y)E'#%$FJIW=.":V,GQX'?3;$2RY&9
MLA[T_D(":$(C32473Q3MPTJ4:#C$6'$M#4)35=(=>WTO<G8%1V>D4I,SCT7B
M["#O79D3JPBCN,[2)/6B@/_5[&0!-H-]9V\O+CM!ADYT_8S:GE]8;7>2#'2@
MU0:@@5QM]?BO4KN2LY<5\=/M:7UC*Z*O@IU8L7N<' 0*]#&EW3 5%HP0](JD
MU_-[[T4]O*P;PMY8[C72.L(VZ9S6R'>J1W":CW&I>LJ\)U\2L2OG6GT1\9]2
M(6PN*%=Q,;-%"3DF$9GK<M5W:PW_X<9>=,0>0,?BH<4\%T<D#W\NIKEMSS4A
MT#_J0J"W;8J?BE9GO-E9V2YVQ/-&3IM(.&TEG'&\\40:HM&:Y=SPQP%8: R[
MIASX45M;7[ Y0DM6U@TFY'JD O]R\.@HPW'/IB>?2+Q@WNJ1^EZH/D[6%)\"
M_'H)A@E2,A% %LW>*(\'1/?5Q?&/BXW*5.=!+4B?A\D)\;]>Q$]O?6'HLW7!
M1/G#EHCR%[]^N9.@7OY1_ WS -FH*!6XM?X.8$;; 7IRK094_ W-S.T Z%86
M1$!OCM2 BK\! ?W1!4"WLJ [>LI<>LU-N]%>,]5#/F]2;ZF:3^R!Y+<WU'\L
M3*2(+(0S"-E0+SILS;&Q(O;!%9AE( 23IMF:WGUI'>P,"TSKP'3>$X;L8]M<
MA]](*@Z]11 OC3(:+:Y7A!6A16J:;=K /N8",V\/C!,>LTUO-V\:Z>Z4?O>N
MZ1_;>L&(0W=&7XLG3*Y4M\2/(_'Z5C$*TG/"QX 7"E7->!_6.X5MAZ%EX\B[
M*GMG6X^0HF^5(;+D$]A1%(B0M+ VVO?3"W6KV#NP833"A*(3<_GV]"./[R7!
MC<?RJ\G*\X[OWNO..\I69F4SV,<;-:'6]\R+$DZI6$_-,[NY)I*;74;83@^/
MUSM_,9R'=&O.#6\QE-VF^[Z;S/A'+(KNMK:98&V^=.[X91_M;M!LEAG_1KNB
MC_K[)-I*?QH>';F9KNB=Z8Z(H9H;+ *T$\;5L)=%SK,H\'S^F?O-!D=_Y5E=
M'GLG"M*FG4O.)MD'"H6]8319>I_$]RXO3[1PRXMB.VFLD=9)/!#(1V'&]S%S
MZE^2X.[H3G_G25X6.Q#5&F:MS /A?)=F 8V/GKPHI2:<%66Q8_BL<=;*/%1F
MVXR(M*EY4/&NN:F%W%P-[=BT*_I0)#!C:Q4D_DP#QA5'W+>(M;3)"D+75W>F
M?;6XZ*X\V-:ZDRTA;<.-3>D(IH54>O0W+>M=LC$O)F%3:)16PYDK.:_J?3+E
MNY*5=<GLT&:X4@N*/AN6:ZE/Z),8\>)ZTHDI!;*N#O(I%=37)WM:5(O"I*_K
MY.+5WOZ#,2RKX-*0L^57#4!G<E-)E CF:=2=%Y+[&'PF]4%W)B7:FJ7QX6QJ
M:(D.9U.'LZG#V=3A;.IP-G4XFSJ<38UZ3N+.B=3AG.1P3K+W.8D[GGJ,<Q)A
ML"3WL>TYB;G:]-SO4"C0W4\'9_S!&0^@=1*;J(,SWI4=UU2=\;?DB429[L;
MML0T'>U-"7MVJX_O>Y7Z6K47NSXVG:XJ!ROZW:Z#J_7@:CVX6@^NUH.K]=7Q
M>'"U'ERM8WL!W7&V8G@!Q[]NX4[4]&N_;N&0YP_A'.'.XXA\]ACU3DG(_VOT
M<:O+0_%VR-%M$G[RAPH?!LNC/XE3A?^)Y]P:BI/4NSO2HBPK"'VI8+!T2M80
MJ\5UP#MV."LXG!48:9V$%7 X*W#%8'#JK,"0-OE>N)%%EOV /M$@T^6L5A1U
M8U#T,J>IA1SF^4M;;GZAZ6,N!"U>_[R/S_BV13.7R00R-8*?_EJKDSJN3*(-
MX^XX.;L^BH*3ZVOM7JY5"L\PZ0)=>UNG$!ME%KM^C@@3W5;/7HTBKVO6:@A7
M>ZT,@0/=;-0JA#_;2'5'ANVPL\@8M[D_OAMB+E$0/YF[VX< B3VNIHU+UI&?
MI[Q/MO<JKX@F9D!1W"5;P8)'K? #N:I.O.11I$%F]"'+UZ/SF-W%/O7"$R]+
MI*,FWQL8JV$G!;?E ":5(W,:T@WLL8\L3 -FP"O8>T^%JN.EC/F/7D)N&/7Y
MKO \$Q^0GR[)2D*=PZX0I13$D8%TXZWS-QCOXR/_]XPR3KEX=#,,^,C_DFC"
MN(P5';WF8AI20$#0B?O,-YJ,FZ_5$^2;/>H-8;[ >4&.US>>?DJT:@1(Z&#O
MRW8DM -0Z.0>9PF7*DE.XN4#C7*$^;*<T*!\I"$7OYC,WZO9M6O%T0 )$[U=
MH)JP?=":GBKY2?*)Q8G&R#/7!&K #XYI !02%T>U2.._B.@?)+@(N QT3L4^
M[HCW/4U*:0*1UW^;A87_+5L*=8T"JY&_YY<<O4S987;H!7)T7;I+8_^W"]XQ
M$IQFC$8+OIK1.+A[Y& 68B0TM^#42F+1!-B?X!C]UBCA\YIWK>AR;B_P'N>_
MT_"HK@+ES35'D!&%P6(?R9)FRY,PYM/&(M>>[2Y19:;JZT I<,H/!,)A( [$
MTW0^[[!DGZY@0%O#U6A4+?X # :+N$[%DT1!D,^+7ECW!AXMA7=600*D(I0+
MI[PW<$30%X_63OB&Q4&6/QY5[&\LK(-V52A[SGMT5*B@\U>=?_ >BSVIT:.M
M*@]ERC57C5Y^='J*A]4NN4DI$JJ?<5T2 6[I8QQ<1$\D27,M4[,%K XESS5'
MC!4ZD\X,"V2[ Z>NN5:&9PXS\>N9QR*^O4TJX^+82ZC/3?]3&F8<+$T.V&]T
M.6"K9F>\W5G>\%]G>=,S+PIF9>/8&6&+\6E.2M LAS/BKDBZG5[4G6T40PYF
MD4/<&&%2R2;LG_Z%T,4CU^\C/MRYM7*5B5"HZWEAT%]G:9)Z(D9JD0\(-9.6
MS6#'NX"H[@2-@Z^R% _27L_SF8QOHN^(G['"41H%N:_@5(3<$JF#.K=N+1K
MCJ+1,VLKC2,;684FEDM32R&MAZFZ(>PXFWT&J@F>2>]II7LAS;9 7AP[.@=$
MKU;45T5BJ;%P&C<5L(-W.A'9$'?ZEHH0ZC$..=1) 0@D5=JW+=NDULR__LL/
M']Y___=9T9P[6=.F98[4W@XI)Q 2G,3+%>%V=3%"N(F](+G=?+S>EBD]D4?/
M'@O 6=+V_H0;%X% ([I'J?%SIQE%4$G0\LHHSGSW;-L-O>A]+,F.DO=$"C]K
M6R$F_X ^4T.CV)^#X8;0Z/G9NDNYE20*;D(ONO*6Q)3%89BON:$Y4JVW'=^=
MY!_F!N1_91Y+"0O7MUY*M%<@I26QO5Q#*G;=HZ*!::A7/:(H\T)A".KSRTG*
M83NHQB)%"1&Z-RN7+H\2,\R291GD8X'^MH6RF7 'A\E;P!RA)2W.'T4FACA*
MN;U/(A^8-?R[IBE<:R\_C-MIT1UK6"?V1ARSL6S9#,[H%>=>.UTS&,:J\F[L
M6#HQUQC'*@GQ+=I6SP"6JJZ.&YSI-=!$SO!FHB$KR:U8-]1986I_GA+<NST?
MQJ:# *O<#E8=A.X#!P9W%R\YEE57!\F$9P#S,XWH,EOJX&P40;-VFG"UP)3*
M@I(5ZH[#D>\9[WP2>2(!C7(>4!2=V)R@D&*8O)LF\,LN?(F2%?'IG)) EQA*
M4QQ_[M J4AU_M1##N$RNXJ=\F-T_4A&Z^!S?/\99PO?NQ2^TUCJP+N9$8]2A
MN@ENA<5 GI+[1Q9GB\?ZQY^YB.LS$3*A90-4$\V;8LN%!0[H#I++.%K<$[:L
M\I!LC13EC9[-O&RJB>Q,,5LDK?T[# L):6KW1_D7\?\>>)O\-_\?4$L! A0#
M%     @ !(L'6Z(7UGX!"   ^T    H              ( !     &5X,S$M
M,2YH=&U02P$"% ,4    "  $BP=;U.<[$0D(  "200  "@
M@ $I"   97@S,2TR+FAT;5!+ 0(4 Q0    (  2+!UN_P3$RE 0  $DH   (
M              "  5H0  !E>#,R+FAT;5!+ 0(4 Q0    (  2+!UNX[^9Z
ME%D! !)J#P ,              "  105  !F;W)M,3 M<2YH=&U02P$"% ,4
M    "  $BP=; K!J6*,0   >MP  $0              @ '2;@$ =&=L<RTR
M,#(U,#8S,"YX<V102P$"% ,4    "  $BP=;^[4K"Q(:  !W8 $ %0
M        @ &D?P$ =&=L<RTR,#(U,#8S,%]C86PN>&UL4$L! A0#%     @
M!(L'6TX5+JUH+0  &MT" !4              ( !Z9D! '1G;',M,C R-3 V
M,S!?9&5F+GAM;%!+ 0(4 Q0    (  2+!UNEMK@D"7(  -)'!@ 5
M      "  83' 0!T9VQS+3(P,C4P-C,P7VQA8BYX;6Q02P$"% ,4    "  $
MBP=;++BF]WQ.  #]$P4 %0              @ ' .0( =&=L<RTR,#(U,#8S
?,%]P<F4N>&UL4$L%!@     )  D *P(  &^( @    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>form10-q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:TGLS="http://tecnoglass.com/20250630"
  xmlns:country="http://xbrl.sec.gov/country/2025"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2025"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2025"
  xmlns:us-gaap="http://fasb.org/us-gaap/2025"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tgls-20250630.xsd" xlink:type="simple"/>
    <context id="From2025-01-01to2025-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-08-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-08-01</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_NonrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_NonrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2025-04-012025-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_ExternalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_ExternalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_ExternalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ExternalCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">TGLS:ExternalCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2025-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_LegalReservesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">TGLS:LegalReservesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="From2025-04-012025-04-30_custom_ContiglassAssetAcquisitionLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">TGLS:ContiglassAssetAcquisitionLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-04-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">TGLS:ContiglassAssetAcquisitionLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-04-03</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="From2025-04-042025-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2025-04-04</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_srt_ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_srt_ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_srt_ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_srt_ProFormaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ProFormaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_ContractAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">TGLS:ContractAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_ContractLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByLiabilityClassAxis">TGLS:ContractLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_FixedPriceContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_FixedPriceContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_FixedPriceContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_FixedPriceContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:FixedPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_ProductSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_ProductSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_ProductSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ProductSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ProductSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_country_CO">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_country_CO">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_country_CO">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_country_CO">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_country_PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_country_PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_country_PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_country_PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_OtherMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">TGLS:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_ResidentialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_ResidentialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_ResidentialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ResidentialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_CommercialMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">TGLS:CommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-12-31_srt_ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-12-31_srt_ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-12-31</instant>
        </period>
    </context>
    <context id="AsOf2027-12-31_srt_ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2027-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_TradeNamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_SoftwareAndLicensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:SoftwareAndLicensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_ContractBacklogMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:ContractBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">TGLS:NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_SupplierFinanceProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_SupplierFinanceProgramMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">TGLS:SupplierFinanceProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-21</instant>
        </period>
    </context>
    <context id="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-21</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_us-gaap_InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_AccumulatedOtherComprehensiveLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">TGLS:AccumulatedOtherComprehensiveLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_OtherCurrentAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_OtherCurrentAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:DueFromOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:DueFromOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:PrismaGlassLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:AlutraficLedSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StudioAvantiSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SalesToOtherRelatedPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_FundacionTecnoglassMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_FundacionTecnoglassMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_FundacionTecnoglassMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_FundacionTecnoglassMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:FundacionTecnoglassMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">TGLS:CEOAndCOOMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:SantaMariaDelMarSASMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2019-05-03_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-03</instant>
        </period>
    </context>
    <context id="From2020-12-082020-12-09_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-08</startDate>
            <endDate>2020-12-09</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-09_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-09</instant>
        </period>
    </context>
    <context id="From2020-10-282020-10-28_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-28</startDate>
            <endDate>2020-10-28</endDate>
        </period>
    </context>
    <context id="AsOf2020-10-28_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-28</instant>
        </period>
    </context>
    <context id="AsOf2020-10-27_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-27</instant>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_VidrioAndinoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">TGLS:VidrioAndinoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-30_custom_ZofracostaSAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:ZofracostaSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_ZofracostaSAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:ZofracostaSAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-06-10_custom_QuarterlyRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">TGLS:QuarterlyRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-10</instant>
        </period>
    </context>
    <context id="AsOf2025-06-10_custom_AnnualBasisMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">TGLS:AnnualBasisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-10</instant>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">TGLS:NovemberThirtyTwoThousandThirtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-06-30_srt_MinimumMember_custom_ThroughTwoThousandTwentyEightMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">TGLS:ThroughTwoThousandTwentyEightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Integer">
        <measure>TGLS:Integer</measure>
    </unit>
    <unit id="Segment">
        <measure>TGLS:Segment</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2025-01-01to2025-06-30" id="Fact000003">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2025-01-01to2025-06-30" id="Fact000004">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="From2025-01-01to2025-06-30" id="Fact000005">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2025-01-01to2025-06-30" id="Fact000006">0001534675</dei:EntityCentralIndexKey>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0080"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0140"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2025-06-30"
      id="xdx2ixbrl0151"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0152"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2025-06-30"
      id="xdx2ixbrl0157"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0158"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2024-04-012024-06-30"
      id="xdx2ixbrl0264"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl0266"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl0375"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl0429"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl0435"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:PaymentsOfNonControllingInterestExpense
      contextRef="From2025-01-01to2025-06-30"
      id="xdx2ixbrl0449"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:AccountPayableForBusinessAcquisition
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl0495"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0502"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0503"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0509"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0512"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0519"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0521"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0522"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0523"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0530"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0531"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0532"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0533"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0539"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0540"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0541"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0542"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0548"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0549"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0550"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0552"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_ParentMember"
      id="xdx2ixbrl0553"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0554"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_ParentMember"
      id="xdx2ixbrl0562"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0563"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0568"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0569"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0570"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0572"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0574"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0579"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0581"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0582"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0583"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0590"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0591"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0592"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0593"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0599"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0600"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0601"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0602"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0608"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0609"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0610"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0612"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_ParentMember"
      id="xdx2ixbrl0613"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0614"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_ParentMember"
      id="xdx2ixbrl0622"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0623"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0634"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0639"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0640"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0641"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0643"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0645"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0650"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0651"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0652"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0653"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0656"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0659"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0660"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0661"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0662"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0665"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0668"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0669"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0670"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0672"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0674"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0683"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0694"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0699"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0700"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0701"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0703"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0705"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0721"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0722"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0723"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0724"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0727"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0730"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0731"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0732"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0733"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0736"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0739"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0740"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0741"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0743"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0745"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0754"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0765"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2025-06-30"
      id="xdx2ixbrl0794"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0968"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl1005"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2025-06-30"
      id="xdx2ixbrl1123"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember"
      id="xdx2ixbrl1179"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember"
      id="xdx2ixbrl1183"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2025-06-30"
      id="xdx2ixbrl1187"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:EffectOfDilutiveSecuritiesAndStockDividend
      contextRef="From2025-04-012025-06-30"
      id="xdx2ixbrl1454"
      unitRef="Shares"
      xsi:nil="true"/>
    <TGLS:EffectOfDilutiveSecuritiesAndStockDividend
      contextRef="From2024-04-012024-06-30"
      id="xdx2ixbrl1455"
      unitRef="Shares"
      xsi:nil="true"/>
    <TGLS:EffectOfDilutiveSecuritiesAndStockDividend
      contextRef="From2025-01-01to2025-06-30"
      id="xdx2ixbrl1456"
      unitRef="Shares"
      xsi:nil="true"/>
    <TGLS:EffectOfDilutiveSecuritiesAndStockDividend
      contextRef="From2024-01-012024-06-30"
      id="xdx2ixbrl1457"
      unitRef="Shares"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2025-01-01to2025-06-30" id="Fact000014">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2025-01-01to2025-06-30" id="Fact000015">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2025-01-01to2025-06-30" id="Fact000016">2025-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2025-01-01to2025-06-30" id="Fact000017">2025</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2025-01-01to2025-06-30" id="Fact000018">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2025-01-01to2025-06-30" id="Fact000019">001-35436</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2025-01-01to2025-06-30" id="Fact000020">TECNOGLASS INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2025-01-01to2025-06-30" id="Fact000021">E9</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2025-01-01to2025-06-30" id="Fact000022">98-1271120</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2025-01-01to2025-06-30" id="Fact000023">3550 NW 49th Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2025-01-01to2025-06-30" id="Fact000024">Miami</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2025-01-01to2025-06-30" id="Fact000025">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2025-01-01to2025-06-30" id="Fact000026">33142</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCountry contextRef="From2025-01-01to2025-06-30" id="Fact000027">US</dei:EntityAddressCountry>
    <dei:CountryRegion contextRef="From2025-01-01to2025-06-30" id="Fact000028">+1</dei:CountryRegion>
    <dei:CityAreaCode contextRef="From2025-01-01to2025-06-30" id="Fact000029">305</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2025-01-01to2025-06-30" id="Fact000030">638 5151</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2025-01-01to2025-06-30" id="Fact000031">Ordinary     Shares</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2025-01-01to2025-06-30" id="Fact000032">TGLS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2025-01-01to2025-06-30" id="Fact000033">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2025-01-01to2025-06-30" id="Fact000034">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2025-01-01to2025-06-30" id="Fact000035">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2025-01-01to2025-06-30" id="Fact000036">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2025-01-01to2025-06-30" id="Fact000037">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2025-01-01to2025-06-30" id="Fact000038">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2025-01-01to2025-06-30" id="Fact000039">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2025-08-01"
      decimals="INF"
      id="Fact000040"
      unitRef="Shares">46987148</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityListingParValuePerShare
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact000041"
      unitRef="USDPShares">0.0001</dei:EntityListingParValuePerShare>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000049"
      unitRef="USD">137907000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000050"
      unitRef="USD">134882000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000052"
      unitRef="USD">2947000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000053"
      unitRef="USD">2645000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000055"
      unitRef="USD">227589000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000056"
      unitRef="USD">202915000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000058"
      unitRef="USD">3345000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000059"
      unitRef="USD">2674000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000061"
      unitRef="USD">176521000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000062"
      unitRef="USD">139642000</us-gaap:InventoryNet>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000064"
      unitRef="USD">30768000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000065"
      unitRef="USD">22920000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000067"
      unitRef="USD">60322000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000068"
      unitRef="USD">54332000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000070"
      unitRef="USD">639399000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000071"
      unitRef="USD">560010000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000076"
      unitRef="USD">421954000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000077"
      unitRef="USD">344433000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000079"
      unitRef="USD">1597000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000082"
      unitRef="USD">475000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000083"
      unitRef="USD">285000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000085"
      unitRef="USD">12405000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000086"
      unitRef="USD">15208000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000088"
      unitRef="USD">12775000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000089"
      unitRef="USD">4389000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000091"
      unitRef="USD">30178000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000092"
      unitRef="USD">23561000</us-gaap:Goodwill>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000094"
      unitRef="USD">56635000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000095"
      unitRef="USD">63264000</us-gaap:LongTermInvestments>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000097"
      unitRef="USD">5791000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000098"
      unitRef="USD">5498000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000100"
      unitRef="USD">541810000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000101"
      unitRef="USD">456638000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000103"
      unitRef="USD">1181209000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000104"
      unitRef="USD">1016648000</us-gaap:Assets>
    <us-gaap:DebtCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000112"
      unitRef="USD">587000</us-gaap:DebtCurrent>
    <us-gaap:DebtCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000113"
      unitRef="USD">1087000</us-gaap:DebtCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000115"
      unitRef="USD">138608000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000116"
      unitRef="USD">98843000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000118"
      unitRef="USD">9714000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000119"
      unitRef="USD">9864000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000121"
      unitRef="USD">7068000</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000122"
      unitRef="USD">7074000</us-gaap:DividendsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000124"
      unitRef="USD">128306000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000125"
      unitRef="USD">97979000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_us-gaap_NonrelatedPartyMember"
      decimals="-3"
      id="Fact000127"
      unitRef="USD">36198000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_us-gaap_NonrelatedPartyMember"
      decimals="-3"
      id="Fact000128"
      unitRef="USD">50979000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000130"
      unitRef="USD">320481000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000131"
      unitRef="USD">265826000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000136"
      unitRef="USD">15945000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000137"
      unitRef="USD">11419000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000139"
      unitRef="USD">140000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000142"
      unitRef="USD">108642000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000143"
      unitRef="USD">108220000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000145"
      unitRef="USD">124727000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000146"
      unitRef="USD">119639000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000148"
      unitRef="USD">445208000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000149"
      unitRef="USD">385465000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000160"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000162"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000164"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000166"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000168"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000170"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000172"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000174"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000179"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000181"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000183"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000185"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000187"
      unitRef="Shares">46987148</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000189"
      unitRef="Shares">46987148</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000191"
      unitRef="Shares">46991558</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000193"
      unitRef="Shares">46991558</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000176"
      unitRef="USD">5000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000177"
      unitRef="USD">5000</us-gaap:CommonStockValue>
    <TGLS:LegalReserves
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000195"
      unitRef="USD">1458000</TGLS:LegalReserves>
    <TGLS:LegalReserves
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000196"
      unitRef="USD">1458000</TGLS:LegalReserves>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000198"
      unitRef="USD">191755000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000199"
      unitRef="USD">192094000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000201"
      unitRef="USD">610960000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000202"
      unitRef="USD">538787000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000204"
      unitRef="USD">-68177000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000205"
      unitRef="USD">-101161000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000207"
      unitRef="USD">736001000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000208"
      unitRef="USD">631183000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000210"
      unitRef="USD">1181209000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000211"
      unitRef="USD">1016648000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000218"
      unitRef="USD">254145000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000219"
      unitRef="USD">218928000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000220"
      unitRef="USD">475417000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000221"
      unitRef="USD">411017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000223"
      unitRef="USD">1401000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000224"
      unitRef="USD">726000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000225"
      unitRef="USD">2417000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000226"
      unitRef="USD">1264000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000228"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000229"
      unitRef="USD">219654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000230"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000231"
      unitRef="USD">412281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000233"
      unitRef="USD">141211000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000234"
      unitRef="USD">130077000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000235"
      unitRef="USD">265974000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000236"
      unitRef="USD">248044000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000238"
      unitRef="USD">114335000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000239"
      unitRef="USD">89577000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000240"
      unitRef="USD">211860000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000241"
      unitRef="USD">164237000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000248"
      unitRef="USD">29730000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000249"
      unitRef="USD">20000000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000250"
      unitRef="USD">53347000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000251"
      unitRef="USD">37583000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000253"
      unitRef="USD">23405000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000254"
      unitRef="USD">18443000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000255"
      unitRef="USD">42260000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000256"
      unitRef="USD">34498000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000258"
      unitRef="USD">53135000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000259"
      unitRef="USD">38443000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000260"
      unitRef="USD">95607000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000261"
      unitRef="USD">72081000</us-gaap:OperatingExpenses>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000263"
      unitRef="USD">4000</TGLS:OtherOperatingIncomeLoss>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000265"
      unitRef="USD">4280000</TGLS:OtherOperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000268"
      unitRef="USD">61204000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000269"
      unitRef="USD">51134000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000270"
      unitRef="USD">120533000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000271"
      unitRef="USD">92156000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000273"
      unitRef="USD">588000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000274"
      unitRef="USD">2731000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000275"
      unitRef="USD">1604000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000276"
      unitRef="USD">3811000</us-gaap:NonoperatingGainsLosses>
    <TGLS:EquityMethodIncome
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000278"
      unitRef="USD">942000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000279"
      unitRef="USD">1237000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000280"
      unitRef="USD">2286000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000281"
      unitRef="USD">2283000</TGLS:EquityMethodIncome>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000283"
      unitRef="USD">847000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000284"
      unitRef="USD">-5575000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000285"
      unitRef="USD">338000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000286"
      unitRef="USD">-5728000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000288"
      unitRef="USD">1350000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000289"
      unitRef="USD">2006000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000290"
      unitRef="USD">2681000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000291"
      unitRef="USD">4112000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000293"
      unitRef="USD">62231000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000294"
      unitRef="USD">47521000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000295"
      unitRef="USD">122080000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000296"
      unitRef="USD">88410000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000298"
      unitRef="USD">18148000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000299"
      unitRef="USD">12493000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000300"
      unitRef="USD">35808000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000301"
      unitRef="USD">23652000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000303"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000304"
      unitRef="USD">35028000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000305"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000306"
      unitRef="USD">64758000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000308"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact000309"
      unitRef="USDPShares">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact000310"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact000311"
      unitRef="USDPShares">1.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000313"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact000314"
      unitRef="USDPShares">0.75</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact000315"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact000316"
      unitRef="USDPShares">1.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000318"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact000319"
      unitRef="Shares">46996705</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact000320"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact000321"
      unitRef="Shares">46996706</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000323"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact000324"
      unitRef="Shares">46996705</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact000325"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact000326"
      unitRef="Shares">46996706</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000333"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000334"
      unitRef="USD">-28321000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000335"
      unitRef="USD">32836000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000336"
      unitRef="USD">-28291000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000338"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000339"
      unitRef="USD">-342000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000340"
      unitRef="USD">148000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000341"
      unitRef="USD">694000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000343"
      unitRef="USD">14045000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000344"
      unitRef="USD">-28663000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000345"
      unitRef="USD">32984000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000346"
      unitRef="USD">-27597000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000348"
      unitRef="USD">58128000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000349"
      unitRef="USD">6365000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000350"
      unitRef="USD">119256000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000351"
      unitRef="USD">37161000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000356"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000357"
      unitRef="USD">64758000</us-gaap:NetIncomeLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000362"
      unitRef="USD">987000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000363"
      unitRef="USD">275000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000365"
      unitRef="USD">16479000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000366"
      unitRef="USD">12788000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000368"
      unitRef="USD">2002000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000369"
      unitRef="USD">1456000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000371"
      unitRef="USD">2286000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000372"
      unitRef="USD">2283000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000374"
      unitRef="USD">4254000</us-gaap:GainLossOnDispositionOfAssets1>
    <TGLS:DeferredCostOfFinancing
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000377"
      unitRef="USD">556000</TGLS:DeferredCostOfFinancing>
    <TGLS:DeferredCostOfFinancing
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000378"
      unitRef="USD">640000</TGLS:DeferredCostOfFinancing>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000380"
      unitRef="USD">-391000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000381"
      unitRef="USD">-32000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000383"
      unitRef="USD">8718000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000384"
      unitRef="USD">-741000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000389"
      unitRef="USD">20376000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000390"
      unitRef="USD">5913000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000392"
      unitRef="USD">23996000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000393"
      unitRef="USD">-14395000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000395"
      unitRef="USD">2529000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000396"
      unitRef="USD">1743000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000398"
      unitRef="USD">3248000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000399"
      unitRef="USD">-8827000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000401"
      unitRef="USD">21802000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000402"
      unitRef="USD">12695000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000404"
      unitRef="USD">-18513000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000405"
      unitRef="USD">-36961000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000407"
      unitRef="USD">87000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000408"
      unitRef="USD">-121000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000410"
      unitRef="USD">15000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000411"
      unitRef="USD">42000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000413"
      unitRef="USD">-21387000</us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities>
    <us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000414"
      unitRef="USD">3192000</us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities>
    <us-gaap:IncreaseDecreaseInDueToRelatedParties
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000416"
      unitRef="USD">-1298000</us-gaap:IncreaseDecreaseInDueToRelatedParties>
    <us-gaap:IncreaseDecreaseInDueToRelatedParties
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000417"
      unitRef="USD">1509000</us-gaap:IncreaseDecreaseInDueToRelatedParties>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000419"
      unitRef="USD">64760000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000420"
      unitRef="USD">67945000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000425"
      unitRef="USD">73000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000426"
      unitRef="USD">317000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000428"
      unitRef="USD">6841000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000431"
      unitRef="USD">8914000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000432"
      unitRef="USD">2703000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000434"
      unitRef="USD">12312000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000437"
      unitRef="USD">62939000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000438"
      unitRef="USD">30188000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000440"
      unitRef="USD">-48627000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000441"
      unitRef="USD">-27802000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000446"
      unitRef="USD">14095000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000447"
      unitRef="USD">9407000</us-gaap:PaymentsOfDividends>
    <TGLS:PaymentsOfNonControllingInterestExpense
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000450"
      unitRef="USD">2500000</TGLS:PaymentsOfNonControllingInterestExpense>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000452"
      unitRef="USD">339000</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000453"
      unitRef="USD">5000</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000455"
      unitRef="USD">3613000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000456"
      unitRef="USD">2571000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000458"
      unitRef="USD">4103000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000459"
      unitRef="USD">30986000</us-gaap:RepaymentsOfDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000461"
      unitRef="USD">-14924000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000462"
      unitRef="USD">-40327000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000464"
      unitRef="USD">1816000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000465"
      unitRef="USD">-2519000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000467"
      unitRef="USD">3025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000468"
      unitRef="USD">-2703000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000470"
      unitRef="USD">134882000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="Fact000471"
      unitRef="USD">129508000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000473"
      unitRef="USD">137907000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-06-30"
      decimals="-3"
      id="Fact000474"
      unitRef="USD">126805000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000482"
      unitRef="USD">3343000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000483"
      unitRef="USD">5559000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000485"
      unitRef="USD">47360000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000486"
      unitRef="USD">59607000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:FairValueOfAssetsAcquired
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000491"
      unitRef="USD">7663000</us-gaap:FairValueOfAssetsAcquired>
    <us-gaap:FairValueOfAssetsAcquired
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000492"
      unitRef="USD">4572000</us-gaap:FairValueOfAssetsAcquired>
    <TGLS:AccountPayableForBusinessAcquisition
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000494"
      unitRef="USD">3588000</TGLS:AccountPayableForBusinessAcquisition>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000506"
      unitRef="Shares">46991558</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000497"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000498"
      unitRef="USD">192094000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000499"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000500"
      unitRef="USD">538787000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000501"
      unitRef="USD">-101161000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000504"
      unitRef="USD">631183000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2025-03-31"
      decimals="INF"
      id="Fact000517"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000511"
      unitRef="USD">7050000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000515"
      unitRef="USD">7050000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000528"
      unitRef="Shares">1610</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000520"
      unitRef="USD">124000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000526"
      unitRef="USD">124000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000534"
      unitRef="USD">-637000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000537"
      unitRef="USD">-637000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000543"
      unitRef="USD">19576000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000546"
      unitRef="USD">19576000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000551"
      unitRef="USD">42189000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000555"
      unitRef="USD">42189000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000566"
      unitRef="Shares">46989948</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000557"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000558"
      unitRef="USD">191970000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000559"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000560"
      unitRef="USD">573926000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000561"
      unitRef="USD">-82222000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31"
      decimals="-3"
      id="Fact000564"
      unitRef="USD">685137000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000577"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000571"
      unitRef="USD">7049000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000575"
      unitRef="USD">7049000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000588"
      unitRef="Shares">2800</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000580"
      unitRef="USD">215000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000586"
      unitRef="USD">215000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000594"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000597"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000603"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000606"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000611"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000615"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000626"
      unitRef="Shares">46987148</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000617"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000618"
      unitRef="USD">191755000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000619"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000620"
      unitRef="USD">610960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000621"
      unitRef="USD">-68177000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000624"
      unitRef="USD">736001000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000637"
      unitRef="Shares">46996708</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000628"
      unitRef="USD">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000629"
      unitRef="USD">192385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000630"
      unitRef="USD">1458000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000631"
      unitRef="USD">400035000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000632"
      unitRef="USD">-45863000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000633"
      unitRef="USD">548020000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="Fact000635"
      unitRef="USD">548020000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharePrice
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000648"
      unitRef="USDPShares">0.11</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000642"
      unitRef="USD">5169000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000644"
      unitRef="USD">5169000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-01-012024-03-31"
      decimals="-3"
      id="Fact000646"
      unitRef="USD">5169000</us-gaap:DividendsCommonStock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000654"
      unitRef="USD">1036000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000655"
      unitRef="USD">1036000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-01-012024-03-31"
      decimals="-3"
      id="Fact000657"
      unitRef="USD">1036000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000663"
      unitRef="USD">30000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000664"
      unitRef="USD">30000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31"
      decimals="-3"
      id="Fact000666"
      unitRef="USD">30000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000671"
      unitRef="USD">29730000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000673"
      unitRef="USD">29730000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31"
      decimals="-3"
      id="Fact000675"
      unitRef="USD">29730000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000686"
      unitRef="Shares">46996708</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000677"
      unitRef="USD">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000678"
      unitRef="USD">192385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000679"
      unitRef="USD">1458000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000680"
      unitRef="USD">424596000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000681"
      unitRef="USD">-44797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000682"
      unitRef="USD">573647000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31"
      decimals="-3"
      id="Fact000684"
      unitRef="USD">573647000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000697"
      unitRef="Shares">46996708</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000688"
      unitRef="USD">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000689"
      unitRef="USD">192385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000690"
      unitRef="USD">1458000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000691"
      unitRef="USD">424596000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000692"
      unitRef="USD">-44797000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000693"
      unitRef="USD">573647000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31"
      decimals="-3"
      id="Fact000695"
      unitRef="USD">573647000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharePrice
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000708"
      unitRef="USDPShares">0.11</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000702"
      unitRef="USD">5168000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000704"
      unitRef="USD">5168000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000706"
      unitRef="USD">5168000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000719"
      unitRef="Shares">100</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000711"
      unitRef="USD">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2024-04-012024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000715"
      unitRef="USD">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000717"
      unitRef="USD">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000725"
      unitRef="USD">-342000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000726"
      unitRef="USD">-342000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000728"
      unitRef="USD">-342000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000734"
      unitRef="USD">-28321000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000735"
      unitRef="USD">-28321000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000737"
      unitRef="USD">-28321000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000742"
      unitRef="USD">35028000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000744"
      unitRef="USD">35028000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000746"
      unitRef="USD">35028000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000757"
      unitRef="Shares">46996608</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000748"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000749"
      unitRef="USD">192380000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000750"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000751"
      unitRef="USD">454456000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000752"
      unitRef="USD">-73460000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000753"
      unitRef="USD">574839000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30"
      decimals="-3"
      id="Fact000755"
      unitRef="USD">574839000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000768"
      unitRef="Shares">46996608</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000759"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000760"
      unitRef="USD">192380000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000761"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000762"
      unitRef="USD">454456000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000763"
      unitRef="USD">-73460000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_ParentMember"
      decimals="-3"
      id="Fact000764"
      unitRef="USD">574839000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30"
      decimals="-3"
      id="Fact000766"
      unitRef="USD">574839000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000770">&lt;p id="xdx_805_eus-gaap--OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_z75kyX3HWfy4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
1. &lt;span id="xdx_821_z8OzFZCKsfva"&gt;General&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Business
Description&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Tecnoglass
Inc., a Cayman Islands exempted company (the &#x201c;Company&#x201d;, &#x201c;Tecnoglass&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;)
manufactures hi-specification, architectural glass and windows for the global residential and commercial construction industries. Currently
the Company offers design, production, marketing, and installation of architectural systems for buildings of high, medium and low elevation
size. Products include windows and doors in glass, aluminum, and vinyl, office partitions and interior divisions, floating facades and
commercial window showcases. The Company sells to customers in North, Central and South America.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company manufactures glass, aluminum, and vinyl products. Its glass products include tempered glass, laminated glass, thermo-acoustic
glass, curved glass, silk-screened glass, acoustic glass and digital print glass. Its Alutions plant produces mill finished, anodized,
painted aluminum profiles and rods, tubes, bars and plates. Alutions&#x2019; operations include extrusion, smelting, painting and anodizing
processes, and exporting, importing and marketing aluminum products. Its newly installed vinyl assembling lines manufacture and distributes
cutting-edge vinyl windows for new and existing customers.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 31.9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company also designs, manufactures, markets and installs architectural systems for high, medium and low-rise construction, glass, aluminum
and vinyl windows and doors, office dividers and interiors, floating facades and commercial display windows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000772">&lt;p id="xdx_808_eus-gaap--SignificantAccountingPoliciesTextBlock_zBtZs0fnk6Ag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
2. &lt;span id="xdx_822_zdOexDH2Zd19"&gt;Basis of Presentation and Summary of Significant Accounting Policies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zahypv3cMjJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zGoquekU3sL1"&gt;Basis
of Presentation and Use of Estimates&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally
accepted in the United States of America (&#x201c;US GAAP&#x201d;) and pursuant to the accounting and disclosure rules and regulations
of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) for interim reporting purposes. The results reported in these unaudited
condensed consolidated financial statements are not necessarily indicative of results that may be expected for the entire year. These
unaudited condensed consolidated financial statements should be read in conjunction with the information contained in the Company&#x2019;s
Annual Report on Form 10-K for the year ended December 31, 2024. The year-end condensed balance sheet data was derived from the audited
financial statements in the Annual Report on Form 10-K but does not include all disclosures required by US GAAP.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of these unaudited condensed consolidated financial statements requires the Company to make estimates and judgments that
affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities
at the date of the Company&#x2019;s financial statements. Actual results may differ from these estimates under different assumptions and
conditions. Estimates utilized in the preparation of these unaudited condensed consolidated financial statements relate to the collectability
of account receivables, the valuation of inventories, estimated earnings on uncompleted contracts, useful lives and potential impairment
of long-lived assets. Changes in estimates are reflected in the periods during which they become known. Actual amounts may differ from
these estimates and could differ materially. These financial statements reflect all adjustments that in the opinion of management are
necessary for a fair statement of the financial position, results of operations and cash flows for the period presented, and are of a
normal, recurring nature.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has one operating segment, Architectural Glass and Windows, which is also its reporting segment. The segment comprises the design,
manufacturing, distribution, marketing and installation of high-specification architectural glass and window products sold to residential
and commercial markets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
chief operating decision maker (&#x201c;CODM&#x201d;) assesses performance and decides how to allocate resources based on gross profit
and net income that also is reported on the income statement as consolidated net income, cash flows from operations which are reported
on the consolidated statement of cash flows, along with certain non-G.A.A.P metrics. Significant segment expenses include cost of sales,
selling expense, and general and administrative expenses. Other segment items included in consolidated net income are interest expense,
other expense, net and the provision for income taxes, which are reflected in the consolidated statements of comprehensive income. These
metrics are used to monitor budgeted versus actual results, and competitive analysis by benchmarking to the Company&#x2019;s competitors.
The Company&#x2019;s CODM are Company&#x2019;s Chief Executive Officer and Chief Operating Officer acting together as a group.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company performs intra-entity sales and transfers within its single segment comprised of several vertically integrated processes including
its main manufacturing operations in Colombia and distribution and installation in the United States. The Company considers its operations
to be a single reporting segment because it only produces architectural glass and window systems to serve similar markets in a vertically
integrated platform.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--ConsolidationPolicyTextBlock_zdWvJAKXdlg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_zIBQPs4XUQk9"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
unaudited consolidated financial statements consolidate Tecnoglass, its subsidiaries Tecnoglass S.A.S (&#x201c;TG&#x201d;), C.I. Energ&#xed;a
Solar S.A.S E.S. Windows (&#x201c;ES&#x201d;), ES Windows LLC (&#x201c;ESW LLC&#x201d;), Tecnoglass LLC, Tecno RE LLC, GM&amp;amp;P Consulting
and Glazing Contractors (&#x201c;GM&amp;amp;P&#x201d;), Componenti USA LLC, ES Metals SAS (&#x201c;ES Metals&#x201d;), Ventanas Solar S.A (&#x201c;VS&#x201d;),
which are entities wholly owned by Tecnoglass. To determine if we hold a controlling financial interest in an entity, we first evaluate
if we are required to apply the variable interest entity (&#x201c;VIE&#x201d;) model to the entity, otherwise the entity is evaluated under
the voting interest model. All significant intercompany accounts and transactions are eliminated in consolidation, including unrealized
intercompany profits and losses. The equity method of accounting is used for investments in affiliates and other joint ventures over
which the Company has significant influence but does not have effective control.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zLc5dECQ57X" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zbgfqcdleg83"&gt;Derivative
Financial Instruments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes all derivative financial instruments as either assets or liabilities at fair value on the condensed consolidated balance
sheet. The unrealized gains or losses arising from changes in fair value of derivative instruments that are designated and qualify as
cash flow hedges, are recorded in the condensed consolidated statement of comprehensive income. Amounts in accumulated other comprehensive
loss on the condensed consolidated balance sheet are reclassified into the condensed consolidated statement of income in the same period
or periods during which the hedged transactions are settled.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_ztnfoLhO8eMf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zeHQaoB60cE6"&gt;Recently
Issued Accounting Pronouncements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2024, the FASB issued ASU 2024-03, &#x201c;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures (Subtopic
220-40)&#x201d;. The Board is issuing this Update to improve the disclosures about a public business entity&#x2019;s expenses and address
requests from investors for more detailed information about the types of expenses (including purchases of inventory, employee compensation,
depreciation, amortization, and depletion) in commonly presented expense captions (such as cost of sales, SG&amp;amp;A, and research and
development). The amendments in this Update are effective for annual reporting periods beginning after December 15, 2026, and interim
reporting periods beginning after December 15, 2027. Early adoption is permitted. The Company is currently evaluating the potential effect
of this ASU on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The Board
is issuing the amendments in this Update to enhance the transparency and decision usefulness of income tax disclosures. Investors, lenders,
creditors, and other allocators of capital (collectively, &#x201c;investors&#x201d;) indicated that the existing income tax disclosures
should be enhanced to provide information to better assess how an entity&#x2019;s operations and related tax risks and tax planning and
operational opportunities affect its tax rate and prospects for future cash flows. Investors currently rely on the rate reconciliation
table and other disclosures, including total income taxes paid, to evaluate income tax risks and opportunities. While investors find
these disclosures helpful, they suggested possible enhancements to better (1) understand an entity&#x2019;s exposure to potential changes
in jurisdictional tax legislation and the ensuing risks and opportunities, (2) assess income tax information that affects cash flow forecasts
and capital allocation decisions, and (3) identify potential opportunities to increase future cash flows. The amendments in this Update
address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily
related to the rate reconciliation and income taxes paid information. This Update also includes certain other amendments to improve the
effectiveness of income tax disclosures. Specifically, the amendments require annual disclosure of: (i) a detailed rate reconciliation
table that includes specific categories with separate disclosure of items that are equal to or greater than 5% of the statutory tax applied
to pretax income; (ii) income taxes paid (net of refunds received), disaggregated by federal, state, and foreign amounts; and (iii) income
taxes paid (net) further disaggregated by individual jurisdiction when such amounts are equal to or greater than 5% of total income taxes
paid. Additionally, the Company must disclose pretax income (or loss) from continuing operations and income tax expense (or benefit)
from continuing operations, each disaggregated between domestic and foreign. The amendments in this Update are effective for annual periods
beginning after December 15, 2024, with early adoption permitted, and should be applied on a prospective basis and retrospective application
is permitted.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_85C_zsVJSD94k055" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000774">&lt;p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zahypv3cMjJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zGoquekU3sL1"&gt;Basis
of Presentation and Use of Estimates&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally
accepted in the United States of America (&#x201c;US GAAP&#x201d;) and pursuant to the accounting and disclosure rules and regulations
of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) for interim reporting purposes. The results reported in these unaudited
condensed consolidated financial statements are not necessarily indicative of results that may be expected for the entire year. These
unaudited condensed consolidated financial statements should be read in conjunction with the information contained in the Company&#x2019;s
Annual Report on Form 10-K for the year ended December 31, 2024. The year-end condensed balance sheet data was derived from the audited
financial statements in the Annual Report on Form 10-K but does not include all disclosures required by US GAAP.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of these unaudited condensed consolidated financial statements requires the Company to make estimates and judgments that
affect the reported amounts of assets and liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities
at the date of the Company&#x2019;s financial statements. Actual results may differ from these estimates under different assumptions and
conditions. Estimates utilized in the preparation of these unaudited condensed consolidated financial statements relate to the collectability
of account receivables, the valuation of inventories, estimated earnings on uncompleted contracts, useful lives and potential impairment
of long-lived assets. Changes in estimates are reflected in the periods during which they become known. Actual amounts may differ from
these estimates and could differ materially. These financial statements reflect all adjustments that in the opinion of management are
necessary for a fair statement of the financial position, results of operations and cash flows for the period presented, and are of a
normal, recurring nature.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has one operating segment, Architectural Glass and Windows, which is also its reporting segment. The segment comprises the design,
manufacturing, distribution, marketing and installation of high-specification architectural glass and window products sold to residential
and commercial markets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
chief operating decision maker (&#x201c;CODM&#x201d;) assesses performance and decides how to allocate resources based on gross profit
and net income that also is reported on the income statement as consolidated net income, cash flows from operations which are reported
on the consolidated statement of cash flows, along with certain non-G.A.A.P metrics. Significant segment expenses include cost of sales,
selling expense, and general and administrative expenses. Other segment items included in consolidated net income are interest expense,
other expense, net and the provision for income taxes, which are reflected in the consolidated statements of comprehensive income. These
metrics are used to monitor budgeted versus actual results, and competitive analysis by benchmarking to the Company&#x2019;s competitors.
The Company&#x2019;s CODM are Company&#x2019;s Chief Executive Officer and Chief Operating Officer acting together as a group.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company performs intra-entity sales and transfers within its single segment comprised of several vertically integrated processes including
its main manufacturing operations in Colombia and distribution and installation in the United States. The Company considers its operations
to be a single reporting segment because it only produces architectural glass and window systems to serve similar markets in a vertically
integrated platform.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000776">&lt;p id="xdx_84B_eus-gaap--ConsolidationPolicyTextBlock_zdWvJAKXdlg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_865_zIBQPs4XUQk9"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
unaudited consolidated financial statements consolidate Tecnoglass, its subsidiaries Tecnoglass S.A.S (&#x201c;TG&#x201d;), C.I. Energ&#xed;a
Solar S.A.S E.S. Windows (&#x201c;ES&#x201d;), ES Windows LLC (&#x201c;ESW LLC&#x201d;), Tecnoglass LLC, Tecno RE LLC, GM&amp;amp;P Consulting
and Glazing Contractors (&#x201c;GM&amp;amp;P&#x201d;), Componenti USA LLC, ES Metals SAS (&#x201c;ES Metals&#x201d;), Ventanas Solar S.A (&#x201c;VS&#x201d;),
which are entities wholly owned by Tecnoglass. To determine if we hold a controlling financial interest in an entity, we first evaluate
if we are required to apply the variable interest entity (&#x201c;VIE&#x201d;) model to the entity, otherwise the entity is evaluated under
the voting interest model. All significant intercompany accounts and transactions are eliminated in consolidation, including unrealized
intercompany profits and losses. The equity method of accounting is used for investments in affiliates and other joint ventures over
which the Company has significant influence but does not have effective control.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:DerivativesPolicyTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000778">&lt;p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zLc5dECQ57X" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_zbgfqcdleg83"&gt;Derivative
Financial Instruments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes all derivative financial instruments as either assets or liabilities at fair value on the condensed consolidated balance
sheet. The unrealized gains or losses arising from changes in fair value of derivative instruments that are designated and qualify as
cash flow hedges, are recorded in the condensed consolidated statement of comprehensive income. Amounts in accumulated other comprehensive
loss on the condensed consolidated balance sheet are reclassified into the condensed consolidated statement of income in the same period
or periods during which the hedged transactions are settled.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000780">&lt;p id="xdx_843_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_ztnfoLhO8eMf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zeHQaoB60cE6"&gt;Recently
Issued Accounting Pronouncements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2024, the FASB issued ASU 2024-03, &#x201c;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures (Subtopic
220-40)&#x201d;. The Board is issuing this Update to improve the disclosures about a public business entity&#x2019;s expenses and address
requests from investors for more detailed information about the types of expenses (including purchases of inventory, employee compensation,
depreciation, amortization, and depletion) in commonly presented expense captions (such as cost of sales, SG&amp;amp;A, and research and
development). The amendments in this Update are effective for annual reporting periods beginning after December 15, 2026, and interim
reporting periods beginning after December 15, 2027. Early adoption is permitted. The Company is currently evaluating the potential effect
of this ASU on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The Board
is issuing the amendments in this Update to enhance the transparency and decision usefulness of income tax disclosures. Investors, lenders,
creditors, and other allocators of capital (collectively, &#x201c;investors&#x201d;) indicated that the existing income tax disclosures
should be enhanced to provide information to better assess how an entity&#x2019;s operations and related tax risks and tax planning and
operational opportunities affect its tax rate and prospects for future cash flows. Investors currently rely on the rate reconciliation
table and other disclosures, including total income taxes paid, to evaluate income tax risks and opportunities. While investors find
these disclosures helpful, they suggested possible enhancements to better (1) understand an entity&#x2019;s exposure to potential changes
in jurisdictional tax legislation and the ensuing risks and opportunities, (2) assess income tax information that affects cash flow forecasts
and capital allocation decisions, and (3) identify potential opportunities to increase future cash flows. The amendments in this Update
address investor requests for more transparency about income tax information through improvements to income tax disclosures primarily
related to the rate reconciliation and income taxes paid information. This Update also includes certain other amendments to improve the
effectiveness of income tax disclosures. Specifically, the amendments require annual disclosure of: (i) a detailed rate reconciliation
table that includes specific categories with separate disclosure of items that are equal to or greater than 5% of the statutory tax applied
to pretax income; (ii) income taxes paid (net of refunds received), disaggregated by federal, state, and foreign amounts; and (iii) income
taxes paid (net) further disaggregated by individual jurisdiction when such amounts are equal to or greater than 5% of total income taxes
paid. Additionally, the Company must disclose pretax income (or loss) from continuing operations and income tax expense (or benefit)
from continuing operations, each disaggregated between domestic and foreign. The amendments in this Update are effective for annual periods
beginning after December 15, 2024, with early adoption permitted, and should be applied on a prospective basis and retrospective application
is permitted.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000782">&lt;p id="xdx_805_eus-gaap--BusinessCombinationDisclosureTextBlock_zXctuaCpZ9H" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
3. &lt;span id="xdx_82F_zOAFuvVmVCXc"&gt;Acquisitions&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Contiglass
Asset Acquisition, LLC&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
April 3, 2025, Tecnoglass acquired certain assets and assumed liabilities of Florida-based Continental Glass Systems, LLC., a premier
provider of innovative architectural glass and glazing solutions in the Southeast U.S., to create wholly owned Contiglass Asset Acquisition,
LLC (&#x201c;Contiglass). This acquisition included a manufacturing plant, various intangibles, and a substantial project backlog in both
execution and pipeline phases. This transaction is considered a business combination under U.S. GAAP. Continental&#x2019;s production
capabilities, high-quality product portfolio, and reputation for excellence strengthens Tecnoglass&#x2019; U.S. market presence, broadens
its client reach, and creates synergies that reinforce Tecnoglass&#x2019; leadership position in the architectural glass industry. Additionally,
the Company anticipates operational benefits as it integrates Continental&#x2019;s supply chains into its existing manufacturing operations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
purchase price for the acquisition was $&lt;span id="xdx_90C_eus-gaap--BusinessCombinationPriceOfAcquisitionExpected_pn3n3_c20250401__20250430__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zp2q1yOm5gp7"&gt;10,429&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
of which $&lt;span id="xdx_90A_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zFmMJTsUqjri"&gt;6,588&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;of
the purchase price was paid in cash by the Company on April 3, 2025, post-acquisition working capital adjustment of $&lt;span id="xdx_904_ecustom--WorkingCapitalAdjustment_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zfxzLZwjGlLi"&gt;253&lt;/span&gt;&lt;/span&gt; &lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;was
paid 45 days after transaction closing date, with the remaining amount to be payable by the Company in cash within 365 days after
closing date. The total amount of acquisition-related costs was $&lt;span id="xdx_902_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250630_z2l1psS1NfC"&gt;588&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
which are included within general and administrative expenses in the Statement of operations for the period ending June 30,
2025.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
total consideration transferred is $&lt;span id="xdx_902_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zUKpR4dRsGG4" title="Total consideration transferred"&gt;10,429&lt;/span&gt;. Under ASC 805, a company can apply measurement period adjustments during the
twelve-month period after the date of acquisition. During this period, the acquirer may adjust preliminary amounts recognized at the
acquisition date to their subsequently determined final fair values. The allocation of the consideration transferred was based on management&#x2019;s
judgment after evaluation of several factors, including a preliminary valuation assessment. Finalization of the analysis has not been
completed and could result in measurement periods adjustments that could change the composition of current assets, fixed assets, intangible
assets, goodwill, and liabilities. Goodwill is not expected to be deductible for tax purposes.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zQvblDMZ5js5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the purchase price allocation of the total consideration transferred:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zW7xFR80ON23" style="display: none"&gt;Schedule
of Purchase Price Allocation Consideration Transferred&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&lt;span style="text-decoration: underline"&gt;Consideration Transferred:&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20250630_zLnsxgAWiGe6" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Total purchase price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zDA4t2YJ8oT8" style="width: 16%; text-align: right" title="Total purchase price"&gt;10,429&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_maBCRIAzx6E_zpLM52YPsks7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cash and equivalents&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0794"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_maBCRIAzx6E_zXS1MugMdv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accounts Receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,814&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_maBCRIAzx6E_zoOU9iDPRN94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Other Current Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;585&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_maBCRIAzx6E_zLa6VCJC5yB2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant, and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_maBCRIAzx6E_zHsADtJNKNPl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Trade Name&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_maBCRIAzx6E_zanLF1TWNi3h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Contract Backlog&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;670&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_maBCRIAzx6E_zF5RLL0OkLlg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Notice of Acceptance and FBC permits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_maBCRIAzx6E_zR4qbVSqOHM6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,192&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_iI_pn3n3_msBCRIAzx6E_zWye5XMxo8L1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Account payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,890&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_msBCRIAzx6E_zhm4JGZZrSJh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(81&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_msBCRIAzx6E_zXlCamXKz8we" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Service revenue deposit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(518&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_msBCRIAzx6E_zbVbEcyUX1Wc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,229&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_msBCRIAzx6E_zmbQouW0Idii" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Billings in excess of cost and profit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,987&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_mtBCRIAzx6E_zZu3tG4jVkie" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total identifiable net assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,812&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_pn3n3_z4um2rxzjyFc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;6,617&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



&lt;p id="xdx_8AA_zy6E4VPl2f56" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
excess of the consideration transferred over the estimated fair values of assets acquired and liabilities assumed was recorded as
goodwill. The identifiable intangible asset subject to amortization was the tradename, backlog of projects, and certain Notice of
Acceptance and Florida Building Code permits, which have a remaining useful life of &lt;span style="display: none"&gt;&lt;span id="xdx_90F_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20250630__srt--RangeAxis__srt--MinimumMember_zAJGsM52VLOf" title="Remaining useful life"&gt;2&lt;/span&gt;&lt;/span&gt; two to &lt;span id="xdx_907_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dc_c20250630__srt--RangeAxis__srt--MaximumMember_zga7O4nlOOR8" title="Remaining useful life"&gt;five years&lt;/span&gt;. See Note 7 &#x2013; Goodwill
and Intangible Assets for additional information.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The acquired business contributed revenues of $&lt;span id="xdx_90E_eus-gaap--Revenues_c20250404__20250630_zIcE19LQ8M0b" title="Revenues"&gt;5,296&lt;/span&gt; and a net loss of $&lt;span id="xdx_90B_eus-gaap--ProfitLoss_c20250404__20250630_zznGaIvnoHkg" title="Net loss"&gt;962&lt;/span&gt; to the Company for the period from April
4, 2025 to June 30, 2025. The
following unaudited pro forma financial information assumes the business acquisition had occurred at the beginning of the earliest period
presented. Pro forma results have been prepared by adjusting our historical results to include the results from Continental Glass Systems&#x2019;
acquired assets and assumed liabilities to reflect the amortization expense related to the intangible assets arising from the acquisition.
The unaudited pro forma results below do not necessarily reflect the results of operations that would have resulted if the acquisition
had been completed at the beginning of the earliest periods presented, nor does it indicate the results of operations in future periods.
The unaudited pro forma results do not include the impact of synergies, nor any potential impacts on current or future market conditions
which could alter the following unaudited pro forma results.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--BusinessAcquisitionProFormaInformationTextBlock_zRCC8BMbrgr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zP1Xww20lzha" style="display: none"&gt;Schedule
of Unaudited Pro Forma Financial Information&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20250401__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zOCJvB7svKPd" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Pro-Forma&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240401__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zBX6FPw5qXj9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250101__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zW5VF6mn9CF8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zqWNKQ2QlvK9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Three Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Three Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Six Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Six Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font-style: italic"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June
30,&lt;br/&gt;
 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Pro Forma Results&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--BusinessAcquisitionsProFormaRevenue_pn3n3_zg9XrOXSv92d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 38%; text-align: left; padding-bottom: 2.5pt"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"&gt;255,692&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"&gt;228,409&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"&gt;482,220&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"&gt;429,125&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessAcquisitionsProFormaNetIncomeLoss_pn3n3_zHlull7IrMzh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net income&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;44,108&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,156&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;83,548&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;63,022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zaTzqA3gu6th" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationPriceOfAcquisitionExpected
      contextRef="From2025-04-012025-04-30_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000783"
      unitRef="USD">10429000</us-gaap:BusinessCombinationPriceOfAcquisitionExpected>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000784"
      unitRef="USD">6588000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <TGLS:WorkingCapitalAdjustment
      contextRef="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000785"
      unitRef="USD">253000</TGLS:WorkingCapitalAdjustment>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000786"
      unitRef="USD">588000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000788"
      unitRef="USD">10429000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000790">&lt;p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zQvblDMZ5js5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the purchase price allocation of the total consideration transferred:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zW7xFR80ON23" style="display: none"&gt;Schedule
of Purchase Price Allocation Consideration Transferred&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&lt;span style="text-decoration: underline"&gt;Consideration Transferred:&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20250630_zLnsxgAWiGe6" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Total purchase price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20250101__20250630_zDA4t2YJ8oT8" style="width: 16%; text-align: right" title="Total purchase price"&gt;10,429&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_maBCRIAzx6E_zpLM52YPsks7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cash and equivalents&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0794"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_maBCRIAzx6E_zXS1MugMdv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accounts Receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,814&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_maBCRIAzx6E_zoOU9iDPRN94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Other Current Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;585&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_maBCRIAzx6E_zLa6VCJC5yB2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant, and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_maBCRIAzx6E_zHsADtJNKNPl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Trade Name&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_maBCRIAzx6E_zanLF1TWNi3h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Contract Backlog&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;670&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_maBCRIAzx6E_zF5RLL0OkLlg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Notice of Acceptance and FBC permits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_maBCRIAzx6E_zR4qbVSqOHM6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,192&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables_iI_pn3n3_msBCRIAzx6E_zWye5XMxo8L1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Account payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,890&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_msBCRIAzx6E_zhm4JGZZrSJh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(81&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_msBCRIAzx6E_zXlCamXKz8we" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Service revenue deposit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(518&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_msBCRIAzx6E_zbVbEcyUX1Wc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,229&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_msBCRIAzx6E_zmbQouW0Idii" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Billings in excess of cost and profit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,987&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_mtBCRIAzx6E_zZu3tG4jVkie" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total identifiable net assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,812&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_pn3n3_z4um2rxzjyFc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;6,617&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000792"
      unitRef="USD">10429000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000796"
      unitRef="USD">4814000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000798"
      unitRef="USD">585000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000800"
      unitRef="USD">826000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000802"
      unitRef="USD">170000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000804"
      unitRef="USD">670000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000806"
      unitRef="USD">6260000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000808"
      unitRef="USD">1192000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000810"
      unitRef="USD">-2890000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayables>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000812"
      unitRef="USD">-81000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000814"
      unitRef="USD">-518000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000816"
      unitRef="USD">-1229000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000818"
      unitRef="USD">-5987000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000820"
      unitRef="USD">3812000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000822"
      unitRef="USD">6617000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2025-06-30_srt_MinimumMember"
      id="Fact000824">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2025-06-30_srt_MaximumMember"
      id="Fact000826">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:Revenues
      contextRef="From2025-04-042025-06-30"
      decimals="0"
      id="Fact000828"
      unitRef="USD">5296</us-gaap:Revenues>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-042025-06-30"
      decimals="0"
      id="Fact000830"
      unitRef="USD">962</us-gaap:ProfitLoss>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000832">&lt;p id="xdx_898_eus-gaap--BusinessAcquisitionProFormaInformationTextBlock_zRCC8BMbrgr5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zP1Xww20lzha" style="display: none"&gt;Schedule
of Unaudited Pro Forma Financial Information&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20250401__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zOCJvB7svKPd" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;b&gt;Pro-Forma&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240401__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zBX6FPw5qXj9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250101__20250630__srt--StatementScenarioAxis__srt--ProFormaMember_zW5VF6mn9CF8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20240630__srt--StatementScenarioAxis__srt--ProFormaMember_zqWNKQ2QlvK9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Pro-Forma&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Three Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Three Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Six Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Six Months&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font-style: italic"&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June 30,&lt;br/&gt;
 2025&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;June
30,&lt;br/&gt;
 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Pro Forma Results&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--BusinessAcquisitionsProFormaRevenue_pn3n3_zg9XrOXSv92d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 38%; text-align: left; padding-bottom: 2.5pt"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"&gt;255,692&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 13%; text-align: right"&gt;228,409&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"&gt;482,220&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 10%; text-align: right"&gt;429,125&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessAcquisitionsProFormaNetIncomeLoss_pn3n3_zHlull7IrMzh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net income&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;44,108&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;34,156&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;83,548&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;63,022&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="From2025-04-012025-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000834"
      unitRef="USD">255692000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="From2024-04-012024-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000835"
      unitRef="USD">228409000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="From2025-01-012025-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000836"
      unitRef="USD">482220000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="From2024-01-012024-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000837"
      unitRef="USD">429125000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="From2025-04-012025-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000839"
      unitRef="USD">44108000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="From2024-04-012024-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000840"
      unitRef="USD">34156000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="From2025-01-012025-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000841"
      unitRef="USD">83548000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="From2024-01-012024-06-30_srt_ProFormaMember"
      decimals="-3"
      id="Fact000842"
      unitRef="USD">63022000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000844">&lt;p id="xdx_805_eus-gaap--InventoryDisclosureTextBlock_zOhewSW5zDWd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
4. - &lt;span id="xdx_822_zlCYqE6LyY22"&gt;Inventories, net&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z4ERmRRmT6v1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zni7nrhgTEXd" style="display: none"&gt;Schedule of Inventories&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20250630_zlJ2vhLwCNhg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20241231_zxHNQ8BPzIO8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zYXJQC35NErc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Raw materials&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;128,670&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;98,336&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryWorkInProcess_iI_pn3n3_maIGzzds_zjAeVHbFrFOc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Work in process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,284&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,891&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--InventoryFinishedGoods_iI_pn3n3_maIGzzds_z0Fz3XcxHiM4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Finished goods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,629&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,248&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OtherInventoriesSpareParts_iI_pn3n3_maIGzzds_zqXh8mTUGeJi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Spares and accessories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;25,607&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;22,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--InventoryPackingMaterialGross_iI_pn3n3_maIGzzds_zpfxlwNnwYog" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Packing material&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,666&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,220&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--InventoryGross_iTI_pn3n3_mtIGzzds_maINzh7N_zHIae4JqKLH4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total Inventories, gross&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;176,856&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;139,910&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iNI_pn3n3_di_msINzh7N_zMb04VQ34VH4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Inventory allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(335&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(268&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InventoryNet_iTI_pn3n3_mtINzh7N_zjzKyXEWiqNl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total inventories, net&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;176,521&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;139,642&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zFREr02HGt7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000846">&lt;p id="xdx_89B_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z4ERmRRmT6v1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zni7nrhgTEXd" style="display: none"&gt;Schedule of Inventories&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20250630_zlJ2vhLwCNhg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20241231_zxHNQ8BPzIO8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zYXJQC35NErc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Raw materials&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;128,670&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;98,336&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryWorkInProcess_iI_pn3n3_maIGzzds_zjAeVHbFrFOc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Work in process&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,284&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,891&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--InventoryFinishedGoods_iI_pn3n3_maIGzzds_z0Fz3XcxHiM4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Finished goods&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,629&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,248&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--OtherInventoriesSpareParts_iI_pn3n3_maIGzzds_zqXh8mTUGeJi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Spares and accessories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;25,607&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;22,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--InventoryPackingMaterialGross_iI_pn3n3_maIGzzds_zpfxlwNnwYog" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Packing material&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,666&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,220&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--InventoryGross_iTI_pn3n3_mtIGzzds_maINzh7N_zHIae4JqKLH4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total Inventories, gross&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;176,856&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;139,910&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iNI_pn3n3_di_msINzh7N_zMb04VQ34VH4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Inventory allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(335&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(268&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InventoryNet_iTI_pn3n3_mtINzh7N_zjzKyXEWiqNl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total inventories, net&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;176,521&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;139,642&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000848"
      unitRef="USD">128670000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000849"
      unitRef="USD">98336000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000851"
      unitRef="USD">18284000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000852"
      unitRef="USD">16891000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000854"
      unitRef="USD">2629000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000855"
      unitRef="USD">1248000</us-gaap:InventoryFinishedGoods>
    <us-gaap:OtherInventoriesSpareParts
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000857"
      unitRef="USD">25607000</us-gaap:OtherInventoriesSpareParts>
    <us-gaap:OtherInventoriesSpareParts
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000858"
      unitRef="USD">22215000</us-gaap:OtherInventoriesSpareParts>
    <TGLS:InventoryPackingMaterialGross
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000860"
      unitRef="USD">1666000</TGLS:InventoryPackingMaterialGross>
    <TGLS:InventoryPackingMaterialGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000861"
      unitRef="USD">1220000</TGLS:InventoryPackingMaterialGross>
    <us-gaap:InventoryGross
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000863"
      unitRef="USD">176856000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000864"
      unitRef="USD">139910000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000866"
      unitRef="USD">335000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000867"
      unitRef="USD">268000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000869"
      unitRef="USD">176521000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000870"
      unitRef="USD">139642000</us-gaap:InventoryNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000872">&lt;p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zBA3VCpWKQ5c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
5. &#x2013; &lt;span id="xdx_82A_zchaCB6yMfu3"&gt;Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Disaggregation
of Total Net Sales&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zyrb1AEFypK9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors
affect the nature, amount, timing and uncertainty of the Company&#x2019;s revenue and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zEzE6TV4o3o9" style="display: none"&gt;Schedule
of Disaggregation by Revenue&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20250401__20250630_zHmcyRQec4fc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240401__20240630_zFCFcVifeaqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250101__20250630_zzUrx5PqsH07" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240101__20240630_ztGzFhQbuLti" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Three months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_zwqN0WVbWcfh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Fixed price contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;61,228&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;31,422&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;114,202&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;64,054&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zLIid8wSwCIc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Product sales&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;194,318&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;188,232&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;363,632&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;348,227&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zF3mp1ahpHwb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8AC_zUCr7QDsVyj3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_zL4cs4M5Hyh5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents revenues broken down by geographical location:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zr5qdreW2tNl" style="display: none"&gt;Schedule of Geographic Information&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250401__20250630_zpR4f00nN6o8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240401__20240630_zMmaLkjOj0yl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20250101__20250630_zLD1zbyFsL57" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240101__20240630_zOHGcn4u0hI" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended &lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended &lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_zb0hkZbzwmv" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Colombia&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;6,621&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;5,830&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;13,035&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;11,069&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_z9A50Aag6Vl7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;242,347&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;209,698&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;454,801&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;393,701&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--PA_zo8grYtOghCa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Panama&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;54&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;434&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;509&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;528&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_ze3lggE61pWj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,524&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,692&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,489&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,983&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zS9Wdy3b4Yha" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_zrHRnu8Ortpj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zNHD1rDz72F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents revenues broken down by market:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zhHlgqGz7mYg" style="display: none"&gt;Schedule
of Revenues Distribution By End Market&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20250401__20250630_zBqQR36grob" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240401__20240630_zULhTsNYkIO3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250101__20250630_zmYjZth4TlYa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20240630_zZPshmDQj2X1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Three months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_zRZrs4eUOrQj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Residential&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;109,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;95,749&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;198,527&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;168,903&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zCsGFvsvJ2qj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;145,948&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;123,905&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;279,307&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;243,378&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zgL8lm0U35Rj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zHExG957vS6d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Trade
Accounts Receivable&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we extend credit to customers on a generally non-collateralized basis. The Company maintains an allowance
for expected credit losses which is based on management&#x2019;s assessments of the amount which may become uncollectible in the future
and is determined through consideration of our write-off history, specific identification of uncollectible accounts based in part on
the customer&#x2019;s past due balance (based on contractual terms), and consideration of prevailing economic and industry conditions.
Uncollectible accounts are written off after repeated attempts to collect from the customer have been unsuccessful.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zWxH3UeWBvI9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable consists of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zenLAJkB3Ytg" style="display: none"&gt;Schedule of Trade Accounts Receivable&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250630_zT2WlstFcB6h" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20241231_zWtnbvBgRWNf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AccountsReceivableGross_iI_pn3n3_maARNCzixK_zgy5KiWSXhql" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 1pt"&gt;Trade accounts receivable&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;230,327&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;205,730&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzixK_zjvFkJ63bU9k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Allowance for credit losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,738&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,815&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--AccountsReceivableNetCurrent_iTI_pn3n3_mtARNCzixK_zUor2N4ReAHe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;227,589&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;202,915&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zceKroMeGHkd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_z0jY2dyidyee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes in the allowance for credit losses for the six months ended June 30, 2025, are:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_z9jNQswrd3Og" style="display: none"&gt;Schedule of Changes in Allowance for Doubtful Accounts Receivable&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20250101__20250630_zPURWQB6lEb9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months&lt;br/&gt; ended&lt;br/&gt; June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iS_pn3n3_zYPjfVtrYSkd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance at beginning of period&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,815&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_pn3n3_zEKrw7CSDr7b" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Provisions for credit losses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;987&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--AllowanceForDoubtfulAccountsReceivableWriteOffs_iN_pn3n3_di_zDOi4wLPdPQ6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deductions and write-offs, net of foreign currency adjustment&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,064&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_z6b3Fa5sjvcl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance at end of period&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;2,738&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A4_zDvXoM9ryYUh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Contract
Assets and Liabilities&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract
assets represent accumulated incurred costs and earned profits on contracts with customers that have been recorded as sales but have
not been billed to customers and are classified as current. In addition, a portion of the amounts billed on certain fixed price contracts
that are withheld by the customer as a retainage until a final good receipt of the complete project to the customers satisfaction. Contract
liabilities consist of advance payments and billings in excess of costs incurred and deferred revenue, and represent amounts received
in excess of sales recognized on contracts. The Company classifies advance payments and billings in excess of costs incurred as current,
and deferred revenue as current or non-current based on the expected timing of sales recognition. Contract assets and contract liabilities
are determined on a contract-by-contract basis at the end of each reporting period. The non-current portion of contract liabilities is
included in long-term liabilities in the Company&#x2019;s condensed consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zAKE7yj7Ollg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below presents the components of net contract assets (liabilities):&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_z4VKU0aVsWgk" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20250630_za3Fyptdc7Z1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20241231_zCWSLztV0ABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zwFHMoWfQzSh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Contract assets &#x2014; current&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;30,768&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;22,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_maNCLAzcHD_zwa5htMaM0M" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Contract assets &#x2014; non-current&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,405&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,208&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerLiabilityCurrent_iNI_pn3n3_di_msNCLAzcHD_zpiuFaFcgks2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Contract liabilities &#x2014; current&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(128,306&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(97,979&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iNI_pn3n3_di_msNCLAzcHD_zSvEjWLkc41j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Contract liabilities &#x2014; non-current&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(140&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0968"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_z0NPxFpVNsok" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net contract liability&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;(85,273&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;(59,851&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zOaVRsrH2kki" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zrU8jB4RxhCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of contract assets are presented in the table below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zKNkmT3MLlp6" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250630_zasUp5msLqX4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20241231_zAS5iVLOJSBh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_z7bbkKsBrm2b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Unbilled contract receivables, gross&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;5,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,584&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--ConstructionContractorReceivableRetainage_iI_pn3n3_maCWCAGz5IH_zQ8hmnEvMr05" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Retainage&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,366&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,544&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetGrossCurrent_iTI_pn3n3_mtCWCAGz5IH_zQMOWXkv0yw9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total contract assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,173&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,128&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_zuUbFt0ViH0f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,768&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;22,920&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_zDyQLihHINHf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract Assets &#x2013; non-current&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;12,405&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;15,208&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zJkPqFb7426k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zEoOET2l1V4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of contract liabilities are presented in the table below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_zqzycaZtR1Ti" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20250630_zJ2gL7JlWi3j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20241231_zvXxWjDYX7O3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--BillingsInExcessOfCosts_iI_pn3n3_maCWCLzMYb_zPi9aNt6wu58" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Billings in excess of costs&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;81,324&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;58,708&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_maCWCLzMYb_zo9xJbHlQozj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Advances from customers on uncompleted contracts&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,122&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,271&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--ContractWithCustomerLiability_iTI_pn3n3_mtCWCLzMYb_zJAvqu8dnSS4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total contract liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;128,446&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;97,979&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pn3n3_zryvS1oFfwu2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;128,306&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;97,979&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iI_pn3n3_z3eJuByT13Z1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract liabilities &#x2013; non-current&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;140&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1005"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zYtbAiQwFIH" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three and six months ended June 30, 2025, the Company recognized $&lt;span id="xdx_907_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250401__20250630_z6RUQEgYwnEg" title="Sales related to contract liabilities"&gt;10,314&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250101__20250630_zwayhz405kji" title="Sales related to contract liabilities"&gt;16,858&lt;/span&gt; of sales related to its contract liabilities
on January 1, 2025, respectively. During the three and six months ended June 30, 2024, the Company recognized $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240401__20240630_zsQwHTAapQnc" title="Sales related to contract liabilities"&gt;3,613&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20240101__20240630_zVovSerWhVta" title="Sales related to contract liabilities"&gt;10,344 &lt;/span&gt;of sales
related to its contract liabilities on January 1, 2024, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Remaining
Performance Obligations&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2025, the Company had $&lt;span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20250630_z44zr8g3GUFb" title="Remaining performance obligation"&gt;820.0&lt;/span&gt; million of remaining performance obligations, which represents the transaction price of firm
orders minus sales recognized from inception to date. Remaining performance obligations exclude unexercised contract options, verbal
commitments, Letters of Intent or written mandates, and potential orders under basic ordering agreements. The Company expects to recognize
&lt;span id="xdx_907_eus-gaap--RevenueRemainingPerformanceObligationPercentage_iI_pid_dp_uPure_c20250630_zqF5kbFjVtH9" title="Performance obligation, percentage"&gt;100&lt;/span&gt;% of sales relating to existing performance obligations within three years, of which $&lt;span id="xdx_902_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20251231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zLNKFgNQm1y3" title="Remaining performance obligation"&gt;285.3&lt;/span&gt; million are expected to be recognized during
the year ending December 31, 2025, $&lt;span id="xdx_90E_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20261231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zFf03wP21tu5" title="Remaining performance obligation"&gt;326.4&lt;/span&gt; million during the year ending December 31, 2026, and $&lt;span id="xdx_90F_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20271231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zBqFExbrwBti" title="Remaining performance obligation"&gt;208.3&lt;/span&gt; million during the year ending December
31, 2027.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000874">&lt;p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zyrb1AEFypK9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors
affect the nature, amount, timing and uncertainty of the Company&#x2019;s revenue and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zEzE6TV4o3o9" style="display: none"&gt;Schedule
of Disaggregation by Revenue&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20250401__20250630_zHmcyRQec4fc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240401__20240630_zFCFcVifeaqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250101__20250630_zzUrx5PqsH07" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240101__20240630_ztGzFhQbuLti" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Three months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_zwqN0WVbWcfh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Fixed price contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;61,228&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;31,422&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;114,202&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;64,054&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zLIid8wSwCIc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Product sales&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;194,318&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;188,232&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;363,632&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;348,227&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zF3mp1ahpHwb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000876"
      unitRef="USD">61228000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000877"
      unitRef="USD">31422000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000878"
      unitRef="USD">114202000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000879"
      unitRef="USD">64054000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000881"
      unitRef="USD">194318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000882"
      unitRef="USD">188232000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000883"
      unitRef="USD">363632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000884"
      unitRef="USD">348227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000886"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000887"
      unitRef="USD">219654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000888"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000889"
      unitRef="USD">412281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000891">&lt;p id="xdx_890_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_zL4cs4M5Hyh5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents revenues broken down by geographical location:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zr5qdreW2tNl" style="display: none"&gt;Schedule of Geographic Information&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250401__20250630_zpR4f00nN6o8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240401__20240630_zMmaLkjOj0yl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20250101__20250630_zLD1zbyFsL57" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240101__20240630_zOHGcn4u0hI" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended &lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended &lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_zb0hkZbzwmv" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Colombia&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;6,621&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;5,830&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;13,035&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;11,069&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_z9A50Aag6Vl7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;242,347&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;209,698&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;454,801&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;393,701&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--PA_zo8grYtOghCa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Panama&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;54&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;434&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;509&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;528&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_ze3lggE61pWj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,524&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,692&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,489&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,983&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zS9Wdy3b4Yha" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact000893"
      unitRef="USD">6621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_country_CO"
      decimals="-3"
      id="Fact000894"
      unitRef="USD">5830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact000895"
      unitRef="USD">13035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_country_CO"
      decimals="-3"
      id="Fact000896"
      unitRef="USD">11069000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact000898"
      unitRef="USD">242347000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_country_US"
      decimals="-3"
      id="Fact000899"
      unitRef="USD">209698000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact000900"
      unitRef="USD">454801000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_country_US"
      decimals="-3"
      id="Fact000901"
      unitRef="USD">393701000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_country_PA"
      decimals="-3"
      id="Fact000903"
      unitRef="USD">54000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_country_PA"
      decimals="-3"
      id="Fact000904"
      unitRef="USD">434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_country_PA"
      decimals="-3"
      id="Fact000905"
      unitRef="USD">509000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_country_PA"
      decimals="-3"
      id="Fact000906"
      unitRef="USD">528000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000908"
      unitRef="USD">6524000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000909"
      unitRef="USD">3692000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000910"
      unitRef="USD">9489000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000911"
      unitRef="USD">6983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000913"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000914"
      unitRef="USD">219654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000915"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000916"
      unitRef="USD">412281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000918">&lt;p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zNHD1rDz72F1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents revenues broken down by market:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zhHlgqGz7mYg" style="display: none"&gt;Schedule
of Revenues Distribution By End Market&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20250401__20250630_zBqQR36grob" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240401__20240630_zULhTsNYkIO3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250101__20250630_zmYjZth4TlYa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20240630_zZPshmDQj2X1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Three months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_zRZrs4eUOrQj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Residential&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;109,598&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;95,749&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;198,527&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;168,903&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zCsGFvsvJ2qj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Commercial&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;145,948&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;123,905&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;279,307&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;243,378&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zgL8lm0U35Rj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total Revenues&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;255,546&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;219,654&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;477,834&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;412,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000920"
      unitRef="USD">109598000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000921"
      unitRef="USD">95749000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000922"
      unitRef="USD">198527000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000923"
      unitRef="USD">168903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000925"
      unitRef="USD">145948000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000926"
      unitRef="USD">123905000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000927"
      unitRef="USD">279307000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000928"
      unitRef="USD">243378000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000930"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact000931"
      unitRef="USD">219654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000932"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact000933"
      unitRef="USD">412281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000935">&lt;p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zWxH3UeWBvI9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable consists of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zenLAJkB3Ytg" style="display: none"&gt;Schedule of Trade Accounts Receivable&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250630_zT2WlstFcB6h" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20241231_zWtnbvBgRWNf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--AccountsReceivableGross_iI_pn3n3_maARNCzixK_zgy5KiWSXhql" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 1pt"&gt;Trade accounts receivable&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;230,327&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;205,730&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzixK_zjvFkJ63bU9k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Allowance for credit losses&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,738&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,815&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--AccountsReceivableNetCurrent_iTI_pn3n3_mtARNCzixK_zUor2N4ReAHe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;227,589&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;202,915&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000937"
      unitRef="USD">230327000</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000938"
      unitRef="USD">205730000</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000940"
      unitRef="USD">2738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000941"
      unitRef="USD">2815000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000943"
      unitRef="USD">227589000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000944"
      unitRef="USD">202915000</us-gaap:AccountsReceivableNetCurrent>
    <TGLS:ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000946">&lt;p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_z0jY2dyidyee" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes in the allowance for credit losses for the six months ended June 30, 2025, are:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_z9jNQswrd3Og" style="display: none"&gt;Schedule of Changes in Allowance for Doubtful Accounts Receivable&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20250101__20250630_zPURWQB6lEb9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months&lt;br/&gt; ended&lt;br/&gt; June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iS_pn3n3_zYPjfVtrYSkd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance at beginning of period&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,815&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ProvisionForDoubtfulAccounts_pn3n3_zEKrw7CSDr7b" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Provisions for credit losses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;987&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--AllowanceForDoubtfulAccountsReceivableWriteOffs_iN_pn3n3_di_zDOi4wLPdPQ6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deductions and write-offs, net of foreign currency adjustment&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,064&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_z6b3Fa5sjvcl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance at end of period&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;2,738&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</TGLS:ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000948"
      unitRef="USD">2815000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000950"
      unitRef="USD">987000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact000952"
      unitRef="USD">1064000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000954"
      unitRef="USD">2738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact000956">&lt;p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zAKE7yj7Ollg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below presents the components of net contract assets (liabilities):&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_z4VKU0aVsWgk" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20250630_za3Fyptdc7Z1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20241231_zCWSLztV0ABb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zwFHMoWfQzSh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Contract assets &#x2014; current&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;30,768&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;22,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_maNCLAzcHD_zwa5htMaM0M" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Contract assets &#x2014; non-current&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,405&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,208&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerLiabilityCurrent_iNI_pn3n3_di_msNCLAzcHD_zpiuFaFcgks2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Contract liabilities &#x2014; current&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(128,306&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(97,979&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iNI_pn3n3_di_msNCLAzcHD_zSvEjWLkc41j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Contract liabilities &#x2014; non-current&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(140&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0968"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_z0NPxFpVNsok" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net contract liability&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;(85,273&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;(59,851&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000958"
      unitRef="USD">30768000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000959"
      unitRef="USD">22920000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000961"
      unitRef="USD">12405000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000962"
      unitRef="USD">15208000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000964"
      unitRef="USD">128306000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000965"
      unitRef="USD">97979000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000967"
      unitRef="USD">140000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <TGLS:NetContractLiabilitiesAssets
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000970"
      unitRef="USD">-85273000</TGLS:NetContractLiabilitiesAssets>
    <TGLS:NetContractLiabilitiesAssets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000971"
      unitRef="USD">-59851000</TGLS:NetContractLiabilitiesAssets>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="From2025-01-012025-06-30_custom_ContractAssetsMember"
      id="Fact000973">&lt;p id="xdx_890_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zrU8jB4RxhCe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of contract assets are presented in the table below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zKNkmT3MLlp6" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250630_zasUp5msLqX4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20241231_zAS5iVLOJSBh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_z7bbkKsBrm2b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Unbilled contract receivables, gross&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;5,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,584&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--ConstructionContractorReceivableRetainage_iI_pn3n3_maCWCAGz5IH_zQ8hmnEvMr05" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Retainage&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,366&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,544&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetGrossCurrent_iTI_pn3n3_mtCWCAGz5IH_zQMOWXkv0yw9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total contract assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,173&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,128&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_zuUbFt0ViH0f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,768&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;22,920&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--ContractWithCustomerAssetNetNoncurrent_iI_pn3n3_zDyQLihHINHf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract Assets &#x2013; non-current&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;12,405&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;15,208&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000975"
      unitRef="USD">5807000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000976"
      unitRef="USD">6584000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000978"
      unitRef="USD">37366000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000979"
      unitRef="USD">31544000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000981"
      unitRef="USD">43173000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000982"
      unitRef="USD">38128000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000984"
      unitRef="USD">30768000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000985"
      unitRef="USD">22920000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000987"
      unitRef="USD">12405000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000988"
      unitRef="USD">15208000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="From2025-01-012025-06-30_custom_ContractLiabilitiesMember"
      id="Fact000990">&lt;p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zEoOET2l1V4g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of contract liabilities are presented in the table below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_zqzycaZtR1Ti" style="display: none"&gt;Schedule of Contract Assets and Liabilities&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20250630_zJ2gL7JlWi3j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20241231_zvXxWjDYX7O3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--BillingsInExcessOfCosts_iI_pn3n3_maCWCLzMYb_zPi9aNt6wu58" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Billings in excess of costs&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;81,324&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;58,708&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_maCWCLzMYb_zo9xJbHlQozj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Advances from customers on uncompleted contracts&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,122&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,271&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--ContractWithCustomerLiability_iTI_pn3n3_mtCWCLzMYb_zJAvqu8dnSS4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total contract liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;128,446&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;97,979&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pn3n3_zryvS1oFfwu2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;128,306&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;97,979&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--ContractWithCustomerLiabilityNoncurrent_iI_pn3n3_z3eJuByT13Z1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Contract liabilities &#x2013; non-current&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;140&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1005"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <TGLS:BillingsInExcessOfCosts
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000992"
      unitRef="USD">81324000</TGLS:BillingsInExcessOfCosts>
    <TGLS:BillingsInExcessOfCosts
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000993"
      unitRef="USD">58708000</TGLS:BillingsInExcessOfCosts>
    <us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000995"
      unitRef="USD">47122000</us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms>
    <us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000996"
      unitRef="USD">39271000</us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000998"
      unitRef="USD">128446000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000999"
      unitRef="USD">97979000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001001"
      unitRef="USD">128306000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001002"
      unitRef="USD">97979000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001004"
      unitRef="USD">140000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001007"
      unitRef="USD">10314000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001009"
      unitRef="USD">16858000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001011"
      unitRef="USD">3613000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001013"
      unitRef="USD">10344000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2025-06-30"
      decimals="-5"
      id="Fact001015"
      unitRef="USD">820000000.0</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact001017"
      unitRef="Pure">1</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2025-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001019"
      unitRef="USD">285300000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2026-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001021"
      unitRef="USD">326400000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2027-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001023"
      unitRef="USD">208300000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001025">&lt;p id="xdx_80C_eus-gaap--IntangibleAssetsDisclosureTextBlock_z1VdNT5EKjSk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
6. &lt;span id="xdx_82F_zU2PIZlNQEs6"&gt;Intangible Assets and Goodwill&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Intangible
Assets&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets include Miami-Dade County Notices of Acceptances (NOA&#x2019;s), which are certificates issued for approved products and required
to market hurricane-resistant glass in Florida. Intangibles assets also include the intangibles acquired during the acquisition of Continental
Glass Systems LLC.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zbA9zaN3Kznc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_z90kaSqQmlIj" style="display: none"&gt;Schedule
of Finite-Lived Intangible Assets, Net&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Acc. Amort.&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; text-align: left; padding-left: 0pt"&gt;Trade Names&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zOrPLnW0K2x4" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;170&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z1sAm0PTlJ1j" style="width: 16%; text-align: right" title="Accumulated Amortization"&gt;(7&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zbEbUW1PeBi4" style="width: 16%; text-align: right" title="Intangible assets, net"&gt;163&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Software and licenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z15OthIXufg4" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;15,152&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z8fot14ubwj4" style="text-align: right" title="Accumulated Amortization"&gt;(9,172&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zGTneYqNmdIl" style="text-align: right" title="Intangible assets, net"&gt;5,980&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Notice of Acceptances (NOAs), product designs and other intellectual property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zilcTJ8nINgi" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_ziAccv8yDJU3" style="text-align: right" title="Accumulated Amortization"&gt;(261&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zVHpXh9rwb8f" style="text-align: right" title="Intangible assets, net"&gt;5,999&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 0pt"&gt;Contract Backlog&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ziG5xMIhidW3" style="border-bottom: Black 1pt solid; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;670&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zty4z9XXhlc6" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(37&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_znLolmdeega7" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;633&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630_zPQDRBr4cgpj" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;22,252&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630_zht6XScLPg3e" style="border-bottom: Black 2.5pt double; text-align: right" title="Accumulated Amortization"&gt;(9,477&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630_zjURkUTpPg6l" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;12,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Acc. Amort.&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; text-align: left"&gt;Notice of Acceptances (NOAs), product designs and other intellectual property&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIoOUgPZE6bb" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;14,263&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIxZ7N3XJXuh" style="width: 16%; text-align: right" title="Accumulated Amortization"&gt;(9,874&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_z5IXjo3B3PQk" style="width: 16%; text-align: right" title="Intangible assets, net"&gt;4,389&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zOSTbgmrMT16" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
weighted average amortization period is&lt;span id="xdx_90A_eus-gaap--AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_dtY_c20250101__20250630_zvSzwBJJCMqd" title="Weighted average amortization period"&gt; 2.02 &lt;/span&gt;years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three and six months ended June 30, 2025, the amortization expense amounted to $&lt;span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250401__20250630_zG1DVF3HBbv8" title="Amortization expense"&gt;645&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250101__20250630_zfNeOLzLcGgc" title="Amortization expense"&gt;950&lt;/span&gt;, respectively, and was included within
the general and administration expenses in our unaudited Condensed Consolidated Statement of Operations. Similarly, during the three
and six months ended June 30, 2024, the amortization expense amounted to $&lt;span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240401__20240630_zCVHBYyrH271" title="Amortization expense"&gt;342&lt;/span&gt; and $&lt;span id="xdx_903_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20240101__20240630_zq2ewviAOPsl" title="Amortization expense"&gt;684&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zdkFEEeobpX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
estimated aggregate amortization expense for each of the five succeeding years as of June 30, 2025, is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BF_zDUxkFHnknO9" style="display: none"&gt;Schedule
of Finite Lived Intangible Assets Future Amortization Expense&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Year ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20250630_zslxqOWgV8f5"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_pn3n3_maFLIANz7hA_zlDqKIsq4fEg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: center; padding-left: 0pt"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pn3n3_maFLIANz7hA_zfc9NifHbuEc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,095&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pn3n3_maFLIANz7hA_zyFjkLB7DUhh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,956&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pn3n3_maFLIANz7hA_zEUlfotqZnl6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,619&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pn3n3_maFLIANz7hA_zJKi7Ea7akpi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,341&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_iI_pn3n3_maFLIANz7hA_zyfFq4coBTPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt; padding-left: 0pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,046&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pn3n3_mtFLIANz7hA_zRfKfDpUocr" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;12,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_z0AUghTSM3Gc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Goodwill&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
table below provides a reconciliation of the beginning and ending balances of Goodwill recorded on the Company&#x2019;s balance sheet:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--BusinessCombinationSegmentAllocationTableTextBlock_z2us1GnCx1D4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zG4ZWr5tQD8f" style="display: none"&gt;Schedule
of Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20250101__20250630_z8sI8YZMe5yf" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--Goodwill_iS_pn3n3_zWCNZd4WkeOh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Beginning balance - December 31, 2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;23,561&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--GoodwillAcquiredDuringPeriod_pn3n3_zzg11H91tT0k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Continental Glass Acquisition&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,617&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--Goodwill_iE_pn3n3_zqtbkxEkp9w2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Ending balance &#x2013; June 30, 2025&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;30,178&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zmSMyTSA9ayg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001027">&lt;p id="xdx_89F_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zbA9zaN3Kznc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_z90kaSqQmlIj" style="display: none"&gt;Schedule
of Finite-Lived Intangible Assets, Net&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Acc. Amort.&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; text-align: left; padding-left: 0pt"&gt;Trade Names&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zOrPLnW0K2x4" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;170&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z1sAm0PTlJ1j" style="width: 16%; text-align: right" title="Accumulated Amortization"&gt;(7&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zbEbUW1PeBi4" style="width: 16%; text-align: right" title="Intangible assets, net"&gt;163&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Software and licenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z15OthIXufg4" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;15,152&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z8fot14ubwj4" style="text-align: right" title="Accumulated Amortization"&gt;(9,172&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zGTneYqNmdIl" style="text-align: right" title="Intangible assets, net"&gt;5,980&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Notice of Acceptances (NOAs), product designs and other intellectual property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zilcTJ8nINgi" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_ziAccv8yDJU3" style="text-align: right" title="Accumulated Amortization"&gt;(261&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zVHpXh9rwb8f" style="text-align: right" title="Intangible assets, net"&gt;5,999&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 0pt"&gt;Contract Backlog&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ziG5xMIhidW3" style="border-bottom: Black 1pt solid; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;670&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zty4z9XXhlc6" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(37&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_znLolmdeega7" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;633&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20250630_zPQDRBr4cgpj" style="border-bottom: Black 2.5pt double; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;22,252&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20250630_zht6XScLPg3e" style="border-bottom: Black 2.5pt double; text-align: right" title="Accumulated Amortization"&gt;(9,477&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20250630_zjURkUTpPg6l" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;12,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Gross&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Acc. Amort.&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; text-align: left"&gt;Notice of Acceptances (NOAs), product designs and other intellectual property&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIoOUgPZE6bb" style="width: 16%; text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;14,263&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zIxZ7N3XJXuh" style="width: 16%; text-align: right" title="Accumulated Amortization"&gt;(9,874&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20241231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_z5IXjo3B3PQk" style="width: 16%; text-align: right" title="Intangible assets, net"&gt;4,389&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001029"
      unitRef="USD">170000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001031"
      unitRef="USD">7000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001033"
      unitRef="USD">163000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001035"
      unitRef="USD">15152000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001037"
      unitRef="USD">9172000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001039"
      unitRef="USD">5980000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001041"
      unitRef="USD">6260000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001043"
      unitRef="USD">261000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001045"
      unitRef="USD">5999000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001047"
      unitRef="USD">670000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001049"
      unitRef="USD">37000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001051"
      unitRef="USD">633000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001053"
      unitRef="USD">22252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001055"
      unitRef="USD">9477000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001057"
      unitRef="USD">12775000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001059"
      unitRef="USD">14263000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001061"
      unitRef="USD">9874000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2024-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001063"
      unitRef="USD">4389000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="From2025-01-01to2025-06-30" id="Fact001065">P2Y7D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001067"
      unitRef="USD">645000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001069"
      unitRef="USD">950000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001071"
      unitRef="USD">342000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001073"
      unitRef="USD">684000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001075">&lt;p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zdkFEEeobpX9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
estimated aggregate amortization expense for each of the five succeeding years as of June 30, 2025, is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BF_zDUxkFHnknO9" style="display: none"&gt;Schedule
of Finite Lived Intangible Assets Future Amortization Expense&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Year ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20250630_zslxqOWgV8f5"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_pn3n3_maFLIANz7hA_zlDqKIsq4fEg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: center; padding-left: 0pt"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_pn3n3_maFLIANz7hA_zfc9NifHbuEc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,095&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pn3n3_maFLIANz7hA_zyFjkLB7DUhh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,956&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pn3n3_maFLIANz7hA_zEUlfotqZnl6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,619&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pn3n3_maFLIANz7hA_zJKi7Ea7akpi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-left: 0pt"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,341&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_iI_pn3n3_maFLIANz7hA_zyfFq4coBTPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt; padding-left: 0pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,046&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_pn3n3_mtFLIANz7hA_zRfKfDpUocr" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;12,775&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001077"
      unitRef="USD">1718000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001079"
      unitRef="USD">3095000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001081"
      unitRef="USD">2956000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001083"
      unitRef="USD">2619000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001085"
      unitRef="USD">1341000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <TGLS:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001087"
      unitRef="USD">1046000</TGLS:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001089"
      unitRef="USD">12775000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:BusinessCombinationSegmentAllocationTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001091">&lt;p id="xdx_89F_eus-gaap--BusinessCombinationSegmentAllocationTableTextBlock_z2us1GnCx1D4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B7_zG4ZWr5tQD8f" style="display: none"&gt;Schedule
of Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20250101__20250630_z8sI8YZMe5yf" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--Goodwill_iS_pn3n3_zWCNZd4WkeOh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Beginning balance - December 31, 2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;23,561&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--GoodwillAcquiredDuringPeriod_pn3n3_zzg11H91tT0k" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Continental Glass Acquisition&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,617&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--Goodwill_iE_pn3n3_zqtbkxEkp9w2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt"&gt;Ending balance &#x2013; June 30, 2025&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;30,178&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:BusinessCombinationSegmentAllocationTableTextBlock>
    <us-gaap:Goodwill
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001093"
      unitRef="USD">23561000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001095"
      unitRef="USD">6617000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001097"
      unitRef="USD">30178000</us-gaap:Goodwill>
    <us-gaap:SupplierFinanceProgramTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001099">&lt;p id="xdx_804_eus-gaap--SupplierFinanceProgramTextBlock_zoqv8ZY0kkk7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
7. &lt;span id="xdx_821_zBPPTPBcfdl1"&gt;Supplier Finance Program&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Tecnoglass,
Inc. has established payment terms to suppliers for the purchase of goods and services, which normally range between 30 and 60 days.
In the normal course of business, suppliers may require liquidity and manage, through third parties, the advanced payment of invoices.
The Company allows its suppliers the option to payments in advance of an invoice due date, through a third-party finance provider or
intermediary, with the purpose of allowing suppliers to obtain the required liquidity. For these purposes, suppliers present to Tecnoglass,
Inc. the third-party finance provider or intermediary with whom they will carry out the finance program and establish an agreement, through
which the invoices will be paid by the third-party finance provider or intermediary once Tecnoglass, Inc. has confirmed the invoices
as valid. Once the Company confirms the invoices are valid, the third-party finance provider or intermediary proceeds with the payment
to the supplier. Subsequently, Tecnoglass, Inc. pays the invoices for goods or services to the third-party finance provider or intermediary
selected by the supplier. Payment times do not vary from those initially agreed with the supplier, as stated in the invoices factored
by the supplier (i.e. between 30 and 60 days). Pursuant to the supplier finance programs, the Company has not been required to pledge
any assets as security nor to provide any guarantee to third-party finance provider or intermediary.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2025, the obligations outstanding related to the supplier finance program amounted to $&lt;span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zcb79pHsSSGi" title="Current liabilities"&gt;21,088&lt;/span&gt; recorded as current liabilities,
with $&lt;span id="xdx_906_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zzm1u3em8UAk" title="Trade accounts payable and accrued expenses"&gt;20,671&lt;/span&gt; classified as trade accounts payable and accrued expenses and $&lt;span id="xdx_901_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20250630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zDAclpWStU25" title="Due to related parties"&gt;417&lt;/span&gt; classified as due to related parties. As of December
31, 2024, the obligations outstanding related to the supplier finance program amounted to $&lt;span id="xdx_90D_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zZiW4CaZ4aR6" title="Current liabilities"&gt;1,852&lt;/span&gt;, recorded as current liabilities, with
$&lt;span id="xdx_90E_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zk8qvKaEtO0h" title="Trade accounts payable and accrued expenses"&gt;1,338&lt;/span&gt; classified as trade accounts payable and accrued expenses and $&lt;span id="xdx_903_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20241231__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zFtne8vMSll5" title="Due to related parties"&gt;514&lt;/span&gt; classified as due to related parties.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SupplierFinanceProgramTextBlock>
    <us-gaap:ProgramRightsObligationsCurrent
      contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001101"
      unitRef="USD">21088000</us-gaap:ProgramRightsObligationsCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001103"
      unitRef="USD">20671000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001105"
      unitRef="USD">417000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:ProgramRightsObligationsCurrent
      contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001107"
      unitRef="USD">1852000</us-gaap:ProgramRightsObligationsCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001109"
      unitRef="USD">1338000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001111"
      unitRef="USD">514000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001113">&lt;p id="xdx_809_eus-gaap--DebtDisclosureTextBlock_zZ3aNRvhrsJ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
8. &lt;span id="xdx_829_zfwhMPsoMXK3"&gt;Debt&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zvI0df5v8aVi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s debt is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zr1gIXuCVNXj" style="display: none"&gt;Schedule
of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20250630_zt03FMNK10T1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20241231_zCiLRaWtTBu7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_z5DwDBP2DL6b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Revolving lines of credit&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;507&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;600&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--FinanceLeaseDebt_iI_pn3n3_maDICAz25p_zGgJAn1CXcd5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Finance lease&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zOZymwlbCqv2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Other current debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1123"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;378&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zXcPHJivgN6c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Senior Secured Credit Facility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredCostsCurrent_iNI_pn3n3_di_msDICAz25p_zOXYUy3vSuv9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Deferred cost of financing&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,358&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,782&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DebtInstrumentCarryingAmount_iTI_pn3n3_mtDICAz25p_z4xG5kph7wz3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total obligations under borrowing arrangements&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;109,229&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;109,307&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebtCurrent_iI_pn3n3_zympKhE5LrOj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Current portion of long-term debt and other current borrowings&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;587&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,087&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zwUvjCXYVUbc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;108,642&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;108,220&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_zGfa4A9WvF15" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s debt is primarily comprised of a Senior Secured Credit Facility with maturity in late 2026, an outstanding balance of
$&lt;span id="xdx_902_eus-gaap--LineOfCredit_iI_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z7orv805DhQ6" title="Line of credit facility"&gt;110,000&lt;/span&gt; as of June 30, 2025, and a committed line of credit of $&lt;span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zIyjd9V8hqpf" title="Line of credit facility, maximum borrowing capacity"&gt;150&lt;/span&gt; million. Borrowings under the credit facility bear interest at a
rate of SOFR plus a spread of &lt;span id="xdx_90E_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z8TRqAqfZaad" title="Debt instrument basis spread on variable rate"&gt;1.50&lt;/span&gt;%, based on the Company&#x2019;s net leverage ratio. The effective interest rate for this credit facility
including deferred issuance costs is &lt;span id="xdx_90A_eus-gaap--LineOfCreditFacilityInterestRateDuringPeriod_pid_dp_uPure_c20250101__20250630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zwZpUWi7eYXg" title="Line of credit interest rate"&gt;6.77&lt;/span&gt;%.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_z0SntajItUx6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Maturities
of long-term debt and other current borrowings as of June 30, 2025, are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zfI0pgrStoJj" style="display: none"&gt;Schedule
of Maturities of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49C_20250630_zg6Wg74PGfgi" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_pn3n3_maLTDz5iw_zYjMaPOD0s0h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;587&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_zEJRi6LcL4Rh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zWYW5Md4M2si" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;110,587&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zWSsMrLL4JU1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s loans have maturities ranging from &lt;span id="xdx_90D_eus-gaap--DebtInstrumentMaturityDateDescription_c20250101__20250630_z9ELywlGG9D1" title="Loan maturity period description"&gt;several weeks to 2 years&lt;/span&gt;. Our credit facilities bore a weighted average interest rate
of &lt;span id="xdx_90E_eus-gaap--DebtWeightedAverageInterestRate_iI_pid_dp_uPure_c20250630_zSLtUmDSUpc7" title="Debt, weighted average interest rate"&gt;5.87&lt;/span&gt;% as of June 30, 2025.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001115">&lt;p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zvI0df5v8aVi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s debt is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BE_zr1gIXuCVNXj" style="display: none"&gt;Schedule
of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20250630_zt03FMNK10T1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20241231_zCiLRaWtTBu7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_z5DwDBP2DL6b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Revolving lines of credit&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;507&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;600&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--FinanceLeaseDebt_iI_pn3n3_maDICAz25p_zGgJAn1CXcd5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Finance lease&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;80&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zOZymwlbCqv2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Other current debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1123"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;378&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zXcPHJivgN6c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Senior Secured Credit Facility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredCostsCurrent_iNI_pn3n3_di_msDICAz25p_zOXYUy3vSuv9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Deferred cost of financing&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,358&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,782&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DebtInstrumentCarryingAmount_iTI_pn3n3_mtDICAz25p_z4xG5kph7wz3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total obligations under borrowing arrangements&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;109,229&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;109,307&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebtCurrent_iI_pn3n3_zympKhE5LrOj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Current portion of long-term debt and other current borrowings&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;587&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,087&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zwUvjCXYVUbc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;108,642&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;108,220&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:LineOfCredit
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001117"
      unitRef="USD">507000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001118"
      unitRef="USD">600000</us-gaap:LineOfCredit>
    <TGLS:FinanceLeaseDebt
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001120"
      unitRef="USD">80000</TGLS:FinanceLeaseDebt>
    <TGLS:FinanceLeaseDebt
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001121"
      unitRef="USD">111000</TGLS:FinanceLeaseDebt>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001124"
      unitRef="USD">378000</us-gaap:OtherLongTermDebtCurrent>
    <TGLS:SeniorSecuredCreditFacility
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001126"
      unitRef="USD">110000000</TGLS:SeniorSecuredCreditFacility>
    <TGLS:SeniorSecuredCreditFacility
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001127"
      unitRef="USD">110000000</TGLS:SeniorSecuredCreditFacility>
    <us-gaap:DeferredCostsCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001129"
      unitRef="USD">1358000</us-gaap:DeferredCostsCurrent>
    <us-gaap:DeferredCostsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001130"
      unitRef="USD">1782000</us-gaap:DeferredCostsCurrent>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001132"
      unitRef="USD">109229000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001133"
      unitRef="USD">109307000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001135"
      unitRef="USD">587000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001136"
      unitRef="USD">1087000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001138"
      unitRef="USD">108642000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001139"
      unitRef="USD">108220000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LineOfCredit
      contextRef="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="0"
      id="Fact001141"
      unitRef="USD">110000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2025-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-6"
      id="Fact001143"
      unitRef="USD">150000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="INF"
      id="Fact001145"
      unitRef="Pure">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityInterestRateDuringPeriod
      contextRef="From2025-01-012025-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="INF"
      id="Fact001147"
      unitRef="Pure">0.0677</us-gaap:LineOfCreditFacilityInterestRateDuringPeriod>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001149">&lt;p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_z0SntajItUx6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Maturities
of long-term debt and other current borrowings as of June 30, 2025, are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_zfI0pgrStoJj" style="display: none"&gt;Schedule
of Maturities of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49C_20250630_zg6Wg74PGfgi" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_pn3n3_maLTDz5iw_zYjMaPOD0s0h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;587&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_zEJRi6LcL4Rh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;110,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zWYW5Md4M2si" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"&gt;110,587&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001151"
      unitRef="USD">587000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001153"
      unitRef="USD">110000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebt
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001155"
      unitRef="USD">110587000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentMaturityDateDescription contextRef="From2025-01-01to2025-06-30" id="Fact001157">several weeks to 2 years</us-gaap:DebtInstrumentMaturityDateDescription>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact001159"
      unitRef="Pure">0.0587</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001161">&lt;p id="xdx_80B_eus-gaap--DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_zpA0sPUdIA8d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
9. &lt;span id="xdx_82C_zkk0pV61GDJ5"&gt;Hedging Activity and Fair Value Measurements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Hedging
Activity&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the quarter ended June 30, 2022, we entered into several interest rate swap contracts to hedge the interest rate fluctuations related
to our outstanding debt. The effective date of the contract is December 31, 2022 and, thus, we shall have payment dates each quarter,
commencing March, 31 2023. During the quarter ended December 31, 2024, we entered into several foreign currency non-delivery option contracts
to hedge the fluctuations in the exchange rate between the Colombian Peso and the U.S. Dollar. Our contracts are designated as cash flow
hedges since they are highly effective in offsetting changes in the cash flows attributable to forecasted LIBOR and Colombian Peso denominated
costs and expenses, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
record our hedge contracts at fair value and consider our credit risk for contracts in a liability position, and our counter-party&#x2019;s
credit risk for contracts in an asset position, in determining fair value. We assess our counter-party&#x2019;s risk of non-performance
when measuring the fair value of financial instruments in an asset position by evaluating their financial position, including cash on
hand, as well as their credit ratings.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Due
to the Libor discontinuation, on June 21, 2023, the Company amended the Interest Rate Swap contract from Libor 1 Month plus spread to
SOFR 3 Months plus spread. The settlements of the instruments remain under the existing conditions; however, the fixed leg goes from
&lt;span id="xdx_90A_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MinimumMember_zE9eh5FEVpuh" title="Derivative fixed interest rate"&gt;1.93&lt;/span&gt;% to &lt;span id="xdx_901_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MaximumMember_zPoqMdgYk113" title="Derivative fixed interest rate"&gt;1.87&lt;/span&gt;%. Regarding the conditions of our outstanding debt, only Libor was replaced by SOFR, maintaining the other initial conditions.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2025, the fair value of our interest rate swap and foreign currency non-delivery option contracts was in a net asset position
of $&lt;span id="xdx_90B_eus-gaap--DerivativeAssets_iI_pn5n6_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zHtVPFi4MhW2" title="Derivative assets"&gt;5.5&lt;/span&gt; million. We had 6 outstanding interest rate swap contracts to hedge $&lt;span id="xdx_909_eus-gaap--InterestEarningAssetsAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zE8zczCTNdQ7" title="Interest earning assets average outstanding"&gt;110&lt;/span&gt; million related to our outstanding debt through November
2026 and 6 non-delivery option contracts to exchange $&lt;span id="xdx_904_eus-gaap--LongTermDebtAverageAmountOutstanding_pn6n6_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zPE3c7x9g4Di" title="Debt outstanding amount"&gt;45&lt;/span&gt; million U.S. Dollars to Colombian Pesos through December 2025. We assessed the
risk of non-performance of the Company to these contracts and determined it was insignificant and, therefore, did not record any adjustment
to fair value as of June 30, 2025.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
assess the effectiveness of our interest rate swap and foreign currency non-delivery option contracts by comparing the change in the
fair value of the interest rate swap and foreign currency non-delivery option contracts to the change in the expected cash to be paid
for the hedged item. The effective portion of the gain or loss on our interest rate swap and foreign currency non-delivery option contracts
is reported as a component of accumulated other comprehensive income and is reclassified into earnings in the same line item in the income
statement as the hedged item in the same period or periods during which the transaction affects earnings. The amount of gains, net, recognized
in the &#x201c;accumulated other comprehensive income&#x201d; line item in the accompanying consolidated balance sheet as of June 30, 2025,
that we expect will be reclassified to earnings within the next twelve months, is $&lt;span id="xdx_904_ecustom--ReclassifiedEarningsExpected_iI_pn5n6_c20250630__us-gaap--BalanceSheetLocationAxis__custom--AccumulatedOtherComprehensiveLossMember_z7H16mgjc7G8" title="Reclassified earnings, expected"&gt;5.0 &lt;/span&gt;million.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zyJkoh8PwfDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of our interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2025, as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zNtvyTYRhFdf" style="display: none"&gt;Schedule
of Fair Value of Foreign Currency Hedges&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivative Assets&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivative Liabilities&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Derivatives designated as hedging instruments&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;under Subtopic 815-20:&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance Sheet Location&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance Sheet Location&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Derivative instruments:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 31%; text-align: left; padding-left: 10pt"&gt;Interest Rate Swap Contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: left"&gt;Other current assets&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zOg4uN3hky17" style="width: 14%; text-align: right" title="Total derivative assets"&gt;2,606&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zDdnWG7VjPh" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1179"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;foreign currency non-delivery forwards&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zxvAZElhpIK1" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;2,868&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_z8dUK87zojIh" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1183"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;Total derivative instruments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total derivative assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630_zoDYAErRSzbi" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;5,474&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total derivative liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630_zazF9cf7iM5g" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1187"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zXQ0eXXdODzi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
ending accumulated balance for the interest rate swap and foreign currency non-delivery option contracts included in accumulated other
comprehensive income, net of tax, was $&lt;span id="xdx_90E_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zklA5wNftUc6" title="Accumulated other comprehensive income net of tax"&gt;4,470&lt;/span&gt; as of June 30,2025, comprised of a derivative gain of $&lt;span id="xdx_90A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember_z7GFnbmmcWbe" title="Accumulated other comprehensive income net of tax"&gt;5,474&lt;/span&gt; and an associated net tax liability
of $&lt;span id="xdx_90A_eus-gaap--DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit_pn3n3_c20250101__20250630_zTUQkfKEMu2c" title="Derivatives used in net investment hedge, tax (benefit)"&gt;1,004&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zkBYSyyOFyg1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the three months ended June 30, 2025, and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z1AEfUF5gQW4" style="display: none"&gt;Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives in Cash Flow Hedging Relationships&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) &lt;br/&gt; Reclassified from&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Recognized in OCI (Loss) on&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;OCI (Loss) into&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;OCI (Loss) into Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 13%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards Contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zb5YyI3puP3j" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;785&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zA8nhxHM7pKd" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;(342&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest Expense and Operating Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zSFZp28giw57" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;1,250&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zgZHr1mR6Gaf" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;1,084&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the six months ended June 30, 2025, and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives in Cash Flow Hedging Relationships&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) &lt;br/&gt; Reclassified from&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Recognized in OCI (Loss) on&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;OCI (Loss) into&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;OCI (Loss) into Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 13%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards Contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zmS7vJ8MDXra" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;148&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z3YVMpL85YLi" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest Expense and Operating Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zcC0SfrSwoo7" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;2,242&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zPfgPggbdv4a" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;2,183&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zMx6fO3bOZHe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair
Value Measurements&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for financial assets and liabilities in accordance with accounting standards that define fair value and establish a
framework for measuring fair value. The hierarchy prioritizes the inputs into three broad levels. Level 1 inputs are quoted prices (unadjusted)
in active markets for identical assets or liabilities. Level 2 inputs are quoted prices for similar assets and liabilities in active
markets or inputs that are observable for the asset or liability, either directly or indirectly through market corroboration, for substantially
the full term of the financial instrument. Level 3 inputs are unobservable inputs based on the Company&#x2019;s assumptions used to measure
assets and liabilities at fair value. A financial asset&#x2019;s or liability&#x2019;s classification within the hierarchy is determined
based on the lowest level input that is significant to the fair value measurement.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
carrying amounts of the Company&#x2019;s financial instruments, including cash and cash equivalents, accounts receivable, accounts payable
and advances from customers approximate their fair value due to their relatively short-term maturities. The Company bases its fair value
estimate for long term debt obligations on its internal valuation that all debt is floating rate debt based on current interest rates
in Colombia.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of derivatives used to manage interest rate risks are based on SOFR rates and interest rate swap curves. Measurement of our
derivative assets and liabilities is considered a level 2 measurement. To carry out the swap valuation, the definition of the fixed leg
(obligation) and variable leg (right) is used. Once the projected flows are obtained in both fixed and variable rates, the regression
analysis is performed for prospective effectiveness test. The projection curve contains the forward interest rates to project flows at
a variable rate and the discount curve contains the interest rates to discount future flows, using the one-month USD Libor curve.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2025, financial instruments carried at amortized cost that do not approximate fair value consist of long-term debt. See Note
8 &#x2013; Debt. The fair value of long-term debt was calculated based on an analysis of future cash flows discounted at current market
rates (which are level 2 inputs).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_z1BxGVLh2hod" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the fair value and carrying amounts of our long-term debt:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zrWzehFPbjff" style="display: none"&gt;Schedule
of Fair Value and Carrying Amounts of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250630_zKSFfjpgxTHj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zylaaA0znO3i" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zHgIaoPXtv5f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Fair Value&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;106,361&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;109,341&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_z0gDt86oJFNg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Carrying Value&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,642&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,220&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_zfV2xNQRYgB5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MinimumMember"
      decimals="INF"
      id="Fact001163"
      unitRef="Pure">0.0193</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MaximumMember"
      decimals="INF"
      id="Fact001165"
      unitRef="Pure">0.0187</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeAssets
      contextRef="AsOf2025-06-30_us-gaap_InterestRateSwapMember"
      decimals="-5"
      id="Fact001167"
      unitRef="USD">5500000</us-gaap:DerivativeAssets>
    <us-gaap:InterestEarningAssetsAverageAmountOutstanding
      contextRef="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember"
      decimals="-6"
      id="Fact001169"
      unitRef="USD">110000000</us-gaap:InterestEarningAssetsAverageAmountOutstanding>
    <us-gaap:LongTermDebtAverageAmountOutstanding
      contextRef="From2025-01-012025-06-30_us-gaap_InterestRateSwapMember"
      decimals="-6"
      id="Fact001171"
      unitRef="USD">45000000</us-gaap:LongTermDebtAverageAmountOutstanding>
    <TGLS:ReclassifiedEarningsExpected
      contextRef="AsOf2025-06-30_custom_AccumulatedOtherComprehensiveLossMember"
      decimals="-5"
      id="Fact001173"
      unitRef="USD">5000000.0</TGLS:ReclassifiedEarningsExpected>
    <TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001175">&lt;p id="xdx_891_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zyJkoh8PwfDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of our interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2025, as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zNtvyTYRhFdf" style="display: none"&gt;Schedule
of Fair Value of Foreign Currency Hedges&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivative Assets&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivative Liabilities&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Derivatives designated as hedging instruments&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2025&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;under Subtopic 815-20:&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance Sheet Location&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance Sheet Location&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Derivative instruments:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 31%; text-align: left; padding-left: 10pt"&gt;Interest Rate Swap Contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: left"&gt;Other current assets&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zOg4uN3hky17" style="width: 14%; text-align: right" title="Total derivative assets"&gt;2,606&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 15%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 13%; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zDdnWG7VjPh" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1179"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;foreign currency non-delivery forwards&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--OtherCurrentAssetsMember_zxvAZElhpIK1" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;2,868&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__us-gaap--BalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_z8dUK87zojIh" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1183"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;Total derivative instruments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total derivative assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20250630_zoDYAErRSzbi" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;5,474&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-right: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total derivative liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20250630_zazF9cf7iM5g" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1187"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2025-06-30_custom_InterestRateSwapContractsMember_us-gaap_OtherCurrentAssetsMember"
      decimals="-3"
      id="Fact001177"
      unitRef="USD">2606000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_OtherCurrentAssetsMember"
      decimals="-3"
      id="Fact001181"
      unitRef="USD">2868000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001185"
      unitRef="USD">5474000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2025-06-30_us-gaap_InterestRateSwapMember"
      decimals="-3"
      id="Fact001189"
      unitRef="USD">4470000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2025-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001191"
      unitRef="USD">5474000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001193"
      unitRef="USD">1004000</us-gaap:DerivativesUsedInNetInvestmentHedgeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001195">&lt;p id="xdx_894_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zkBYSyyOFyg1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the three months ended June 30, 2025, and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z1AEfUF5gQW4" style="display: none"&gt;Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives in Cash Flow Hedging Relationships&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) &lt;br/&gt; Reclassified from&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Recognized in OCI (Loss) on&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;OCI (Loss) into&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;OCI (Loss) into Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 13%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards Contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zb5YyI3puP3j" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;785&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zA8nhxHM7pKd" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;(342&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest Expense and Operating Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zSFZp28giw57" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;1,250&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240401__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zgZHr1mR6Gaf" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;1,084&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table presents the gains (losses) on derivative financial instruments, and their classifications within the accompanying consolidated
financial statements, for the six months ended June 30, 2025, and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="18" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives in Cash Flow Hedging Relationships&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) &lt;br/&gt; Reclassified from&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Recognized in OCI (Loss) on&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;OCI (Loss) into&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font-weight: bold; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Derivatives&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;OCI (Loss) into Income&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six Months Ended&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font-weight: bold; text-align: center"&gt;June 30,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 13%; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards Contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zmS7vJ8MDXra" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;148&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--DerivativeGainLossOnDerivativeNet_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z3YVMpL85YLi" style="text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;694&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest Expense and Operating Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zcC0SfrSwoo7" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;2,242&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion_pn3n3_d0_c20240101__20240630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zPfgPggbdv4a" style="text-align: right" title="Amount of Gain or (Loss) Reclassified from Accumulated OCI (Loss) into Income"&gt;2,183&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001197"
      unitRef="USD">785000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001199"
      unitRef="USD">-342000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion
      contextRef="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001201"
      unitRef="USD">1250000</TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion>
    <TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion
      contextRef="From2024-04-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001203"
      unitRef="USD">1084000</TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001205"
      unitRef="USD">148000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001207"
      unitRef="USD">694000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion
      contextRef="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001209"
      unitRef="USD">2242000</TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion>
    <TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion
      contextRef="From2024-01-012024-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001211"
      unitRef="USD">2183000</TGLS:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortion>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001213">&lt;p id="xdx_89A_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_z1BxGVLh2hod" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the fair value and carrying amounts of our long-term debt:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zrWzehFPbjff" style="display: none"&gt;Schedule
of Fair Value and Carrying Amounts of Long Term Debt&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250630_zKSFfjpgxTHj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zylaaA0znO3i" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zHgIaoPXtv5f" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Fair Value&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;106,361&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;109,341&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_z0gDt86oJFNg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Carrying Value&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,642&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,220&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebtFairValue
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001215"
      unitRef="USD">106361000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001216"
      unitRef="USD">109341000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact001218"
      unitRef="USD">108642000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact001219"
      unitRef="USD">108220000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001221">&lt;p id="xdx_801_eus-gaap--IncomeTaxDisclosureTextBlock_z1Ys1rfkb3Xd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
10. &lt;span id="xdx_82C_zTubXLwW6vli"&gt;Income Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company files income tax returns for TG, ES and ES Metals in the Republic of Colombia. GM&amp;amp;P, Componenti and ESW LLC are U.S. entities
based in Florida subject to U.S. federal and state income taxes. Tecnoglass as well as the Company&#x2019;s other subsidiaries in the
Cayman Islands do not currently have any tax obligations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;On July 4, 2025, the One Big Beautiful Bill Act (&#x201c;OBBBA&#x201d;)
was signed into law. The OBBBA permanently establishes key elements of the Tax Cuts and Jobs Act, and also introduces modifications to
certain international tax provisions. These provisions have various effective dates, some of which extended into 2027. The Company is
assessing the effects that the OBBBA may have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zQfoqzcffNe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of income tax expense are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_z8axA28Osoef" style="display: none"&gt;Schedule
of Components of Income Tax Expense&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20250401__20250630_zXjFIVlNoGKi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240401__20240630_zF8XPmlKeUy2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20250101__20250630_z4oojgzwYYGb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240101__20240630_zsPWUzPu4Cge" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Current income tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zWDjDQtJhZoi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;United States&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(8,286&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,775&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(11,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(8,607&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zMJPpoaAVidb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Colombia&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(10,329&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(9,774&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(21,881&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(13,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_zseIQhhkO6da" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Panama&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zxw7YMgN5W9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total current income
    tax&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(18,616&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(14,554&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,806&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(22,195&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income Tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zGM3ptZOQoWa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;58&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;929&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,355&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(249&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_z3p45wBD3UA" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Colombia&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;410&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,132&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(647&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,208&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zqohWn0MTOJc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total deferred income
    tax&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;468&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,061&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,002&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,457&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_zlrVkpugucCe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income provision&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(18,148&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(12,493&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(35,808&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(23,652&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zb9EbSeVHb52" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Effective tax rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zrPT7FnLKWGj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
effective income tax rate for the three and six months ended June 30, 2025, of &lt;span id="xdx_903_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250401__20250630_zW7bpVMBHYLe" title="Statutory income tax rate"&gt;29.7&lt;/span&gt;% and &lt;span id="xdx_901_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250101__20250630_z6xZxa6W3Szj" title="Statutory income tax rate"&gt;29.6&lt;/span&gt;%, respectively, approximates the weighted
average statutory rate of &lt;span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_pid_dp_uPure_c20250101__20250630_zj7Y3Yh2EN5k" title="Weighted average statutory rate"&gt;29.1&lt;/span&gt;%. The effective income tax rate for the three and six months ended June 30, 2024, of &lt;span id="xdx_905_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240401__20240630_zkjBTX7f7lxi" title="Statutory income tax rate"&gt;26.3&lt;/span&gt;% and &lt;span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zafXuIBrwwXg" title="Statutory income tax rate"&gt;26.8&lt;/span&gt;% are
below the weighted average statutory rate as the Colombian subsidiaries which bear a higher corporate income tax rate recorded a proportionally
lower share of the consolidated income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001223">&lt;p id="xdx_899_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zQfoqzcffNe5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of income tax expense are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B8_z8axA28Osoef" style="display: none"&gt;Schedule
of Components of Income Tax Expense&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20250401__20250630_zXjFIVlNoGKi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240401__20240630_zF8XPmlKeUy2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20250101__20250630_z4oojgzwYYGb" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240101__20240630_zsPWUzPu4Cge" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Current income tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zWDjDQtJhZoi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;United States&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(8,286&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,775&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(11,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(8,607&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zMJPpoaAVidb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Colombia&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(10,329&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(9,774&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(21,881&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(13,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_zseIQhhkO6da" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Panama&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zxw7YMgN5W9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total current income
    tax&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(18,616&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(14,554&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,806&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(22,195&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income Tax&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zGM3ptZOQoWa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;58&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;929&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,355&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(249&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_z3p45wBD3UA" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Colombia&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;410&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,132&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(647&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,208&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zqohWn0MTOJc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total deferred income
    tax&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;468&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,061&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,002&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,457&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_zlrVkpugucCe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income provision&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(18,148&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(12,493&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(35,808&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(23,652&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zb9EbSeVHb52" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Effective tax rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29.2&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29.3&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26.8&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact001225"
      unitRef="USD">8286000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30_country_US"
      decimals="-3"
      id="Fact001226"
      unitRef="USD">4775000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact001227"
      unitRef="USD">11920000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30_country_US"
      decimals="-3"
      id="Fact001228"
      unitRef="USD">8607000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001230"
      unitRef="USD">10329000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30_country_CO"
      decimals="-3"
      id="Fact001231"
      unitRef="USD">9774000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001232"
      unitRef="USD">21881000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30_country_CO"
      decimals="-3"
      id="Fact001233"
      unitRef="USD">13582000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_PA"
      decimals="-3"
      id="Fact001235"
      unitRef="USD">1000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30_country_PA"
      decimals="-3"
      id="Fact001236"
      unitRef="USD">5000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_PA"
      decimals="-3"
      id="Fact001237"
      unitRef="USD">5000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30_country_PA"
      decimals="-3"
      id="Fact001238"
      unitRef="USD">6000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001240"
      unitRef="USD">18616000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001241"
      unitRef="USD">14554000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001242"
      unitRef="USD">33806000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001243"
      unitRef="USD">22195000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact001245"
      unitRef="USD">-58000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30_country_US"
      decimals="-3"
      id="Fact001246"
      unitRef="USD">-929000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact001247"
      unitRef="USD">1355000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30_country_US"
      decimals="-3"
      id="Fact001248"
      unitRef="USD">249000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001250"
      unitRef="USD">-410000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30_country_CO"
      decimals="-3"
      id="Fact001251"
      unitRef="USD">-1132000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001252"
      unitRef="USD">647000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30_country_CO"
      decimals="-3"
      id="Fact001253"
      unitRef="USD">1208000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001255"
      unitRef="USD">-468000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001256"
      unitRef="USD">-2061000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001257"
      unitRef="USD">2002000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001258"
      unitRef="USD">1457000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001260"
      unitRef="USD">18148000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001261"
      unitRef="USD">12493000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001262"
      unitRef="USD">35808000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001263"
      unitRef="USD">23652000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001265"
      unitRef="Pure">0.292</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001266"
      unitRef="Pure">0.263</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001267"
      unitRef="Pure">0.293</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001268"
      unitRef="Pure">0.268</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001270"
      unitRef="Pure">0.297</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001272"
      unitRef="Pure">0.296</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001274"
      unitRef="Pure">0.291</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001276"
      unitRef="Pure">0.263</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001278"
      unitRef="Pure">0.268</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001280">&lt;p id="xdx_808_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zIJEW2fEcbNe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
11. &lt;span id="xdx_825_zKxztDXXIMo9"&gt;Related Parties&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_z6zD4EULDjEk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following is a summary of assets, liabilities, and income transactions with all related parties:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zl8yH0nFXpf6" style="display: none"&gt;Schedule of Related Parties&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250630_zkBEHl6ZSlbk" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2025&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20241231_zUQWOGbb5M3e" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Due from related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZzH24vfehXf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Fundaci&#xf3;n Tecnoglass-ESWindows&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;921&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;809&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zjwqPLU25a6e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Prisma-Glass LLC&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;375&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8awo4liwvn" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Alutrafic Led SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;594&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;629&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zU8D5UPZ6Qk9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Studio Avanti SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;409&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;301&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIyrNmZtnEDj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Due from other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;613&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;560&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZHjclP3si95" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 1pt"&gt;Total due from related parties&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;3,345&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2,674&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Due to related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zc2pE8gL2hwj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Vidrio Andino&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,619&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,660&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlV2Vc1kDQtd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Due to other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,095&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,204&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNeR63q9q6k7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 1pt"&gt;Total due to related parties&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;9,714&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;9,864&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_zBehgbPNiHhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zbhvOvYOiFD6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BE_zlBnj5Z4z0N2" style="display: none"&gt;Schedule of Sale to Related Parties&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250401__20250630_zPGRmHkYMAbf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240401__20240630_zIsB1dnJXVMl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20250101__20250630_zB6XFsfatFFg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240101__20240630_zFsLO0kfIGai" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Sales to related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3P9f4TbRDz1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Prisma Glass LLC&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;785&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;315&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,168&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;508&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z61DuR6IyMn3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Alutrafic Led SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;230&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;239&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;587&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;378&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zVvB5kvVngVk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Studio Avanti SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;294&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;532&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3JEas7aVDV9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Sales to other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;93&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;23&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;131&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zu0qQVgBqf27" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales to related parties&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;1,401&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;726&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2,417&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;1,264&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zRAPjFX9znLb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Alutrafic
Led SAS&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we sell products to Alutrafic Led SAS (&#x201c;Alutrafic&#x201d;), a fabricator of electrical lighting
equipment. Affiliates of Jose Daes and Christian Daes, the Company&#x2019;s Chief Executive Officer and Chief Operating Officer, respectively,
have an ownership stake in Alutrafic. During the three and six months ended June 30, 2025, we sold $&lt;span id="xdx_90B_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z986HCjvsYyg" title="Revenue from related parties"&gt;230&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3myU4JM0Mfi" title="Revenue from related parties"&gt;587&lt;/span&gt; to Alutrafic, respectively,
compared to $&lt;span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zULtjzEwxEGk" title="Revenue from related parties"&gt;239&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zO1tmFXAd7Wa" title="Revenue from related parties"&gt;378&lt;/span&gt; during the three and six months ended June 30, 2024, respectively. Additionally, we had outstanding accounts
receivable from Alutrafic of $&lt;span id="xdx_902_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_znfWKhpqG936" title="Accounts receivable"&gt;594&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zHcvO9wQxb81" title="Accounts receivable"&gt;629&lt;/span&gt; as of June 30, 2025, and December 31, 2024, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Fundacion
Tecnoglass-ESWindows&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fundacion
Tecnoglass-ESWindows is a non-for-profit entity set up by the Company to carry out social causes in the communities around where we operate.
We made charitable contributions during the three and six months ended June 30, 2025, of $&lt;span id="xdx_907_ecustom--CashContributionsForSocialCauses_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zUhUy8tyleGg" title="Cash contributions for social causes"&gt;998&lt;/span&gt; and $&lt;span id="xdx_90F_ecustom--CashContributionsForSocialCauses_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_z3kowrpuJnJk" title="Cash contributions for social causes"&gt;2,046&lt;/span&gt;, respectively, compared to $&lt;span id="xdx_90E_ecustom--CashContributionsForSocialCauses_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zLMyEoeohcq4" title="Cash contributions for social causes"&gt;821&lt;/span&gt;
and $&lt;span id="xdx_905_ecustom--CashContributionsForSocialCauses_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zgS8pW3auoYl" title="Cash contributions for social causes"&gt;1,570&lt;/span&gt; during the three and six months ended June 30, 2024, respectively. Additionally, Fundaci&#xf3;n Tecnoglass-ESWindows received
$&lt;span id="xdx_905_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z7gJaKsaOMAi"&gt;921&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zXgJgUNpazRj"&gt;809&lt;/span&gt; from us as of June 30, 2025, and December 31, 2024, respectively, from advances on future contributions we made to them
for the construction of a school in the local community where we operate.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Prisma-Glass
LLC&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we sell products to Prisma-Glass LLC, a distributer and installer of architectural systems in Florida
that is owned and controlled by family members of Christian Daes. We sold $&lt;span id="xdx_908_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z18Vj9AGlfdi" title="Revenue from related parties"&gt;785&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zwneoyUisXl2" title="Revenue from related parties"&gt;1,168&lt;/span&gt; to Prisma-Glass LLC during the three and six
months ended June 30, 2025, respectively, compared to $&lt;span id="xdx_904_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zOOTddcbV39l" title="Revenue from related parties"&gt;315&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNydhwYw8wui" title="Revenue from related parties"&gt;508&lt;/span&gt; during the three and six months ended June 30, 2024, respectively.
The Company had outstanding accounts receivable from Prisma-Glass of $&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zQw0XtawMDa" title="Accounts receivable"&gt;808 &lt;/span&gt;and $&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zcOFfI5yY1p3" title="Accounts receivable"&gt;375&lt;/span&gt; as of June 30, 2025, and December 31, 2024, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Santa
Maria del Mar SAS&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we purchase fuel for use at our manufacturing facilities from Estaci&#xf3;n Santa Maria del Mar SAS,
a gas station located in the vicinity of our manufacturing campus which is owned by affiliates of Jose Daes and Christian Daes. During
the three and six months ended June 30, 2025, we purchased $&lt;span id="xdx_903_ecustom--PurchasePriceOfFuel_pn3n3_c20250401__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zso7wzA3Mx07" title="Purchases of fuel"&gt;131&lt;/span&gt; and $&lt;span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20250101__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZC5NvvKTCp6" title="Purchases of fuel"&gt;719&lt;/span&gt;, respectively, compared to $&lt;span id="xdx_90F_ecustom--PurchasePriceOfFuel_pn3n3_c20240401__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zH1kvSIo5Lja" title="Purchases of fuel"&gt;110&lt;/span&gt; and $&lt;span id="xdx_90D_ecustom--PurchasePriceOfFuel_pn3n3_c20240101__20240630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIRy79A2lqJe" title="Purchases of fuel"&gt;261&lt;/span&gt; purchased during the
three and six months ended June 30, 2024, respectively. Additionally, we finalized the purchase of a lot of land adjacent to our manufacturing
facilities for $&lt;span id="xdx_908_eus-gaap--PaymentsToAcquireLandHeldForUse_pn3n3_c20250101__20250331__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvF2N6oTUcyj" title="Payment for acquisition, land"&gt;334&lt;/span&gt; during the three months ended March 31, 2025.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Studio
Avanti SAS&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we sell products to Studio Avanti SAS (&#x201c;Avanti&#x201d;), a distributer and installer of architectural
systems in Colombia. Avanti is owned and controlled by Alberto Velilla, who is director of Energy Holding Corporation, the controlling
shareholder of the Company. As of June 30, 2025, and December 31, 2024, the Company had outstanding accounts receivable from Avanti of
$&lt;span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z6HXdiN71li" title="Accounts receivable"&gt;409&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zqr6uiKlzqj3" title="Accounts receivable"&gt;301&lt;/span&gt;, respectively. During the three and six months ended June 30, 2025, we sold $&lt;span id="xdx_90D_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zkuFZZENPIIl" title="Revenue from related parties"&gt;294&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zd0ZCtZK3fJh" title="Revenue from related parties"&gt;532&lt;/span&gt; of products to Avanti, respectively,
compared to $&lt;span id="xdx_908_eus-gaap--Revenues_pn3n3_c20240401__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zPh32tSSrXbd" title="Revenue from related parties"&gt;149&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20240101__20240630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zRP1ZQYmGtv6" title="Revenue from related parties"&gt;345&lt;/span&gt; during the three and six months ended June 30, 2024, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Vidrio
Andino Joint Venture&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
May 3, 2019, we consummated a joint venture agreement with Saint-Gobain, a world leader in the production of float glass, a key component
of our manufacturing process, whereby we acquired a &lt;span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_c20190503__srt--OwnershipAxis__custom--VidrioAndinoMember_z9OlDkCCAj95" title="Minority interest ownership"&gt;25.8&lt;/span&gt;% minority ownership interest in Vidrio Andino, a Colombia-based subsidiary of
Saint-Gobain. The purchase price for our interest in Vidrio Andino was $&lt;span id="xdx_907_eus-gaap--BusinessCombinationConsiderationTransferred1_pn6n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_z1ppXNkovUN5" title="Purchase price of interest"&gt;45&lt;/span&gt; million, of which $&lt;span id="xdx_90A_eus-gaap--PaymentsToAcquireBusinessesGross_pn5n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zVye7PqvyoRl" title="Payment of cash"&gt;34.1 &lt;/span&gt;million was paid in cash and $&lt;span id="xdx_901_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iI_pn5n6_c20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zaPS1FeyKSAl" title="Land contribution value"&gt;10.9&lt;/span&gt;
million paid through the contribution of land on December 9, 2020. On October 28, 2020, we acquired said land from a related party and
paid for it with the issuance of an aggregate of &lt;span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_pid_c20201028__20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zs5l4vPU3eEb" title="Shares issued during acquisition"&gt;1,557,142&lt;/span&gt; ordinary shares of the Company, valued at $&lt;span id="xdx_903_eus-gaap--SharesIssuedPricePerShare_iI_pid_c20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zWx9gNc8vvRd" title="Shares issued, price per share"&gt;7.00&lt;/span&gt; per share, which represented
an approximate &lt;span id="xdx_90D_ecustom--PremiumClosingStockPercentage_iI_pid_dp_uPure_c20201027__srt--OwnershipAxis__custom--VidrioAndinoMember_z1QRgr0QdXJ9" title="Premium closing stock, percent"&gt;33&lt;/span&gt;% premium based on the closing stock price as of October 27, 2020.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
land will serve the purpose of developing a second float glass plant nearby our existing manufacturing facilities which we expect will
carry significant efficiencies for us once it becomes operative, in which we will also have a &lt;span id="xdx_90C_ecustom--ExpectedOwnershipPercentage_pid_dp_uPure_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zBgk2NMyjKzd" title="Expected ownership percentage"&gt;25.8&lt;/span&gt;% interest. The new plant will be funded
with proceeds from the original cash contribution made by the Company, operating cashflows from the Bogota plant, debt incurred at the
joint venture level that will not consolidate into the Company and an additional contribution by us of approximately $&lt;span id="xdx_90C_ecustom--FutureAdditionalContributionAmount_pn5n6_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zsGjL7OvlBoi" title="Additional contribution amount"&gt;12.5 &lt;/span&gt;million if
needed (based on debt availability as a first option).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 29.7pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the ordinary course of business, we purchased $&lt;span id="xdx_905_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zUkphiM5TcJi" title="Purchase from related party"&gt;10,633&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zFOEvWE796P2" title="Purchase from related party"&gt;19,678&lt;/span&gt; of materials from Vidrio Andino during the three and six months ended
June 30, 2025, respectively, compared to $&lt;span id="xdx_90E_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zRcFlO7W9Hi1" title="Purchase from related party"&gt;7,214&lt;/span&gt; and $&lt;span id="xdx_903_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zrClPWmJa8D6" title="Purchase from related party"&gt;14,095&lt;/span&gt; during the three and six months ended June 30, 2024, respectively. We also
had outstanding payables to Vidrio Andino of $&lt;span id="xdx_908_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20250630__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zhR0H8xpKhf9" title="Payable outstanding"&gt;6,619&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20241231__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlzpWH8tujvi" title="Payable outstanding"&gt;5,660&lt;/span&gt; as of June 30, 2025, and December 31, 2024, respectively. We recorded
equity method income of $&lt;span id="xdx_90B_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zEoZ2sY8ary6" title="Equity method income"&gt;941&lt;/span&gt; and $&lt;span id="xdx_903_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zCorjHDCVL87" title="Equity method income"&gt;2,285&lt;/span&gt; on our Consolidated Statement of Operations during the three and six months ended June 30, 2025,
compared to $&lt;span id="xdx_908_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240401__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zAZWCfkkysih" title="Equity method income"&gt;1,120&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20240101__20240630__srt--OwnershipAxis__custom--VidrioAndinoMember_zVsDDwTUoj5i" title="Equity method income"&gt;2,568&lt;/span&gt; recorded during the three and six months ended June 30, 2024, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Zofracosta
SA&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
have an investment in Zofracosta SA, a real estate holding company located in the vicinity of the proposed glass plant being built through
our Vidrio Andino joint venture, recorded at $&lt;span id="xdx_904_eus-gaap--Investments_iI_pn3n3_c20250630__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zaONNeANX898" title="Investments"&gt;748&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--Investments_iI_pn3n3_c20241231__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_zPMaM0Ihw6Nj" title="Investments"&gt;690&lt;/span&gt; as of June 30, 2025, and December 31, 2024, respectively. Affiliates of Jose
Daes and Christian Daes have a majority ownership stake in Zofracosta SA.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001282">&lt;p id="xdx_896_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_z6zD4EULDjEk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following is a summary of assets, liabilities, and income transactions with all related parties:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zl8yH0nFXpf6" style="display: none"&gt;Schedule of Related Parties&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250630_zkBEHl6ZSlbk" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2025&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20241231_zUQWOGbb5M3e" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Due from related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZzH24vfehXf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Fundaci&#xf3;n Tecnoglass-ESWindows&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;921&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;809&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zjwqPLU25a6e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Prisma-Glass LLC&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;808&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;375&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8awo4liwvn" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Alutrafic Led SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;594&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;629&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zU8D5UPZ6Qk9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Studio Avanti SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;409&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;301&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zIyrNmZtnEDj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Due from other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;613&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;560&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zZHjclP3si95" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 1pt"&gt;Total due from related parties&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;3,345&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2,674&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Due to related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zc2pE8gL2hwj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Vidrio Andino&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,619&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,660&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--DueFromOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zlV2Vc1kDQtd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Due to other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,095&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,204&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zNeR63q9q6k7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 1pt"&gt;Total due to related parties&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;9,714&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;9,864&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001284"
      unitRef="USD">921000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001285"
      unitRef="USD">809000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001287"
      unitRef="USD">808000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001288"
      unitRef="USD">375000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001290"
      unitRef="USD">594000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001291"
      unitRef="USD">629000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001293"
      unitRef="USD">409000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001294"
      unitRef="USD">301000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001296"
      unitRef="USD">613000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001297"
      unitRef="USD">560000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001299"
      unitRef="USD">3345000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001300"
      unitRef="USD">2674000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001302"
      unitRef="USD">6619000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001303"
      unitRef="USD">5660000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001305"
      unitRef="USD">3095000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_custom_DueFromOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001306"
      unitRef="USD">4204000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001308"
      unitRef="USD">9714000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2024-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001309"
      unitRef="USD">9864000</us-gaap:OtherLiabilitiesCurrent>
    <TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001311">&lt;p id="xdx_890_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zbhvOvYOiFD6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BE_zlBnj5Z4z0N2" style="display: none"&gt;Schedule of Sale to Related Parties&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250401__20250630_zPGRmHkYMAbf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240401__20240630_zIsB1dnJXVMl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20250101__20250630_zB6XFsfatFFg" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240101__20240630_zFsLO0kfIGai" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Sales to related parties:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3P9f4TbRDz1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 44%; text-align: left"&gt;Prisma Glass LLC&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;785&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;315&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,168&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;508&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z61DuR6IyMn3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Alutrafic Led SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;230&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;239&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;587&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;378&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zVvB5kvVngVk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Studio Avanti SAS&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;294&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;532&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z3JEas7aVDV9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Sales to other related parties&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;93&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;23&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;131&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zu0qQVgBqf27" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales to related parties&lt;/span&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;1,401&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;726&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2,417&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;1,264&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001313"
      unitRef="USD">785000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001314"
      unitRef="USD">315000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001315"
      unitRef="USD">1168000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001316"
      unitRef="USD">508000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001318"
      unitRef="USD">230000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001319"
      unitRef="USD">239000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001320"
      unitRef="USD">587000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001321"
      unitRef="USD">378000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001323"
      unitRef="USD">294000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001324"
      unitRef="USD">149000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001325"
      unitRef="USD">532000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001326"
      unitRef="USD">345000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001328"
      unitRef="USD">93000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001329"
      unitRef="USD">23000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001330"
      unitRef="USD">131000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001331"
      unitRef="USD">33000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001333"
      unitRef="USD">1401000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001334"
      unitRef="USD">726000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001335"
      unitRef="USD">2417000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001336"
      unitRef="USD">1264000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001338"
      unitRef="USD">230000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001340"
      unitRef="USD">587000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001342"
      unitRef="USD">239000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001344"
      unitRef="USD">378000</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001346"
      unitRef="USD">594000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001348"
      unitRef="USD">629000</us-gaap:AccountsReceivableNet>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2025-04-012025-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001350"
      unitRef="USD">998000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2025-01-012025-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001352"
      unitRef="USD">2046000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2024-04-012024-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001354"
      unitRef="USD">821000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2024-01-012024-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001356"
      unitRef="USD">1570000</TGLS:CashContributionsForSocialCauses>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-06-30_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001357"
      unitRef="USD">921000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2024-12-31_custom_FundacionTecnoglassMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001358"
      unitRef="USD">809000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001360"
      unitRef="USD">785000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001362"
      unitRef="USD">1168000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001364"
      unitRef="USD">315000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001366"
      unitRef="USD">508000</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001368"
      unitRef="USD">808000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001370"
      unitRef="USD">375000</us-gaap:AccountsReceivableNet>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2025-04-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001372"
      unitRef="USD">131000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2025-01-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001374"
      unitRef="USD">719000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2024-04-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001376"
      unitRef="USD">110000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2024-01-012024-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001378"
      unitRef="USD">261000</TGLS:PurchasePriceOfFuel>
    <us-gaap:PaymentsToAcquireLandHeldForUse
      contextRef="From2025-01-012025-03-31_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001380"
      unitRef="USD">334000</us-gaap:PaymentsToAcquireLandHeldForUse>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001382"
      unitRef="USD">409000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001384"
      unitRef="USD">301000</us-gaap:AccountsReceivableNet>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001386"
      unitRef="USD">294000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001388"
      unitRef="USD">532000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-04-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001390"
      unitRef="USD">149000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001392"
      unitRef="USD">345000</us-gaap:Revenues>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2019-05-03_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001394"
      unitRef="Pure">0.258</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember"
      decimals="-6"
      id="Fact001396"
      unitRef="USD">45000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001398"
      unitRef="USD">34100000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand
      contextRef="AsOf2020-12-09_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001400"
      unitRef="USD">10900000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="From2020-10-282020-10-28_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001402"
      unitRef="Shares">1557142</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2020-10-28_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001404"
      unitRef="USDPShares">7.00</us-gaap:SharesIssuedPricePerShare>
    <TGLS:PremiumClosingStockPercentage
      contextRef="AsOf2020-10-27_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001406"
      unitRef="Pure">0.33</TGLS:PremiumClosingStockPercentage>
    <TGLS:ExpectedOwnershipPercentage
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001408"
      unitRef="Pure">0.258</TGLS:ExpectedOwnershipPercentage>
    <TGLS:FutureAdditionalContributionAmount
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001410"
      unitRef="USD">12500000</TGLS:FutureAdditionalContributionAmount>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001412"
      unitRef="USD">10633000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001414"
      unitRef="USD">19678000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2024-04-012024-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001416"
      unitRef="USD">7214000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2024-01-012024-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001418"
      unitRef="USD">14095000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2025-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531"
      decimals="-3"
      id="Fact001420"
      unitRef="USD">6619000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember16702531"
      decimals="-3"
      id="Fact001422"
      unitRef="USD">5660000</us-gaap:AccountsPayableCurrent>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001424"
      unitRef="USD">941000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001426"
      unitRef="USD">2285000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2024-04-012024-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001428"
      unitRef="USD">1120000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2024-01-012024-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001430"
      unitRef="USD">2568000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:Investments
      contextRef="AsOf2025-06-30_custom_ZofracostaSAMember"
      decimals="-3"
      id="Fact001432"
      unitRef="USD">748000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_custom_ZofracostaSAMember"
      decimals="-3"
      id="Fact001434"
      unitRef="USD">690000</us-gaap:Investments>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001436">&lt;p id="xdx_803_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z1sAc7aKmy0l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
12. &lt;span id="xdx_82F_z66Xw3aZhdFj"&gt;Shareholders&#x2019; Equity&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Dividends&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
June 10, 2025, the Company declared a regular quarterly dividend of $&lt;span id="xdx_90A_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--QuarterlyRateMember_zpio3SAeYiel" title="Declared per share"&gt;0.15 &lt;/span&gt;per share, or $&lt;span id="xdx_906_eus-gaap--SharePrice_iI_pid_c20250610__us-gaap--AwardTypeAxis__custom--AnnualBasisMember_z9YG6cNleBZj" title="Share price"&gt;0.60&lt;/span&gt; per share on an annualized basis. The dividend
was paid on July 31, 2025, to shareholders of record as of the close of business on June 30, 2025.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Earnings
per Share&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJSlii5mLPQ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth the computation of the basic and diluted earnings per share for the three and six months ended June 30, 2025,
and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zgBdR67uCrY2" style="display: none"&gt;Schedule of Earnings Per Share, Basic and Diluted&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20250401__20250630_zFLeVfXJ1gi1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240401__20240630_zGpuToK8KU7k" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250101__20250630_zT79QgeDdJW5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240630_zoVCAOIjtodk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Numerator for basic and diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_pn3n3_zdCIU5cyRAok" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 40%; text-align: left"&gt;Net Income attributable to parent&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;44,083&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;35,028&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;86,272&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;64,758&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zYfqe25g7wf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator for basic earnings per ordinary share - weighted average shares outstanding&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,988,155&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,996,705&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,989,650&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,996,706&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zLJj07wPPSbg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect of dilutive securities and stock dividend&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1454"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1455"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1456"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1457"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zuKikMXcuhpl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Denominator for diluted earnings per ordinary share - weighted average shares outstanding&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,988,155&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,996,705&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,989,650&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,996,706&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pid_z4JGLFO7f1o7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per ordinary share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.94&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.75&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.84&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.38&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EarningsPerShareDiluted_pid_zq6WgLPRLmOe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Diluted earnings per ordinary share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.94&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.75&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.84&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.38&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zFjttEyfiiLe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:SharePrice
      contextRef="AsOf2025-06-10_custom_QuarterlyRateMember"
      decimals="INF"
      id="Fact001438"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="AsOf2025-06-10_custom_AnnualBasisMember"
      decimals="INF"
      id="Fact001440"
      unitRef="USDPShares">0.60</us-gaap:SharePrice>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001442">&lt;p id="xdx_89C_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zJSlii5mLPQ9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth the computation of the basic and diluted earnings per share for the three and six months ended June 30, 2025,
and 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B2_zgBdR67uCrY2" style="display: none"&gt;Schedule of Earnings Per Share, Basic and Diluted&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20250401__20250630_zFLeVfXJ1gi1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240401__20240630_zGpuToK8KU7k" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20250101__20250630_zT79QgeDdJW5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240630_zoVCAOIjtodk" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Numerator for basic and diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_pn3n3_zdCIU5cyRAok" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 40%; text-align: left"&gt;Net Income attributable to parent&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;44,083&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;35,028&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;86,272&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 11%; text-align: right"&gt;64,758&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zYfqe25g7wf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator for basic earnings per ordinary share - weighted average shares outstanding&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,988,155&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,996,705&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,989,650&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;46,996,706&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zLJj07wPPSbg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect of dilutive securities and stock dividend&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1454"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1455"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1456"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1457"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zuKikMXcuhpl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Denominator for diluted earnings per ordinary share - weighted average shares outstanding&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,988,155&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,996,705&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,989,650&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;46,996,706&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pid_z4JGLFO7f1o7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per ordinary share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.94&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.75&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.84&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.38&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--EarningsPerShareDiluted_pid_zq6WgLPRLmOe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Diluted earnings per ordinary share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.94&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;0.75&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.84&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.38&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001444"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="-3"
      id="Fact001445"
      unitRef="USD">35028000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-01to2025-06-30"
      decimals="-3"
      id="Fact001446"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-06-30"
      decimals="-3"
      id="Fact001447"
      unitRef="USD">64758000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001449"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001450"
      unitRef="Shares">46996705</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001451"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001452"
      unitRef="Shares">46996706</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001459"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001460"
      unitRef="Shares">46996705</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001461"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001462"
      unitRef="Shares">46996706</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001464"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001465"
      unitRef="USDPShares">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001466"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001467"
      unitRef="USDPShares">1.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001469"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact001470"
      unitRef="USDPShares">0.75</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-01-01to2025-06-30"
      decimals="INF"
      id="Fact001471"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-012024-06-30"
      decimals="INF"
      id="Fact001472"
      unitRef="USDPShares">1.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2025-01-01to2025-06-30" id="Fact001474">&lt;p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_z8D8qe9D2v2e" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
13. &lt;span id="xdx_822_zLQ3zyI4Zrig"&gt;Commitments and Contingencies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Commitments&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2025, the Company had outstanding obligations to purchase an aggregate of at least $&lt;span id="xdx_906_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--NovemberThirtyTwoThousandThirtyMember_zygNdgfEtqj1" title="Purchase of aggregate raw material"&gt;85,735&lt;/span&gt; of certain raw materials from
a specific supplier before February 28, 2030, and an aggregate of at least $&lt;span id="xdx_90C_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20250101__20250630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--ThroughTwoThousandTwentyEightMember_zLiPIwv3hQC4" title="Purchase of aggregate raw material"&gt;8,062&lt;/span&gt; of certain raw materials from a specific supplier through
2028.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;General
Legal Matters&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, the Company is involved in legal matters arising in the regular course of business. Some disputes are derived directly
from our construction projects, related to supply and installation, and even though deemed ordinary, they may involve significant monetary
damages. We are also subject to other type of litigations arising from employment practices, worker&#x2019;s compensation, automobile
claims and general liability. It is very difficult to predict precisely what the outcome of these litigations might be. However, with
the information at our disposition as this time, there are no indications that such claims will result in a material adverse effect on
the business, financial condition or results of operations of the Company.&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="From2025-01-012025-06-30_srt_MinimumMember_custom_NovemberThirtyTwoThousandThirtyMember"
      decimals="-3"
      id="Fact001476"
      unitRef="USD">85735000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="From2025-01-012025-06-30_srt_MinimumMember_custom_ThroughTwoThousandTwentyEightMember"
      decimals="-3"
      id="Fact001478"
      unitRef="USD">8062000</us-gaap:LongTermPurchaseCommitmentAmount>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2025-04-012025-06-30" id="Fact001479">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2025-04-012025-06-30" id="Fact001480">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2025-04-012025-06-30" id="Fact001481">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2025-04-012025-06-30" id="Fact001482">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
