<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:TGLS="http://tecnoglass.com/20260630"
  xmlns:country="http://xbrl.sec.gov/country/2026"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2026"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2026"
  xmlns:us-gaap="http://fasb.org/us-gaap/2026"
  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-20260630.xsd" xlink:type="simple"/>
    <context id="From2026-01-01to2026-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2026-08-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2026-08-03</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="From2026-04-012026-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </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="From2025-01-012025-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="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">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-03-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-03-31</instant>
        </period>
    </context>
    <context id="AsOf2026-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2026-03-31</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="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">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </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">
        <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="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </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="From2025-04-032025-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>
            <startDate>2025-04-03</startDate>
            <endDate>2025-04-03</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="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="From2026-01-012026-06-30_us-gaap_ReportableSegmentAggregationBeforeOtherOperatingSegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:ReportableSegmentAggregationBeforeOtherOperatingSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="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="AsOf2028-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>2028-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_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-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_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-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_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-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_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:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_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:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="From2025-09-012025-09-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-09-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-09-30</instant>
        </period>
    </context>
    <context id="AsOf2024-09-30_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_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-12-31</instant>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</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="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="AsOf2025-09-03_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-09-03</instant>
        </period>
    </context>
    <context id="AsOf2025-09-04_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-09-04</instant>
        </period>
    </context>
    <context id="From2025-09-042025-09-04_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-09-04</startDate>
            <endDate>2025-09-04</endDate>
        </period>
    </context>
    <context id="From2025-09-042025-09-04_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">TGLS:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-09-04</startDate>
            <endDate>2025-09-04</endDate>
        </period>
    </context>
    <context id="From2024-09-042024-09-04_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>2024-09-04</startDate>
            <endDate>2024-09-04</endDate>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_InterestRateSwapContractsMember_custom_OtherCurrentAssetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="TGLS:StatementOfBalanceSheetLocationAxis">TGLS:OtherCurrentAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestRateSwapContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="TGLS:StatementOfBalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_custom_OtherCurrentAssetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="TGLS:StatementOfBalanceSheetLocationAxis">TGLS:OtherCurrentAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:ForeignCurrencyNonDeliveryForwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="TGLS:StatementOfBalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </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="From2026-04-012026-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestExpenseNetOfDeferredCostOfFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2025-04-012025-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestExpenseNetOfDeferredCostOfFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2025-01-012025-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">TGLS:InterestExpenseNetOfDeferredCostOfFinancingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_OtherMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_custom_OtherMember_us-gaap_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="AsOf2025-06-30_custom_StormArmourSolutionsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">TGLS:StormArmourSolutionsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="AsOf2026-06-30_custom_StormArmourSolutionsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">TGLS:StormArmourSolutionsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </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="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-04-012026-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>2026-04-01</startDate>
            <endDate>2026-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="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="AsOf2026-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember6862468">
        <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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember6862484">
        <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-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-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>2026-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-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>2025-12-31</instant>
        </period>
    </context>
    <context id="AsOf2026-03-18_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>2026-03-18</instant>
        </period>
    </context>
    <context id="AsOf2026-03-18_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>2026-03-18</instant>
        </period>
    </context>
    <context id="From2026-01-012026-06-30_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001534675</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-06-30_srt_MinimumMember_custom_FebruaryTwentyEightThousandThirtyThreeMember">
        <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:FebruaryTwentyEightThousandThirtyThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="From2026-01-012026-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>2026-01-01</startDate>
            <endDate>2026-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="Segment">
        <measure>TGLS:Segment</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2026-01-01to2026-06-30" id="Fact000003">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2026-01-01to2026-06-30" id="Fact000004">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="From2026-01-01to2026-06-30" id="Fact000005">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2026-01-01to2026-06-30" id="Fact000006">0001534675</dei:EntityCentralIndexKey>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2026-06-30"
      id="xdx2ixbrl0155"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2025-12-31"
      id="xdx2ixbrl0156"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2026-04-012026-06-30"
      id="xdx2ixbrl0264"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2026-01-01to2026-06-30"
      id="xdx2ixbrl0266"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:RealizedGainOnDerivativeInstruments
      contextRef="From2025-01-012025-06-30"
      id="xdx2ixbrl0382"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2026-01-01to2026-06-30"
      id="xdx2ixbrl0432"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2026-01-01to2026-06-30"
      id="xdx2ixbrl0438"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:AccountPayableForBusinessAcquisition
      contextRef="From2026-01-01to2026-06-30"
      id="xdx2ixbrl0495"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0511"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0512"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0513"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0515"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0522"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0523"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0524"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0525"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0530"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0531"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0532"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0533"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0534"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0538"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0539"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0540"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0541"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0542"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0546"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0547"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0548"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0549"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0551"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0566"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0567"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0568"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0569"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0571"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0576"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0577"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0579"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0580"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0581"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0586"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0587"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0588"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0589"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0590"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0594"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0595"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0596"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0597"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0598"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0602"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_us-gaap_TreasuryStockCommonMember"
      id="xdx2ixbrl0603"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0604"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0605"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0607"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0631"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0632"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0633"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0635"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0640"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0642"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0643"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0644"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0649"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0650"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0651"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0652"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0656"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0657"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0658"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0659"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0663"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0664"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31_custom_LegalReservesMember"
      id="xdx2ixbrl0665"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0667"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0688"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0689"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0690"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0692"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0697"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0699"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0700"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0701"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0706"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0707"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0708"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0709"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0713"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0714"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0715"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0716"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0720"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0721"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30_custom_LegalReservesMember"
      id="xdx2ixbrl0722"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0724"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0762"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      id="xdx2ixbrl0795"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0796"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2026-06-30"
      id="xdx2ixbrl0797"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0800"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0804"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0808"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0812"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0816"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0820"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0828"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0832"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      id="xdx2ixbrl0844"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2025-12-31"
      id="xdx2ixbrl1150"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:DerivativeFinancialInstrumentGain
      contextRef="From2025-04-012025-06-30"
      id="xdx2ixbrl1210"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:DerivativeFinancialInstrumentGain
      contextRef="From2025-01-012025-06-30"
      id="xdx2ixbrl1212"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2026-06-30_custom_InterestRateSwapContractsMember_us-gaap_AccruedLiabilitiesMember"
      id="xdx2ixbrl1309"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2026-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_us-gaap_AccruedLiabilitiesMember"
      id="xdx2ixbrl1313"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="AsOf2026-06-30"
      id="xdx2ixbrl1317"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2026-04-012026-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember"
      id="xdx2ixbrl1329"
      unitRef="USD"
      xsi:nil="true"/>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2026-04-012026-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember"
      id="xdx2ixbrl1337"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30_country_PA"
      id="xdx2ixbrl1363"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-01-012026-06-30_country_PA"
      id="xdx2ixbrl1365"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2026-01-01to2026-06-30" id="Fact000015">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2026-01-01to2026-06-30" id="Fact000016">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2026-01-01to2026-06-30" id="Fact000017">2026-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2026-01-01to2026-06-30" id="Fact000018">2026</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2026-01-01to2026-06-30" id="Fact000019">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2026-01-01to2026-06-30" id="Fact000020">001-35436</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2026-01-01to2026-06-30" id="Fact000021">TECNOGLASS HOLDINGS INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2026-01-01to2026-06-30" id="Fact000022">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2026-01-01to2026-06-30" id="Fact000023">98-1271120</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2026-01-01to2026-06-30" id="Fact000024">3550 NW 49th Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2026-01-01to2026-06-30" id="Fact000025">Miami</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2026-01-01to2026-06-30" id="Fact000026">FL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2026-01-01to2026-06-30" id="Fact000027">33142</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCountry contextRef="From2026-01-01to2026-06-30" id="Fact000028">US</dei:EntityAddressCountry>
    <dei:CountryRegion contextRef="From2026-01-01to2026-06-30" id="Fact000029">+1</dei:CountryRegion>
    <dei:CityAreaCode contextRef="From2026-01-01to2026-06-30" id="Fact000030">305</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2026-01-01to2026-06-30" id="Fact000031">638 5151</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2026-01-01to2026-06-30" id="Fact000032">Ordinary     Shares</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2026-01-01to2026-06-30" id="Fact000033">TGLS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2026-01-01to2026-06-30" id="Fact000034">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2026-01-01to2026-06-30" id="Fact000035">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2026-01-01to2026-06-30" id="Fact000036">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2026-01-01to2026-06-30" id="Fact000037">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2026-01-01to2026-06-30" id="Fact000038">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2026-01-01to2026-06-30" id="Fact000039">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2026-01-01to2026-06-30" id="Fact000040">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2026-08-03"
      decimals="INF"
      id="Fact000041"
      unitRef="Shares">44364616</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityListingParValuePerShare
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000042"
      unitRef="USDPShares">0.0001</dei:EntityListingParValuePerShare>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000050"
      unitRef="USD">80814000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000051"
      unitRef="USD">100901000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000053"
      unitRef="USD">3466000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000054"
      unitRef="USD">3150000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000056"
      unitRef="USD">287466000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000057"
      unitRef="USD">239448000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000059"
      unitRef="USD">2075000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000060"
      unitRef="USD">2002000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000062"
      unitRef="USD">271595000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000063"
      unitRef="USD">213524000</us-gaap:InventoryNet>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000065"
      unitRef="USD">29701000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000066"
      unitRef="USD">31809000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000068"
      unitRef="USD">55082000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000069"
      unitRef="USD">62724000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000071"
      unitRef="USD">730199000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000072"
      unitRef="USD">653558000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000077"
      unitRef="USD">562122000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000078"
      unitRef="USD">476159000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000080"
      unitRef="USD">1887000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000081"
      unitRef="USD">1730000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000083"
      unitRef="USD">329000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000084"
      unitRef="USD">1257000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000086"
      unitRef="USD">28414000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000087"
      unitRef="USD">20506000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000089"
      unitRef="USD">13808000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000090"
      unitRef="USD">12959000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000092"
      unitRef="USD">30059000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000093"
      unitRef="USD">30059000</us-gaap:Goodwill>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000095"
      unitRef="USD">55656000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000096"
      unitRef="USD">57443000</us-gaap:LongTermInvestments>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000098"
      unitRef="USD">7417000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000099"
      unitRef="USD">6721000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000101"
      unitRef="USD">699692000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000102"
      unitRef="USD">606834000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000104"
      unitRef="USD">1429891000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000105"
      unitRef="USD">1260392000</us-gaap:Assets>
    <us-gaap:DebtCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000113"
      unitRef="USD">6156000</us-gaap:DebtCurrent>
    <us-gaap:DebtCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000114"
      unitRef="USD">427000</us-gaap:DebtCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000116"
      unitRef="USD">178854000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000117"
      unitRef="USD">127228000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000119"
      unitRef="USD">8895000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000120"
      unitRef="USD">10881000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000122"
      unitRef="USD">6675000</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000123"
      unitRef="USD">6730000</us-gaap:DividendsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000125"
      unitRef="USD">173825000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000126"
      unitRef="USD">149442000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_us-gaap_NonrelatedPartyMember"
      decimals="-3"
      id="Fact000128"
      unitRef="USD">18250000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-12-31_us-gaap_NonrelatedPartyMember"
      decimals="-3"
      id="Fact000129"
      unitRef="USD">57038000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000131"
      unitRef="USD">392655000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000132"
      unitRef="USD">351746000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000137"
      unitRef="USD">28181000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000138"
      unitRef="USD">22404000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000140"
      unitRef="USD">1045000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000141"
      unitRef="USD">1988000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000143"
      unitRef="USD">219238000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000144"
      unitRef="USD">171202000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000146"
      unitRef="USD">248464000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000147"
      unitRef="USD">195594000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000149"
      unitRef="USD">641119000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000150"
      unitRef="USD">547340000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000158"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000160"
      unitRef="USDPShares">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000162"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000164"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000166"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000168"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000170"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000172"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000177"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000179"
      unitRef="USDPShares">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000181"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000183"
      unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000185"
      unitRef="Shares">46389046</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000187"
      unitRef="Shares">44364716</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000189"
      unitRef="Shares">46389146</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2025-12-31"
      decimals="INF"
      id="Fact000191"
      unitRef="Shares">44737726</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000174"
      unitRef="USD">5000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000175"
      unitRef="USD">5000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000193"
      unitRef="USD">95679000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000194"
      unitRef="USD">79218000</us-gaap:TreasuryStockValue>
    <TGLS:LegalReserves
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000196"
      unitRef="USD">1458000</TGLS:LegalReserves>
    <TGLS:LegalReserves
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000197"
      unitRef="USD">1458000</TGLS:LegalReserves>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000199"
      unitRef="USD">153353000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000200"
      unitRef="USD">153358000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000202"
      unitRef="USD">713697000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000203"
      unitRef="USD">670558000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000205"
      unitRef="USD">15938000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000206"
      unitRef="USD">-33109000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000208"
      unitRef="USD">788772000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000209"
      unitRef="USD">713052000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000211"
      unitRef="USD">1429891000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000212"
      unitRef="USD">1260392000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000219"
      unitRef="USD">294571000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000220"
      unitRef="USD">254145000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000221"
      unitRef="USD">542962000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ExternalCustomersMember"
      decimals="-3"
      id="Fact000222"
      unitRef="USD">475417000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000224"
      unitRef="USD">720000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000225"
      unitRef="USD">1401000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000226"
      unitRef="USD">1341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact000227"
      unitRef="USD">2417000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000229"
      unitRef="USD">295291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000230"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000231"
      unitRef="USD">544303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000232"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000234"
      unitRef="USD">185257000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000235"
      unitRef="USD">141211000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000236"
      unitRef="USD">338435000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000237"
      unitRef="USD">265974000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000239"
      unitRef="USD">110034000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000240"
      unitRef="USD">114335000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000241"
      unitRef="USD">205868000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000242"
      unitRef="USD">211860000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000249"
      unitRef="USD">45081000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000250"
      unitRef="USD">29730000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000251"
      unitRef="USD">67981000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000252"
      unitRef="USD">53347000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000254"
      unitRef="USD">28409000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000255"
      unitRef="USD">23405000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000256"
      unitRef="USD">56402000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000257"
      unitRef="USD">42260000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000259"
      unitRef="USD">73490000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000260"
      unitRef="USD">53135000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000261"
      unitRef="USD">124383000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000262"
      unitRef="USD">95607000</us-gaap:OperatingExpenses>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000265"
      unitRef="USD">4000</TGLS:OtherOperatingIncomeLoss>
    <TGLS:OtherOperatingIncomeLoss
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000267"
      unitRef="USD">4280000</TGLS:OtherOperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000269"
      unitRef="USD">36544000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000270"
      unitRef="USD">61204000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000271"
      unitRef="USD">81485000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000272"
      unitRef="USD">120533000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000274"
      unitRef="USD">644000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000275"
      unitRef="USD">588000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000276"
      unitRef="USD">1500000</us-gaap:NonoperatingGainsLosses>
    <us-gaap:NonoperatingGainsLosses
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000277"
      unitRef="USD">1604000</us-gaap:NonoperatingGainsLosses>
    <TGLS:EquityMethodIncome
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000279"
      unitRef="USD">-231000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000280"
      unitRef="USD">942000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000281"
      unitRef="USD">-129000</TGLS:EquityMethodIncome>
    <TGLS:EquityMethodIncome
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000282"
      unitRef="USD">2286000</TGLS:EquityMethodIncome>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000284"
      unitRef="USD">5213000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000285"
      unitRef="USD">847000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000286"
      unitRef="USD">6130000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000287"
      unitRef="USD">338000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000289"
      unitRef="USD">3520000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000290"
      unitRef="USD">1350000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000291"
      unitRef="USD">6543000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <TGLS:InterestExpenseAndDeferredCostOfFinancing
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000292"
      unitRef="USD">2681000</TGLS:InterestExpenseAndDeferredCostOfFinancing>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000294"
      unitRef="USD">38650000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000295"
      unitRef="USD">62231000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000296"
      unitRef="USD">82443000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000297"
      unitRef="USD">122080000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000299"
      unitRef="USD">14095000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000300"
      unitRef="USD">18148000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000301"
      unitRef="USD">25997000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000302"
      unitRef="USD">35808000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000304"
      unitRef="USD">24555000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000305"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000306"
      unitRef="USD">56446000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000307"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact000309"
      unitRef="USDPShares">0.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000310"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000311"
      unitRef="USDPShares">1.27</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact000312"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact000314"
      unitRef="USDPShares">0.55</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000315"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000316"
      unitRef="USDPShares">1.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact000317"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact000319"
      unitRef="Shares">44364801</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000320"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000321"
      unitRef="Shares">44497265</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact000322"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact000324"
      unitRef="Shares">44364801</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact000325"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000326"
      unitRef="Shares">44497265</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact000327"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000334"
      unitRef="USD">35693000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000335"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000336"
      unitRef="USD">48905000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000337"
      unitRef="USD">32836000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000339"
      unitRef="USD">-50000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000340"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000341"
      unitRef="USD">142000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000342"
      unitRef="USD">148000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000344"
      unitRef="USD">35643000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000345"
      unitRef="USD">14045000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000346"
      unitRef="USD">49047000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000347"
      unitRef="USD">32984000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000349"
      unitRef="USD">60198000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000350"
      unitRef="USD">58128000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000351"
      unitRef="USD">105493000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000352"
      unitRef="USD">119256000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000357"
      unitRef="USD">56446000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000358"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000363"
      unitRef="USD">1322000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000364"
      unitRef="USD">987000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000366"
      unitRef="USD">21367000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000367"
      unitRef="USD">16479000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000369"
      unitRef="USD">5009000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000370"
      unitRef="USD">2002000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000372"
      unitRef="USD">-129000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000373"
      unitRef="USD">2286000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000375"
      unitRef="USD">-487000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000376"
      unitRef="USD">4254000</us-gaap:GainLossOnDispositionOfAssets1>
    <TGLS:DeferredCostOfFinancing
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000378"
      unitRef="USD">307000</TGLS:DeferredCostOfFinancing>
    <TGLS:DeferredCostOfFinancing
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000379"
      unitRef="USD">556000</TGLS:DeferredCostOfFinancing>
    <TGLS:RealizedGainOnDerivativeInstruments
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000381"
      unitRef="USD">1181000</TGLS:RealizedGainOnDerivativeInstruments>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000384"
      unitRef="USD">15956000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000385"
      unitRef="USD">8718000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000387"
      unitRef="USD">-31000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000388"
      unitRef="USD">-391000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000393"
      unitRef="USD">32334000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000394"
      unitRef="USD">20376000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000396"
      unitRef="USD">35818000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000397"
      unitRef="USD">23996000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000399"
      unitRef="USD">2691000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000400"
      unitRef="USD">2529000</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000402"
      unitRef="USD">-19953000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000403"
      unitRef="USD">3248000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000405"
      unitRef="USD">31340000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000406"
      unitRef="USD">21802000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000408"
      unitRef="USD">-39160000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000409"
      unitRef="USD">-18513000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000411"
      unitRef="USD">-1810000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000412"
      unitRef="USD">87000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000414"
      unitRef="USD">178000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000415"
      unitRef="USD">15000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000417"
      unitRef="USD">-3668000</us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities>
    <us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000418"
      unitRef="USD">-21387000</us-gaap:IncreaseDecreaseInCommodityContractAssetsAndLiabilities>
    <us-gaap:IncreaseDecreaseInDueToRelatedParties
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000420"
      unitRef="USD">-2533000</us-gaap:IncreaseDecreaseInDueToRelatedParties>
    <us-gaap:IncreaseDecreaseInDueToRelatedParties
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000421"
      unitRef="USD">-1298000</us-gaap:IncreaseDecreaseInDueToRelatedParties>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000423"
      unitRef="USD">11116000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000424"
      unitRef="USD">64760000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000429"
      unitRef="USD">2257000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000430"
      unitRef="USD">8914000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000433"
      unitRef="USD">6841000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000435"
      unitRef="USD">600000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000436"
      unitRef="USD">73000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000439"
      unitRef="USD">12312000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000441"
      unitRef="USD">52662000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000442"
      unitRef="USD">62939000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000444"
      unitRef="USD">-51005000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000445"
      unitRef="USD">-48627000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000450"
      unitRef="USD">13364000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000451"
      unitRef="USD">14095000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000453"
      unitRef="USD">16466000</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:PaymentsForRepurchaseOfEquity
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000454"
      unitRef="USD">339000</us-gaap:PaymentsForRepurchaseOfEquity>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000456"
      unitRef="USD">63810000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000457"
      unitRef="USD">3613000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000459"
      unitRef="USD">15731000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000460"
      unitRef="USD">4103000</us-gaap:RepaymentsOfDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000462"
      unitRef="USD">18249000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000463"
      unitRef="USD">-14924000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000465"
      unitRef="USD">1553000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000466"
      unitRef="USD">1816000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000468"
      unitRef="USD">-20087000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000469"
      unitRef="USD">3025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000471"
      unitRef="USD">100901000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000472"
      unitRef="USD">134882000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000474"
      unitRef="USD">80814000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000475"
      unitRef="USD">137907000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000483"
      unitRef="USD">4698000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000484"
      unitRef="USD">3343000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000486"
      unitRef="USD">51609000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000487"
      unitRef="USD">47360000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:FairValueOfAssetsAcquired
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000492"
      unitRef="USD">9778000</us-gaap:FairValueOfAssetsAcquired>
    <us-gaap:FairValueOfAssetsAcquired
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000493"
      unitRef="USD">7663000</us-gaap:FairValueOfAssetsAcquired>
    <TGLS:AccountPayableForBusinessAcquisition
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000496"
      unitRef="USD">3588000</TGLS:AccountPayableForBusinessAcquisition>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000506"
      unitRef="Shares">46389146</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000498"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2025-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="INF"
      id="Fact000508"
      unitRef="Shares">1651420</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact000499"
      unitRef="USD">-79218000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000500"
      unitRef="USD">153358000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000501"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000502"
      unitRef="USD">670558000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000503"
      unitRef="USD">-33109000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000504"
      unitRef="USD">713052000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2026-03-31"
      decimals="INF"
      id="Fact000518"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000514"
      unitRef="USD">6652000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000516"
      unitRef="USD">6652000</us-gaap:DividendsCommonStock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="INF"
      id="Fact000528"
      unitRef="Shares">372910</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact000521"
      unitRef="USD">16461000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000526"
      unitRef="USD">16461000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000535"
      unitRef="USD">192000</TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000536"
      unitRef="USD">192000</TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSaleAndDerivativeContracts>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000543"
      unitRef="USD">13212000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000544"
      unitRef="USD">13212000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000550"
      unitRef="USD">31891000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000552"
      unitRef="USD">31891000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2026-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000562"
      unitRef="Shares">46389146</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000554"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2026-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="INF"
      id="Fact000564"
      unitRef="Shares">2024330</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact000555"
      unitRef="USD">-95679000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000556"
      unitRef="USD">153358000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000557"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000558"
      unitRef="USD">695797000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000559"
      unitRef="USD">-19705000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-03-31"
      decimals="-3"
      id="Fact000560"
      unitRef="USD">735234000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact000574"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000570"
      unitRef="USD">6655000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000572"
      unitRef="USD">6655000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2026-04-012026-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000584"
      unitRef="Shares">100</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000578"
      unitRef="USD">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000582"
      unitRef="USD">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000591"
      unitRef="USD">-50000</TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale>
    <TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000592"
      unitRef="USD">-50000</TGLS:OtherComprehensiveIncomeLossChangeInFairValueOfInvestmentsAvailableForSale>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000599"
      unitRef="USD">35693000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000600"
      unitRef="USD">35693000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000606"
      unitRef="USD">24555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000608"
      unitRef="USD">24555000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2026-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000618"
      unitRef="Shares">46389046</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000610"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2026-06-30_us-gaap_TreasuryStockCommonMember"
      decimals="INF"
      id="Fact000620"
      unitRef="Shares">2024330</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact000611"
      unitRef="USD">-95679000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000612"
      unitRef="USD">153353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000613"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000614"
      unitRef="USD">713697000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000615"
      unitRef="USD">15938000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000616"
      unitRef="USD">788772000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000629"
      unitRef="Shares">46991558</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000622"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000623"
      unitRef="USD">192094000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000624"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000625"
      unitRef="USD">538787000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000626"
      unitRef="USD">-101161000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="Fact000627"
      unitRef="USD">631183000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2025-03-31"
      decimals="INF"
      id="Fact000638"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000634"
      unitRef="USD">7050000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000636"
      unitRef="USD">7050000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2025-01-012025-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000647"
      unitRef="Shares">1610</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000641"
      unitRef="USD">124000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000645"
      unitRef="USD">124000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000653"
      unitRef="USD">-637000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000654"
      unitRef="USD">-637000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000660"
      unitRef="USD">19576000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000661"
      unitRef="USD">19576000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000666"
      unitRef="USD">42189000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2025-01-012025-03-31"
      decimals="-3"
      id="Fact000668"
      unitRef="USD">42189000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000677"
      unitRef="Shares">46989948</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000670"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000671"
      unitRef="USD">191970000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000672"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000673"
      unitRef="USD">573926000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000674"
      unitRef="USD">-82222000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31"
      decimals="-3"
      id="Fact000675"
      unitRef="USD">685137000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000686"
      unitRef="Shares">46989948</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000679"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000680"
      unitRef="USD">191970000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000681"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000682"
      unitRef="USD">573926000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000683"
      unitRef="USD">-82222000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-03-31"
      decimals="-3"
      id="Fact000684"
      unitRef="USD">685137000</us-gaap:StockholdersEquity>
    <us-gaap:SharePrice
      contextRef="AsOf2025-06-30"
      decimals="INF"
      id="Fact000695"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000691"
      unitRef="USD">7049000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000693"
      unitRef="USD">7049000</us-gaap:DividendsCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2025-04-012025-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000704"
      unitRef="Shares">2800</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000698"
      unitRef="USD">215000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000702"
      unitRef="USD">215000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000710"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000711"
      unitRef="USD">785000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000717"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000718"
      unitRef="USD">13260000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000723"
      unitRef="USD">44083000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000725"
      unitRef="USD">44083000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000734"
      unitRef="Shares">46987148</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000727"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000728"
      unitRef="USD">191755000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000729"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000730"
      unitRef="USD">610960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000731"
      unitRef="USD">-68177000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000732"
      unitRef="USD">736001000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000743"
      unitRef="Shares">46987148</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="Fact000736"
      unitRef="USD">5000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact000737"
      unitRef="USD">191755000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_custom_LegalReservesMember"
      decimals="-3"
      id="Fact000738"
      unitRef="USD">1458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="Fact000739"
      unitRef="USD">610960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact000740"
      unitRef="USD">-68177000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000741"
      unitRef="USD">736001000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000745">&lt;p id="xdx_805_eus-gaap--OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_zrS0XKDxICVj" 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_82C_zeFH3oOi0IDf"&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
Holdings Inc., a Florida corporation (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, and exports more than 97% of its production
to foreign countries.&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; 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 was originally incorporated in 2013 in the Cayman Islands as Andina Acquisition Corporation and later changed its name to Tecnoglass
Inc. in connection with a business combination between Tecnoglass subsidiaries C.I. Energia Solar S.A. E.S. Windows (&#x201c;ES&#x201d;)
and Tecnglass S.A. (&#x201c;TG&#x201d;) and Andina Acquisition Corporation. Effective July 7, 2026, Tecnoglass Inc. completed a change
of jurisdiction of incorporation from the Cayman Islands to the State of Florida through a transaction known as a continuation under
Section 206 of the Companies Act (as amended) of the Cayman Islands and Section 607.11920 of the Florida Business Corporation Act (the
&#x201c;Continuation&#x201d;). The Continuation became effective on July 7, 2026 upon the Company&#x2019;s registration with the State of
Florida and the concurrent de-registration application of the Company in the Cayman Islands. As part of the Continuation, the Company&#x2019;s
name was changed to Tecnoglass Holdings Inc.&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:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000747">&lt;p id="xdx_808_eus-gaap--SignificantAccountingPoliciesTextBlock_zFZLOL7iSP54" 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_82C_zpLhVrjMenp8"&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_zbEmYlFw8EP1" 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_zmQdi6Vc4Lga"&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; text-indent: 0.5in"&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, 2025. 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; text-indent: 0.5in"&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; text-indent: 0.5in"&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 condensed consolidated statements of operations and
other 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 the 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"&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;/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_84D_eus-gaap--ConsolidationPolicyTextBlock_zRtmrbFGKsod" 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_864_zd5tORF7wbfe"&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 TG, ES, ES Windows LLC (&#x201c;ESW LLC&#x201d;),
Tecnoglass LLC, Tecno RE LLC, Tecnoglass Armour, 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 in which we have a controlling
financial interest because we hold a majority voting interest. 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_zHY21XXkZs3" 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_zsDn1hOuWUug"&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_84C_eus-gaap--ExtendedProductWarrantyPolicy_zUX3zI3TekQ9" 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_86C_zj26imsZYbxc"&gt;Product
Warranties&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;span id="xdx_900_eus-gaap--StandardProductWarrantyDescription_c20260101__20260630_zvQenju0X9L2" title="Product warranties description"&gt;The
Company offers product warranties in connection with the sale and installation of its products that are competitive in the markets in
which the products are sold. Standard warranties vary based upon the product and service offered and durations are generally from five
to ten years for architectural glass, curtain wall, laminated and tempered glass, window and door products.&lt;/span&gt; Warranties are not priced
or sold separately and do not provide the customer with services or coverages in addition to the assurance that the product complies
with original agreed-upon specifications. Claims are settled by replacement of the warrantied products. The Company records a liability
for estimated future warranty costs at the time of sale based on historical claims data and projected revenues. This liability is reassessed
periodically based on updated claims experience and revenue projections.&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--ScheduleOfProductWarrantyLiabilityTableTextBlock_zlP2fhss76wi" 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 product warranty liability for the six months ended June 30, 2026, 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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zTvqIZrikBmb" style="display: none"&gt;Schedule
of Product Warranty Liability&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_494_20260101__20260630_zzNKflqq1Ifi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_zhCm0PRRTKT8" 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;/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="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;/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;2026&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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--StandardProductWarrantyAccrual_iS_pn3n3_znjD6g3tfZ31" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&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;363&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0762"&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 id="xdx_408_eus-gaap--StandardProductWarrantyAccrualWarrantiesIssued_pn3n3_zTTjhMO6YE96" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Accruals for product warranties issued during period&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;550&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;570&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--StandardProductWarrantyAccrualPayments_iN_pn3n3_di_zWPvdmPUf28h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Reductions for payments made under product warranties&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;(610&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;(279&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--StandardProductWarrantyAccrual_iE_pn3n3_zcfkKXnHHTmh" 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="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;303&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;291&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_8A7_zoeH7sMXLQB1" 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_84F_ecustom--RecoveryOfPreviouslyPaidImportTariffsPolicyTextBlock_zSNDGwu1GL3a" 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_869_zaIx1sfiyFwa"&gt;Recovery
of Previously Paid Import Tariffs&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;&lt;b&gt;&#160;&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;During
the three months ended March 31, 2026, the Company recorded $&lt;span id="xdx_905_ecustom--RecoveryOfPreviouslyPaidImportTariffs_pn3n3_c20260101__20260331_zcqGbBcSij8c" title="Recovery of previously paid import tariffs"&gt;1,876&lt;/span&gt; of recoveries associated with import tariffs on certain products imported
to the United States under the International Emergency Economic Powers Act (&#x201c;IEEPA&#x201d;) paid in 2025 and the first quarter of
2026. In February 2026, the U.S. Supreme Court ruled that certain tariffs imposed under the IEEPA were not valid, and in March 2026,
the Court of International Trade ruled that U.S. Customs and Border Protection was required, subject to applicable procedures, to refund
IEEPA tariffs that had been collected. The Company filed reimbursement claims with U.S. Customs and Border Protection, which were accepted
on April 20, 2026 and reimbursement was received in July, 2026. These recoveries relate to previous year and current period imports for
which eligibility for refund was subsequently established. The Company recognized the recovery in the period in which realization became
probable and reasonably estimable as a reduction to selling expenses on the Condensed Consolidated Statement of 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 id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_z7uUoNXYp8Kj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_86B_zK9uuZOnU9Zc"&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;Income Statement&#x2014;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 2025, the FASB issued ASU 2025-11 &#x201c;Interim Reporting (Topic 270)&#x201d;. The Board is issuing amendments in this Update
to improve the guidance in Topic 270, Interim Reporting, by improving the navigability of the required interim disclosures and clarifying
when that guidance is applicable. The amendments also provide additional guidance on what disclosures should be provided in interim reporting
periods. The amendments in this Update are effective for interim reporting periods within annual reporting periods beginning after December
15, 2027, for public business entities and for interim reporting periods within annual reporting 3 periods beginning after December 15,
2028, for entities other than public business entities. Early adoption is permitted for all entities. The Company is currently evaluating
the potential effect of this ASU on its interim 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"&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 2025, the FASB issued ASU 2025-09 &#x201c;Derivative and Hedging (Topic 815)&#x201d;. Consistent with the original objective of
Update 2017-12, the objective of this Update is to more closely align hedge accounting with the economics of an entity&#x2019;s risk management
activities. The amendments included in the five issues addressed in this Update are intended to better reflect those strategies in financial
reporting by enabling entities to achieve and maintain hedge accounting for highly effective economic hedges of forecasted transactions.
The five issues addressed are: Issue 1: Similar Risk Assessment for Cash Flow Hedges, Issue 2: Hedging Forecasted Interest Payments on
Choose-Your-Rate Debt Instruments, Issue 3: Cash Flow Hedges of Nonfinancial Forecasted Transactions, Issue 4: Net Written Options as
Hedging Instruments and Issue 5: Foreign-Currency-Denominated Debt Instrument as Hedging Instrument and Hedged Item (Dual Hedge). For
public business entities, the amendments in this Update are effective for annual reporting periods beginning after December 15, 2026,
and interim periods within those annual reporting periods. 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"&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
September 2025, the FASB issued ASU 2025-06 &#x201c;Intangibles-Goodwill and other-Internal-Use Software (Subtopic 350-40)&#x201d;. The
Board is issuing this Update to modernize the accounting for software costs that are accounted for under Subtopic 350-40, Intangibles&#x2014;Goodwill
and Other&#x2014;Internal-Use Software (referred to as &#x201c;internal-use software&#x201d;). Feedback from preparer and practitioner stakeholders
on the 2021 FASB Invitation to Comment, Agenda Consultation, indicated that the accounting for software costs should be a top priority
for the Board. Considering this feedback, the Board decided to make targeted improvements to Subtopic 350-40 to increase the operability
of the recognition guidance considering different methods of software development. The amendments in this Update are effective for all
entities for annual reporting periods beginning after December 15, 2027, and interim reporting periods 4 within those annual reporting
periods. Early adoption is permitted as of the beginning of an annual reporting period. 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"&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;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000749">&lt;p id="xdx_842_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zbEmYlFw8EP1" 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_zmQdi6Vc4Lga"&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; text-indent: 0.5in"&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, 2025. 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; text-indent: 0.5in"&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; text-indent: 0.5in"&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 condensed consolidated statements of operations and
other 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 the 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"&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;/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:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000751">&lt;p id="xdx_84D_eus-gaap--ConsolidationPolicyTextBlock_zRtmrbFGKsod" 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_864_zd5tORF7wbfe"&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 TG, ES, ES Windows LLC (&#x201c;ESW LLC&#x201d;),
Tecnoglass LLC, Tecno RE LLC, Tecnoglass Armour, 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 in which we have a controlling
financial interest because we hold a majority voting interest. 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="From2026-01-01to2026-06-30" id="Fact000753">&lt;p id="xdx_842_eus-gaap--DerivativesPolicyTextBlock_zHY21XXkZs3" 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_zsDn1hOuWUug"&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:ExtendedProductWarrantyPolicy contextRef="From2026-01-01to2026-06-30" id="Fact000755">&lt;p id="xdx_84C_eus-gaap--ExtendedProductWarrantyPolicy_zUX3zI3TekQ9" 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_86C_zj26imsZYbxc"&gt;Product
Warranties&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;span id="xdx_900_eus-gaap--StandardProductWarrantyDescription_c20260101__20260630_zvQenju0X9L2" title="Product warranties description"&gt;The
Company offers product warranties in connection with the sale and installation of its products that are competitive in the markets in
which the products are sold. Standard warranties vary based upon the product and service offered and durations are generally from five
to ten years for architectural glass, curtain wall, laminated and tempered glass, window and door products.&lt;/span&gt; Warranties are not priced
or sold separately and do not provide the customer with services or coverages in addition to the assurance that the product complies
with original agreed-upon specifications. Claims are settled by replacement of the warrantied products. The Company records a liability
for estimated future warranty costs at the time of sale based on historical claims data and projected revenues. This liability is reassessed
periodically based on updated claims experience and revenue projections.&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--ScheduleOfProductWarrantyLiabilityTableTextBlock_zlP2fhss76wi" 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 product warranty liability for the six months ended June 30, 2026, 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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zTvqIZrikBmb" style="display: none"&gt;Schedule
of Product Warranty Liability&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_494_20260101__20260630_zzNKflqq1Ifi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_zhCm0PRRTKT8" 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;/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="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;/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;2026&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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--StandardProductWarrantyAccrual_iS_pn3n3_znjD6g3tfZ31" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&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;363&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0762"&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 id="xdx_408_eus-gaap--StandardProductWarrantyAccrualWarrantiesIssued_pn3n3_zTTjhMO6YE96" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Accruals for product warranties issued during period&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;550&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;570&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--StandardProductWarrantyAccrualPayments_iN_pn3n3_di_zWPvdmPUf28h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Reductions for payments made under product warranties&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;(610&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;(279&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--StandardProductWarrantyAccrual_iE_pn3n3_zcfkKXnHHTmh" 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="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;303&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;291&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_8A7_zoeH7sMXLQB1" 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:ExtendedProductWarrantyPolicy>
    <us-gaap:StandardProductWarrantyDescription contextRef="From2026-01-01to2026-06-30" id="Fact000757">The
Company offers product warranties in connection with the sale and installation of its products that are competitive in the markets in
which the products are sold. Standard warranties vary based upon the product and service offered and durations are generally from five
to ten years for architectural glass, curtain wall, laminated and tempered glass, window and door products.</us-gaap:StandardProductWarrantyDescription>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000759">&lt;p id="xdx_890_eus-gaap--ScheduleOfProductWarrantyLiabilityTableTextBlock_zlP2fhss76wi" 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 product warranty liability for the six months ended June 30, 2026, 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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zTvqIZrikBmb" style="display: none"&gt;Schedule
of Product Warranty Liability&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_494_20260101__20260630_zzNKflqq1Ifi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_zhCm0PRRTKT8" 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;/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="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;/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;2026&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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--StandardProductWarrantyAccrual_iS_pn3n3_znjD6g3tfZ31" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&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;363&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0762"&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 id="xdx_408_eus-gaap--StandardProductWarrantyAccrualWarrantiesIssued_pn3n3_zTTjhMO6YE96" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Accruals for product warranties issued during period&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;550&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;570&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--StandardProductWarrantyAccrualPayments_iN_pn3n3_di_zWPvdmPUf28h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Reductions for payments made under product warranties&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;(610&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;(279&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--StandardProductWarrantyAccrual_iE_pn3n3_zcfkKXnHHTmh" 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="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;303&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;291&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:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000761"
      unitRef="USD">363000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000764"
      unitRef="USD">550000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000765"
      unitRef="USD">570000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000767"
      unitRef="USD">610000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000768"
      unitRef="USD">279000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000770"
      unitRef="USD">303000</us-gaap:StandardProductWarrantyAccrual>
    <us-gaap:StandardProductWarrantyAccrual
      contextRef="AsOf2025-06-30"
      decimals="-3"
      id="Fact000771"
      unitRef="USD">291000</us-gaap:StandardProductWarrantyAccrual>
    <TGLS:RecoveryOfPreviouslyPaidImportTariffsPolicyTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000773">&lt;p id="xdx_84F_ecustom--RecoveryOfPreviouslyPaidImportTariffsPolicyTextBlock_zSNDGwu1GL3a" 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_869_zaIx1sfiyFwa"&gt;Recovery
of Previously Paid Import Tariffs&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;&lt;b&gt;&#160;&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;During
the three months ended March 31, 2026, the Company recorded $&lt;span id="xdx_905_ecustom--RecoveryOfPreviouslyPaidImportTariffs_pn3n3_c20260101__20260331_zcqGbBcSij8c" title="Recovery of previously paid import tariffs"&gt;1,876&lt;/span&gt; of recoveries associated with import tariffs on certain products imported
to the United States under the International Emergency Economic Powers Act (&#x201c;IEEPA&#x201d;) paid in 2025 and the first quarter of
2026. In February 2026, the U.S. Supreme Court ruled that certain tariffs imposed under the IEEPA were not valid, and in March 2026,
the Court of International Trade ruled that U.S. Customs and Border Protection was required, subject to applicable procedures, to refund
IEEPA tariffs that had been collected. The Company filed reimbursement claims with U.S. Customs and Border Protection, which were accepted
on April 20, 2026 and reimbursement was received in July, 2026. These recoveries relate to previous year and current period imports for
which eligibility for refund was subsequently established. The Company recognized the recovery in the period in which realization became
probable and reasonably estimable as a reduction to selling expenses on the Condensed Consolidated Statement of 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;

</TGLS:RecoveryOfPreviouslyPaidImportTariffsPolicyTextBlock>
    <TGLS:RecoveryOfPreviouslyPaidImportTariffs
      contextRef="From2026-01-012026-03-31"
      decimals="-3"
      id="Fact000775"
      unitRef="USD">1876000</TGLS:RecoveryOfPreviouslyPaidImportTariffs>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000777">&lt;p id="xdx_84A_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_z7uUoNXYp8Kj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_86B_zK9uuZOnU9Zc"&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;Income Statement&#x2014;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 2025, the FASB issued ASU 2025-11 &#x201c;Interim Reporting (Topic 270)&#x201d;. The Board is issuing amendments in this Update
to improve the guidance in Topic 270, Interim Reporting, by improving the navigability of the required interim disclosures and clarifying
when that guidance is applicable. The amendments also provide additional guidance on what disclosures should be provided in interim reporting
periods. The amendments in this Update are effective for interim reporting periods within annual reporting periods beginning after December
15, 2027, for public business entities and for interim reporting periods within annual reporting 3 periods beginning after December 15,
2028, for entities other than public business entities. Early adoption is permitted for all entities. The Company is currently evaluating
the potential effect of this ASU on its interim 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"&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 2025, the FASB issued ASU 2025-09 &#x201c;Derivative and Hedging (Topic 815)&#x201d;. Consistent with the original objective of
Update 2017-12, the objective of this Update is to more closely align hedge accounting with the economics of an entity&#x2019;s risk management
activities. The amendments included in the five issues addressed in this Update are intended to better reflect those strategies in financial
reporting by enabling entities to achieve and maintain hedge accounting for highly effective economic hedges of forecasted transactions.
The five issues addressed are: Issue 1: Similar Risk Assessment for Cash Flow Hedges, Issue 2: Hedging Forecasted Interest Payments on
Choose-Your-Rate Debt Instruments, Issue 3: Cash Flow Hedges of Nonfinancial Forecasted Transactions, Issue 4: Net Written Options as
Hedging Instruments and Issue 5: Foreign-Currency-Denominated Debt Instrument as Hedging Instrument and Hedged Item (Dual Hedge). For
public business entities, the amendments in this Update are effective for annual reporting periods beginning after December 15, 2026,
and interim periods within those annual reporting periods. 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"&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
September 2025, the FASB issued ASU 2025-06 &#x201c;Intangibles-Goodwill and other-Internal-Use Software (Subtopic 350-40)&#x201d;. The
Board is issuing this Update to modernize the accounting for software costs that are accounted for under Subtopic 350-40, Intangibles&#x2014;Goodwill
and Other&#x2014;Internal-Use Software (referred to as &#x201c;internal-use software&#x201d;). Feedback from preparer and practitioner stakeholders
on the 2021 FASB Invitation to Comment, Agenda Consultation, indicated that the accounting for software costs should be a top priority
for the Board. Considering this feedback, the Board decided to make targeted improvements to Subtopic 350-40 to increase the operability
of the recognition guidance considering different methods of software development. The amendments in this Update are effective for all
entities for annual reporting periods beginning after December 15, 2027, and interim reporting periods 4 within those annual reporting
periods. Early adoption is permitted as of the beginning of an annual reporting period. 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"&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;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000779">&lt;p id="xdx_80C_eus-gaap--BusinessCombinationDisclosureTextBlock_zay3KL92w4N8" 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
3. &lt;span id="xdx_82F_zpXY331xm7i6"&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_909_eus-gaap--BusinessCombinationPriceOfAcquisitionExpected_pn3n3_c20250403__20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zXBYz13a5Su1" title="Purchase price for acquisition"&gt;10,429&lt;/span&gt;, of which $&lt;span id="xdx_90C_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zO3VRR2P1iPg" title="Cash paid in acquisition"&gt;6,588&lt;/span&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_903_ecustom--WorkingCapitalAdjustment_iI_pn3n3_c20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zOjCtIxUMya3" title="Working capital adjustment"&gt;253&lt;/span&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, subsequently extended. The total amount of acquisition-related costs
was $&lt;span id="xdx_902_eus-gaap--BusinessAcquisitionCostOfAcquiredEntityTransactionCosts_iI_pn3n3_c20250630_zSIEDpoBdX51" title="Acquisition-related costs"&gt;588&lt;/span&gt;, which are included within general and administrative expenses in the Statement of operations during the second quarter of 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 was $&lt;span id="xdx_905_eus-gaap--BusinessCombinationPriceOfAcquisitionExpected_pn3n3_c20250403__20250403__us-gaap--BusinessAcquisitionAxis__custom--ContiglassAssetAcquisitionLLCMember_zDDcsaK4ANq4" title="Purchase price for acquisition"&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. The adjustment period ended on April 3, 2026.&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_zvbP8SSBwZn8" 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;&lt;span id="xdx_8BB_zYcHFEAfGZU3" style="display: none"&gt;Schedule
of Purchase Price Allocation Consideration Transferred&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;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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Consideration Transferred:&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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: rgb(204,238,255)"&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_984_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20260101__20260630_zjP6750rIIye" 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;/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: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20260630__srt--RestatementAxis__srt--ScenarioPreviouslyReportedMember_ztKDiCL1h5tc" style="border-bottom: Black 1pt solid; text-align: center"&gt;Preliminary&lt;br/&gt;
 Purchase&lt;br/&gt;
 Price&lt;br/&gt;
 Allocation&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_49A_20260630__srt--RestatementAxis__srt--RevisionOfPriorPeriodReclassificationAdjustmentMember_zV6MEDdmNz89" style="border-bottom: Black 1pt solid; text-align: center"&gt;Measurement&lt;br/&gt;
 Period&lt;br/&gt;
 Adjustments&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_49E_20260630_zQsXFEEZBIfg" style="border-bottom: Black 1pt solid; text-align: center"&gt;Adjusted&lt;br/&gt;
 Purchase&lt;br/&gt;
 Price&lt;br/&gt;
 Allocation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_znYefwClbKl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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: xdx2ixbrl0795"&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0796"&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0797"&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_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_zBHTHkbsf3Hk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 52%; text-align: left"&gt;Accounts Receivable&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: 12%; text-align: right"&gt;4,814&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: 12%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0800"&gt;-&lt;/span&gt;&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: 12%; text-align: right"&gt;4,814&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--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_zAMMc7NFsTF1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0804"&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;585&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_ziU0wsWXlLPd" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0808"&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;826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_ztTg17U7N4p9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0812"&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;170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_zOYNKy2thvU8" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0816"&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;670&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_znaucc7zkVi7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0820"&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;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_zv7AqmO8Vi45" style="vertical-align: bottom; background-color: White"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(555&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;637&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_iNI_pn3n3_di_zWDIb2Fkzvo6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0828"&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;(2,890&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_zvzMbeStHU6e" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0832"&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;(81&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_zz0qhELdTuL6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(424&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_zc4AAZAkjHme" style="vertical-align: bottom; background-color: White"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;580&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;(649&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_z26G52jgV1b2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0844"&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;(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_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_zBtw5vgxTAce" style="vertical-align: bottom; background-color: White"&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;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;119&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,931&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_zBhlthppEaw2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(119&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;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,498&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_zqidNh9NXwlk" 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 were 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 id="xdx_907_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dtY_c20260630__srt--RangeAxis__srt--MinimumMember_zjWifEjdtjB5" style="display: none" title="Intangible asset, finite-lived, useful life"&gt;2&lt;/span&gt;two to &lt;span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_iI_dc_c20260630__srt--RangeAxis__srt--MaximumMember_zoVzPQi8CQNb" title="Intangible asset, finite-lived, useful life"&gt;five years&lt;/span&gt;. See &#x201c;Note 6 &#x2013; Goodwill and Intangible
Assets&#x201d; 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;

</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationPriceOfAcquisitionExpected
      contextRef="From2025-04-032025-04-03_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000781"
      unitRef="USD">10429000</us-gaap:BusinessCombinationPriceOfAcquisitionExpected>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="AsOf2025-04-03_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000783"
      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="Fact000787"
      unitRef="USD">588000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessCombinationPriceOfAcquisitionExpected
      contextRef="From2025-04-032025-04-03_custom_ContiglassAssetAcquisitionLLCMember"
      decimals="-3"
      id="Fact000789"
      unitRef="USD">10429000</us-gaap:BusinessCombinationPriceOfAcquisitionExpected>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000791">&lt;p id="xdx_89E_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zvbP8SSBwZn8" 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;&lt;span id="xdx_8BB_zYcHFEAfGZU3" style="display: none"&gt;Schedule
of Purchase Price Allocation Consideration Transferred&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;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;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Consideration Transferred:&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&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: rgb(204,238,255)"&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_984_eus-gaap--BusinessCombinationConsiderationTransferred1_pn3n3_c20260101__20260630_zjP6750rIIye" 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;/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: 70%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Recognized amounts of identifiable assets acquired and liabilities assumed:&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20260630__srt--RestatementAxis__srt--ScenarioPreviouslyReportedMember_ztKDiCL1h5tc" style="border-bottom: Black 1pt solid; text-align: center"&gt;Preliminary&lt;br/&gt;
 Purchase&lt;br/&gt;
 Price&lt;br/&gt;
 Allocation&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_49A_20260630__srt--RestatementAxis__srt--RevisionOfPriorPeriodReclassificationAdjustmentMember_zV6MEDdmNz89" style="border-bottom: Black 1pt solid; text-align: center"&gt;Measurement&lt;br/&gt;
 Period&lt;br/&gt;
 Adjustments&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_49E_20260630_zQsXFEEZBIfg" style="border-bottom: Black 1pt solid; text-align: center"&gt;Adjusted&lt;br/&gt;
 Purchase&lt;br/&gt;
 Price&lt;br/&gt;
 Allocation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_pn3n3_znYefwClbKl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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: xdx2ixbrl0795"&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0796"&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl0797"&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_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_pn3n3_zBHTHkbsf3Hk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 52%; text-align: left"&gt;Accounts Receivable&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: 12%; text-align: right"&gt;4,814&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: 12%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0800"&gt;-&lt;/span&gt;&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: 12%; text-align: right"&gt;4,814&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--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_pn3n3_zAMMc7NFsTF1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0804"&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;585&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_pn3n3_ziU0wsWXlLPd" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0808"&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;826&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_iI_pn3n3_ztTg17U7N4p9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0812"&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;170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog_iI_pn3n3_zOYNKy2thvU8" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0816"&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;670&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits_iI_pn3n3_znaucc7zkVi7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0820"&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;6,260&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iI_pn3n3_zv7AqmO8Vi45" style="vertical-align: bottom; background-color: White"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(555&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;637&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_iNI_pn3n3_di_zWDIb2Fkzvo6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0828"&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;(2,890&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense_iI_pn3n3_zvzMbeStHU6e" style="vertical-align: bottom; background-color: White"&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;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: xdx2ixbrl0832"&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;(81&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit_iI_pn3n3_zz0qhELdTuL6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;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;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(424&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities_iI_pn3n3_zc4AAZAkjHme" style="vertical-align: bottom; background-color: White"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;580&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;(649&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit_iI_pn3n3_z26G52jgV1b2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;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: xdx2ixbrl0844"&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;(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_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iTI_pn3n3_zBtw5vgxTAce" style="vertical-align: bottom; background-color: White"&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;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;119&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,931&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_zBhlthppEaw2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(119&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;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,498&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000793"
      unitRef="USD">10429000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000799"
      unitRef="USD">4814000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000801"
      unitRef="USD">4814000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000803"
      unitRef="USD">585000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000805"
      unitRef="USD">585000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000807"
      unitRef="USD">826000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000809"
      unitRef="USD">826000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000811"
      unitRef="USD">170000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000813"
      unitRef="USD">170000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000815"
      unitRef="USD">670000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000817"
      unitRef="USD">670000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractBacklog>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000819"
      unitRef="USD">6260000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000821"
      unitRef="USD">6260000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoticeOfAcceptanceAndPermits>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000823"
      unitRef="USD">1192000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      decimals="-3"
      id="Fact000824"
      unitRef="USD">-555000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000825"
      unitRef="USD">637000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000827"
      unitRef="USD">2890000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000829"
      unitRef="USD">2890000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000831"
      unitRef="USD">-81000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000833"
      unitRef="USD">-81000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpense>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000835"
      unitRef="USD">-518000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      decimals="-3"
      id="Fact000836"
      unitRef="USD">94000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000837"
      unitRef="USD">-424000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedServiceRevenueDeposit>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000839"
      unitRef="USD">-1229000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      decimals="-3"
      id="Fact000840"
      unitRef="USD">580000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000841"
      unitRef="USD">-649000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLeaseLiabilities>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000843"
      unitRef="USD">-5987000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit>
    <TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000845"
      unitRef="USD">-5987000</TGLS:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBillingsInExcessOfCostAndProfit>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000847"
      unitRef="USD">3812000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      decimals="-3"
      id="Fact000848"
      unitRef="USD">119000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000849"
      unitRef="USD">3931000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30_srt_ScenarioPreviouslyReportedMember"
      decimals="-3"
      id="Fact000851"
      unitRef="USD">6617000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"
      decimals="-3"
      id="Fact000852"
      unitRef="USD">-119000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000853"
      unitRef="USD">6498000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2026-06-30_srt_MinimumMember"
      id="Fact000855">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="AsOf2026-06-30_srt_MaximumMember"
      id="Fact000857">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000859">&lt;p id="xdx_805_eus-gaap--InventoryDisclosureTextBlock_zkkNHN4LDgMc" 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_820_zMquiwWzXxzf"&gt;Inventories, net&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z5gPgIy7lEIe" 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_8B4_zAcvYPwPZzM6" 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&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_20260630_zAaUQgR6n373" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, &lt;br/&gt; 2026&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_498_20251231_z82EcYzyKmRa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, &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_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zuu6CJGzNYY" 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;201,805&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;152,174&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_zxprYBe7L70l" 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;31,268&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;27,467&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_zVvzASOSglil" 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;3,325&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;3,222&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_zZwEdqsixlk5" 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;33,437&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;28,662&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_zXHB9z6162S1" 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;2,384&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,439&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_zPCNvAd5jBwc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total Inventories, gross&lt;/span&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;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;272,219&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;213,964&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_zqlLQgzvdhK1" 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;(624&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;(440&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_zuLpBCNV2eo1" 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 inventories, net&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;271,595&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;213,524&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_8A0_zKsB4lxkglS5" 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;/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;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000861">&lt;p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z5gPgIy7lEIe" 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_8B4_zAcvYPwPZzM6" 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&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_20260630_zAaUQgR6n373" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, &lt;br/&gt; 2026&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_498_20251231_z82EcYzyKmRa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, &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_400_eus-gaap--InventoryRawMaterials_iI_pn3n3_maIGzzds_zuu6CJGzNYY" 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;201,805&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;152,174&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_zxprYBe7L70l" 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;31,268&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;27,467&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_zVvzASOSglil" 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;3,325&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;3,222&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_zZwEdqsixlk5" 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;33,437&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;28,662&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_zXHB9z6162S1" 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;2,384&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,439&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_zPCNvAd5jBwc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total Inventories, gross&lt;/span&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;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; text-align: right"&gt;272,219&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;213,964&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_zqlLQgzvdhK1" 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;(624&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;(440&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_zuLpBCNV2eo1" 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 inventories, net&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;271,595&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;213,524&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="AsOf2026-06-30"
      decimals="-3"
      id="Fact000863"
      unitRef="USD">201805000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000864"
      unitRef="USD">152174000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000866"
      unitRef="USD">31268000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000867"
      unitRef="USD">27467000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000869"
      unitRef="USD">3325000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000870"
      unitRef="USD">3222000</us-gaap:InventoryFinishedGoods>
    <us-gaap:OtherInventoriesSpareParts
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000872"
      unitRef="USD">33437000</us-gaap:OtherInventoriesSpareParts>
    <us-gaap:OtherInventoriesSpareParts
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000873"
      unitRef="USD">28662000</us-gaap:OtherInventoriesSpareParts>
    <TGLS:InventoryPackingMaterialGross
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000875"
      unitRef="USD">2384000</TGLS:InventoryPackingMaterialGross>
    <TGLS:InventoryPackingMaterialGross
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000876"
      unitRef="USD">2439000</TGLS:InventoryPackingMaterialGross>
    <us-gaap:InventoryGross
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000878"
      unitRef="USD">272219000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000879"
      unitRef="USD">213964000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000881"
      unitRef="USD">624000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000882"
      unitRef="USD">440000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000884"
      unitRef="USD">271595000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000885"
      unitRef="USD">213524000</us-gaap:InventoryNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000887">&lt;p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zShFnIC9nCz9" 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_821_zdlGpYnPpaya"&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_zsC3zsQ1pnmg" 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 &lt;span id="xdx_900_eus-gaap--NumberOfReportableSegments_uSegment_c20260101__20260630_z6ICEuJJ27c7" style="display: none" title="Number of reportable segment"&gt;1&lt;/span&gt;only segment, as the Company believes these factors
affect 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_8BB_ziFRdLhQyVU6" 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;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;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_49A_20260401__20260630_zn8aG6GqW9F9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_z2jG2OAONSs2" 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_20260101__20260630_z7kVs0v4gvKf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_zjlA39fWrX8c" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_z4CXt8Dzjch4" 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;79,645&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;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;155,753&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zf1YjCCrnCn6" 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;215,646&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;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;388,550&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zw8Sg9JecUy6" 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="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;295,291&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;255,546&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;544,303&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;477,834&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_8A5_zKxFIRRQou14" 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_893_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_hus-gaap--StatementBusinessSegmentsAxis__us-gaap--ReportableSegmentAggregationBeforeOtherOperatingSegmentMember_zLROoDif4zG3" 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_8B7_z8fR7V14d2hi" 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;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;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_49A_20260401__20260630_z3KO7z92R3gc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_znX09XTqZ01c" 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_20260101__20260630_zWP1NOFzGNga" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_z3rZBeMkzlSa" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_z5EmpHrky3J" 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,154&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;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;13,673&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;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_zrio2RGQcPY" 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;286,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;&#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;523,382&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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_zN4M3ML5NENg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;2,895&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,578&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;7,248&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,998&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_z43kKRDNiWl3" style="vertical-align: bottom; background-color: White"&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;295,291&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;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;544,303&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;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zPRvTaTtkpz7" 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;&#160;&lt;/p&gt;

&lt;p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zVLhPcVI6SM5" 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_8B0_zT6LyzY1fQOf" 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: 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_49A_20260401__20260630_zVr9I0TmHxVi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_zGJFHwY5Rl8" 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_20260101__20260630_zTG1cC6P8iV5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_zU371M67Az06" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_z5vUE3sCNST1" 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;126,499&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;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;214,969&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;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zg19wcpVOyf4" 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;168,792&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;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;329,334&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_z2HsdPptAFp4" 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;295,291&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;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;544,303&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;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zJcg1NY3MQ6g" 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_zSvMX8cghHh9" 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"&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;&lt;span id="xdx_8B2_z7jujgg29DN6" 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: 70%"&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_499_20260630_zaAWCVWwsc99" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zrSnZg4Bs25j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_408_eus-gaap--AccountsReceivableGrossCurrent_iI_pn3n3_maARNCzXOy_zXoZOzT3LGyd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 1pt"&gt;Short-term 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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;292,134&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;243,768&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_403_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzXOy_zYbgDK9d8rrh" 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;(4,668&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;(4,320&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--AccountsReceivableNetCurrent_iI_pn3n3_maARNzS1d_mtARNCzXOy_zHLWhw1T7gTa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total short-term trade 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;287,466&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,448&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AccountsReceivableNetNoncurrent_iI_pn3n3_maARNzS1d_z2SOL2Ji4Ujf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long term trade accounts&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,887&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,730&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--AccountsReceivableNet_iTI_pn3n3_mtARNzS1d_zaCGkQorRvH7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt"&gt;Total trade accounts receivable&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;289,353&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;241,178&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_zzeqUBawIOrh" 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_zuSlLAAmYblb" 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, 2026, 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"&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;&lt;span id="xdx_8BD_zNTpXnNhc3ca" 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: 70%"&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_20260101__20260630_z06WByG6mhqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months&#160;ended&lt;br/&gt; June 30,
    2026&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_zUzZfrsMmKpc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 75%"&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: 21%; text-align: right"&gt;4,320&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_zF6EvfGDASv6" 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;1,322&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_zLWFDfPsf2V1" 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;(974&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--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_zfOE7D8BUJd9" 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;4,668&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_8AB_z2tVxHSae6ef" 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; 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_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zZeip9VBkFt2" 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_8BF_zVPZPUl2E1f1" 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: 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_499_20260630_zZ8ERCuI3CU7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zf8Edftfkl0j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zAoEhWnXvHgb" 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;29,701&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;31,809&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_z96nqdKFt8wi" 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;28,414&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;20,506&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_zUMZTTxkYmN" 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;(173,825&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;(149,442&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_z7ljzYOSQgU4" 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;(1,045&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,988&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_zD8p6lZuEsQ6" 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;(116,755&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;(99,115&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_8A4_zdJ4cZB4GTke" 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_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zhQ7MUHsYUbl" 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"&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;&lt;span id="xdx_8B3_z8kWXE9QDAok" 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: 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="2" id="xdx_499_20260630_zoUBiGy3HgLi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zgcXC8WjluF7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_zrD2TyXex3qh" 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;6,421&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;9,084&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_zy3ea9V6YIC" 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;51,694&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;43,231&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_zcJ9weFsqgol" 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;58,115&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;52,315&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_ziQ2lf9forwa" 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;29,701&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,809&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_zoSiol6Aq68g" 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;28,414&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;20,506&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_8A3_zc3lRxUPa0ka" 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_zFpKlaO5PLok" 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_8BB_zGUCqnDUtWIj" 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: 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="2" id="xdx_499_20260630_ziRGyuM3YwEh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zO6Dg5g3EsGh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_401_ecustom--BillingsInExcessOfCosts_iI_pn3n3_zccOCan23m5" 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;122,407&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;104,376&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--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_zNkZz0xWejM3" 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;52,463&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;47,054&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_zQyaKNqiIDWj" 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;174,780&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;151,430&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_zWF9p2jHZEre" 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;173,825&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;149,442&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_z1ztisJRlDfb" 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;1,045&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;1,988&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_8A7_zuEk20YcvwX9" 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, 2026, the Company recognized $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20260401__20260630_zI9G6FvPrwZ1" title="Sales related to contract liabilities"&gt;11,336&lt;/span&gt; and $&lt;span id="xdx_902_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20260101__20260630_zcl9ysheQ3S9" title="Sales related to contract liabilities"&gt;23,274&lt;/span&gt; of sales related to its contract liabilities
on January 1, 2026, respectively. During the three and six months ended June 30, 2025, the Company recognized $&lt;span id="xdx_90B_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250401__20250630_zcvbQQxfw6Nh" title="Sales related to contract liabilities"&gt;10,314&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn3n3_c20250101__20250630_zyRgxscuehBc" title="Sales related to contract liabilities"&gt;16,858&lt;/span&gt; of
sales related to its contract liabilities on January 1, 2025, 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, 2026, the Company had $&lt;span id="xdx_900_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20260630_z09KrEvpFav3" title="Remaining performance obligation"&gt;884.2&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_90D_eus-gaap--RevenueRemainingPerformanceObligationPercentage_iI_pid_dp_uPure_c20260630_zkIEiDjCH2y7" 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_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20261231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zVCeEYDvPNxk" title="Remaining performance obligation"&gt;309.2&lt;/span&gt; million are expected to be recognized
during the year ending December 31, 2026, $&lt;span id="xdx_902_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20271231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zMDAZjQXKJ1i" title="Remaining performance obligation"&gt;409.8&lt;/span&gt; million during the year ending December 31, 2027, and $&lt;span id="xdx_90B_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20281231__srt--StatementScenarioAxis__srt--ScenarioForecastMember_zSu7Le6sE2K7" title="Remaining performance obligation"&gt;165.2&lt;/span&gt; million during the year
ending December 31, 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;/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:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000889">&lt;p id="xdx_895_eus-gaap--DisaggregationOfRevenueTableTextBlock_zsC3zsQ1pnmg" 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 &lt;span id="xdx_900_eus-gaap--NumberOfReportableSegments_uSegment_c20260101__20260630_z6ICEuJJ27c7" style="display: none" title="Number of reportable segment"&gt;1&lt;/span&gt;only segment, as the Company believes these factors
affect 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_8BB_ziFRdLhQyVU6" 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;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;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_49A_20260401__20260630_zn8aG6GqW9F9" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_z2jG2OAONSs2" 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_20260101__20260630_z7kVs0v4gvKf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_zjlA39fWrX8c" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--FixedPriceContractsMember_z4CXt8Dzjch4" 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;79,645&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;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;155,753&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ProductSalesMember_zf1YjCCrnCn6" 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;215,646&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;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;388,550&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_zw8Sg9JecUy6" 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="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;295,291&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;255,546&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;544,303&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;477,834&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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact000891"
      unitRef="Segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000893"
      unitRef="USD">79645000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000894"
      unitRef="USD">61228000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000895"
      unitRef="USD">155753000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_FixedPriceContractsMember"
      decimals="-3"
      id="Fact000896"
      unitRef="USD">114202000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000898"
      unitRef="USD">215646000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000899"
      unitRef="USD">194318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000900"
      unitRef="USD">388550000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ProductSalesMember"
      decimals="-3"
      id="Fact000901"
      unitRef="USD">363632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000903"
      unitRef="USD">295291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000904"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000905"
      unitRef="USD">544303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000906"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="From2026-01-012026-06-30_us-gaap_ReportableSegmentAggregationBeforeOtherOperatingSegmentMember"
      id="Fact000908">&lt;p id="xdx_893_eus-gaap--ScheduleOfSegmentReportingInformationBySegmentTextBlock_hus-gaap--StatementBusinessSegmentsAxis__us-gaap--ReportableSegmentAggregationBeforeOtherOperatingSegmentMember_zLROoDif4zG3" 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_8B7_z8fR7V14d2hi" 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;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;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_49A_20260401__20260630_z3KO7z92R3gc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_znX09XTqZ01c" 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_20260101__20260630_zWP1NOFzGNga" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_z3rZBeMkzlSa" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--CO_z5EmpHrky3J" 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,154&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;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;13,673&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;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__country--US_zrio2RGQcPY" 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;286,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;&#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;523,382&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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--StatementGeographicalAxis__custom--OtherMember_zN4M3ML5NENg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;2,895&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,578&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;7,248&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,998&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_z43kKRDNiWl3" style="vertical-align: bottom; background-color: White"&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;295,291&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;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;544,303&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;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_country_CO"
      decimals="-3"
      id="Fact000910"
      unitRef="USD">6154000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact000911"
      unitRef="USD">6621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_country_CO"
      decimals="-3"
      id="Fact000912"
      unitRef="USD">13673000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact000913"
      unitRef="USD">13035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_country_US"
      decimals="-3"
      id="Fact000915"
      unitRef="USD">286242000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact000916"
      unitRef="USD">242347000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_country_US"
      decimals="-3"
      id="Fact000917"
      unitRef="USD">523382000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact000918"
      unitRef="USD">454801000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000920"
      unitRef="USD">2895000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000921"
      unitRef="USD">6578000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000922"
      unitRef="USD">7248000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_OtherMember"
      decimals="-3"
      id="Fact000923"
      unitRef="USD">9998000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000925"
      unitRef="USD">295291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000926"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000927"
      unitRef="USD">544303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000928"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000930">&lt;p id="xdx_89E_ecustom--ScheduleOfRevenuesDistributionByEndMarketTableTextBlock_zVLhPcVI6SM5" 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_8B0_zT6LyzY1fQOf" 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: 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_49A_20260401__20260630_zVr9I0TmHxVi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_20250401__20250630_zGJFHwY5Rl8" 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_20260101__20260630_zTG1cC6P8iV5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_498_20250101__20250630_zU371M67Az06" 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;/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;2026&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;2026&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;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--ResidentialMember_z5vUE3sCNST1" 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;126,499&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;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;214,969&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;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_hsrt--ProductOrServiceAxis__custom--CommercialMember_zg19wcpVOyf4" 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;168,792&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;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;329,334&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pn3n3_z2HsdPptAFp4" 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;295,291&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;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;544,303&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;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfRevenuesDistributionByEndMarketTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000932"
      unitRef="USD">126499000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000933"
      unitRef="USD">109598000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000934"
      unitRef="USD">214969000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_ResidentialMember"
      decimals="-3"
      id="Fact000935"
      unitRef="USD">198527000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000937"
      unitRef="USD">168792000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000938"
      unitRef="USD">145948000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-012026-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000939"
      unitRef="USD">329334000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30_custom_CommercialMember"
      decimals="-3"
      id="Fact000940"
      unitRef="USD">279307000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact000942"
      unitRef="USD">295291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact000943"
      unitRef="USD">255546000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000944"
      unitRef="USD">544303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact000945"
      unitRef="USD">477834000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000947">&lt;p id="xdx_890_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zSvMX8cghHh9" 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"&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;&lt;span id="xdx_8B2_z7jujgg29DN6" 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: 70%"&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_499_20260630_zaAWCVWwsc99" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zrSnZg4Bs25j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_408_eus-gaap--AccountsReceivableGrossCurrent_iI_pn3n3_maARNCzXOy_zXoZOzT3LGyd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 1pt"&gt;Short-term 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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;292,134&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;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;243,768&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_403_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iNI_pn3n3_di_msARNCzXOy_zYbgDK9d8rrh" 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;(4,668&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;(4,320&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--AccountsReceivableNetCurrent_iI_pn3n3_maARNzS1d_mtARNCzXOy_zHLWhw1T7gTa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total short-term trade 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;287,466&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,448&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AccountsReceivableNetNoncurrent_iI_pn3n3_maARNzS1d_z2SOL2Ji4Ujf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long term trade accounts&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,887&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,730&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--AccountsReceivableNet_iTI_pn3n3_mtARNzS1d_zaCGkQorRvH7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt"&gt;Total trade accounts receivable&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;289,353&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;241,178&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:AccountsReceivableGrossCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000949"
      unitRef="USD">292134000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000950"
      unitRef="USD">243768000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000952"
      unitRef="USD">4668000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000953"
      unitRef="USD">4320000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000955"
      unitRef="USD">287466000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000956"
      unitRef="USD">239448000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000958"
      unitRef="USD">1887000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000959"
      unitRef="USD">1730000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000961"
      unitRef="USD">289353000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000962"
      unitRef="USD">241178000</us-gaap:AccountsReceivableNet>
    <TGLS:ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000964">&lt;p id="xdx_897_ecustom--ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock_zuSlLAAmYblb" 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, 2026, 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"&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;&lt;span id="xdx_8BD_zNTpXnNhc3ca" 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: 70%"&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_20260101__20260630_z06WByG6mhqa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months&#160;ended&lt;br/&gt; June 30,
    2026&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_zUzZfrsMmKpc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 75%"&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: 21%; text-align: right"&gt;4,320&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_zF6EvfGDASv6" 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;1,322&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_zLWFDfPsf2V1" 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;(974&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--AllowanceForDoubtfulAccountsReceivableCurrent_iE_pn3n3_zfOE7D8BUJd9" 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;4,668&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="AsOf2025-12-31"
      decimals="-3"
      id="Fact000966"
      unitRef="USD">4320000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000968"
      unitRef="USD">1322000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact000970"
      unitRef="USD">974000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000972"
      unitRef="USD">4668000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact000974">&lt;p id="xdx_89C_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zZeip9VBkFt2" 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_8BF_zVPZPUl2E1f1" 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: 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_499_20260630_zZ8ERCuI3CU7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zf8Edftfkl0j" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_402_eus-gaap--ContractWithCustomerAssetNetCurrent_iI_pn3n3_maNCLAzcHD_zAoEhWnXvHgb" 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;29,701&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;31,809&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_z96nqdKFt8wi" 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;28,414&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;20,506&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_zUMZTTxkYmN" 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;(173,825&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;(149,442&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_z7ljzYOSQgU4" 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;(1,045&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,988&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--NetContractLiabilitiesAssets_iTI_pn3n3_mtNCLAzcHD_zD8p6lZuEsQ6" 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;(116,755&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;(99,115&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="AsOf2026-06-30"
      decimals="-3"
      id="Fact000976"
      unitRef="USD">29701000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000977"
      unitRef="USD">31809000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000979"
      unitRef="USD">28414000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000980"
      unitRef="USD">20506000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000982"
      unitRef="USD">173825000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000983"
      unitRef="USD">149442000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000985"
      unitRef="USD">1045000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000986"
      unitRef="USD">1988000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <TGLS:NetContractLiabilitiesAssets
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000988"
      unitRef="USD">-116755000</TGLS:NetContractLiabilitiesAssets>
    <TGLS:NetContractLiabilitiesAssets
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000989"
      unitRef="USD">-99115000</TGLS:NetContractLiabilitiesAssets>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="From2026-01-012026-06-30_custom_ContractAssetsMember"
      id="Fact000991">&lt;p id="xdx_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractAssetsMember_zhQ7MUHsYUbl" 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"&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;&lt;span id="xdx_8B3_z8kWXE9QDAok" 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: 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="2" id="xdx_499_20260630_zoUBiGy3HgLi" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zgcXC8WjluF7" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_40A_eus-gaap--UnbilledReceivablesCurrent_iI_pn3n3_maCWCAGz5IH_zrD2TyXex3qh" 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;6,421&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;9,084&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_zy3ea9V6YIC" 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;51,694&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;43,231&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_zcJ9weFsqgol" 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;58,115&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;52,315&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_ziQ2lf9forwa" 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;29,701&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,809&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_zoSiol6Aq68g" 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;28,414&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;20,506&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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000993"
      unitRef="USD">6421000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000994"
      unitRef="USD">9084000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000996"
      unitRef="USD">51694000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:ConstructionContractorReceivableRetainage
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact000997"
      unitRef="USD">43231000</us-gaap:ConstructionContractorReceivableRetainage>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact000999"
      unitRef="USD">58115000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001000"
      unitRef="USD">52315000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001002"
      unitRef="USD">29701000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001003"
      unitRef="USD">31809000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001005"
      unitRef="USD">28414000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001006"
      unitRef="USD">20506000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="From2026-01-012026-06-30_custom_ContractLiabilitiesMember"
      id="Fact001008">&lt;p id="xdx_89E_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_hus-gaap--FairValueByLiabilityClassAxis__custom--ContractLiabilitiesMember_zFpKlaO5PLok" 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_8BB_zGUCqnDUtWIj" 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: 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="2" id="xdx_499_20260630_ziRGyuM3YwEh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2026&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_20251231_zO6Dg5g3EsGh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31,&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_401_ecustom--BillingsInExcessOfCosts_iI_pn3n3_zccOCan23m5" 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;122,407&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;104,376&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--ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms_iI_pn3n3_zNkZz0xWejM3" 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;52,463&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;47,054&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_zQyaKNqiIDWj" 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;174,780&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;151,430&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_zWF9p2jHZEre" 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;173,825&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;149,442&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_z1ztisJRlDfb" 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;1,045&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;1,988&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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <TGLS:BillingsInExcessOfCosts
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001010"
      unitRef="USD">122407000</TGLS:BillingsInExcessOfCosts>
    <TGLS:BillingsInExcessOfCosts
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001011"
      unitRef="USD">104376000</TGLS:BillingsInExcessOfCosts>
    <us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001013"
      unitRef="USD">52463000</us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms>
    <us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001014"
      unitRef="USD">47054000</us-gaap:ProgressPaymentsNettedAgainstInventoryForLongTermContractsOrPrograms>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001016"
      unitRef="USD">174780000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001017"
      unitRef="USD">151430000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001019"
      unitRef="USD">173825000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001020"
      unitRef="USD">149442000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001022"
      unitRef="USD">1045000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001023"
      unitRef="USD">1988000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001025"
      unitRef="USD">11336000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001027"
      unitRef="USD">23274000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001029"
      unitRef="USD">10314000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001031"
      unitRef="USD">16858000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2026-06-30"
      decimals="-5"
      id="Fact001033"
      unitRef="USD">884200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact001035"
      unitRef="Pure">1</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2026-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001037"
      unitRef="USD">309200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2027-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001039"
      unitRef="USD">409800000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2028-12-31_srt_ScenarioForecastMember"
      decimals="-5"
      id="Fact001041"
      unitRef="USD">165200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001043">&lt;p id="xdx_80C_eus-gaap--IntangibleAssetsDisclosureTextBlock_zZHm4LIRVTue" 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
6. &lt;span id="xdx_82B_zPh5XTaFUJWb"&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.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zJEtlT6afeGg" 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_zgPqPWQP47U6" 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: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; 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="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2026&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="font-weight: bold; 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: 52%; text-align: left"&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;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z3l7t0AkAre4" style="width: 12%; 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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z03FerkIl98a" style="width: 12%; text-align: right" title="Accumulated Amortization"&gt;(50&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_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zKown4y1hhFl" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;120&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"&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_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zVU9uK6uFXdc" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;20,171&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_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zCyRpRBlTM1a" style="text-align: right" title="Accumulated Amortization"&gt;(11,326&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_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z1UjXtWGHmJ3" style="text-align: right" title="Intangible assets, net"&gt;8,845&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;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_98C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zMKzdVlqBoic" 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_98F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zn4pRrSwNhxd" style="text-align: right" title="Accumulated Amortization"&gt;(1,826&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_989_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zppZY0Ycb2Gd" style="text-align: right" title="Intangible assets, net"&gt;4,434&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"&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_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_z6kxqXAHwYga" 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_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ztsOolILwJOc" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(261&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_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zMEzQmVhbGN2" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;409&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="font-weight: bold; padding-bottom: 1pt"&gt;Total&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_98B_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630_zJocKqTQvUb3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Gross"&gt;27,271&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;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630_z2fnNRIGFtE3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Accumulated amortization"&gt;(13,463&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630_zgjVUUU7eLD3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Net"&gt;13,808&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 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: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; 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="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, 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 style="font-weight: bold; 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: 52%; text-align: left"&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;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zxBdjQeM9fP7" style="width: 12%; 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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zK0QQZjfwQW4" style="width: 12%; text-align: right" title="Accumulated Amortization"&gt;(28&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_984_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zGmvYsyRWuv3" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;142&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"&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_981_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zWvOi1i7CdMe" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;17,217&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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z7Qvkk0NnEqj" style="text-align: right" title="Accumulated Amortization"&gt;(10,138&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_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zDl4omBQPRO8" style="text-align: right" title="Intangible assets, net"&gt;7,079&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;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_981_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zzWE20t4BOuh" 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_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zemG0a6RpqJ8" style="text-align: right" title="Accumulated Amortization"&gt;(1,043&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_98F_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zh664U8T6lyb" style="text-align: right" title="Intangible assets, net"&gt;5,217&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"&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_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zebUkhamiKl4" 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_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zmSON1bHG1w7" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(149&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_98A_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zYXuNTS0kx5k" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;521&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="font-weight: bold; padding-bottom: 1pt"&gt;Total&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 id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231_zPUY59nSLvfc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Gross"&gt;24,317&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 id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231_zoylhdMoerOe" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Accumulated amortization"&gt;(11,358&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&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 id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231_z0U6rPUqYo26" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Net"&gt;12,959&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_8A5_zi19LDJMXoS8" 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_90C_eus-gaap--AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_dtY_c20260101__20260630_z3kpxZEXVJ2" title="Weighted average amortization period"&gt;2.9&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, 2026, the amortization expense amounted to $&lt;span id="xdx_904_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20260401__20260630_zLEeMVI87Ssb" title="Amortization expense"&gt;974&lt;/span&gt; and $&lt;span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20260101__20260630_z6Gy3gZ3BCs7" title="Amortization expense"&gt;1883&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 ended June 30, 2025, the amortization expense amounted to $&lt;span id="xdx_905_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250401__20250630_z05FjjMLj6K4" title="Amortization expense"&gt;645&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--AmortizationOfIntangibleAssets_pn3n3_c20250101__20250630_zo4ij6dVAhpj" title="Amortization expense"&gt;950&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_zgsekQ8ROY1k" 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, 2026, 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_8B1_zYIzH0kotrj" 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: 70%"&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_497_20260630_zcet4z2JRQJ4"&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_zxaJIsiZodok" 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;2,079&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_z64P5znWSvY3" 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;3,706&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_zz6fU66FWiza" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&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;3,257&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_zmD0V24KrTj5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&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,890&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearThree_iI_pn3n3_maFLIANz7hA_zQiFSNevhO6b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&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;2,876&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_z7o5FlORlrd2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&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;13,808&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_8A3_zEgEnCK0poqa" 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="From2026-01-01to2026-06-30" id="Fact001045">&lt;p id="xdx_89A_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zJEtlT6afeGg" 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_zgPqPWQP47U6" 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: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; 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="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30, 2026&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="font-weight: bold; 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: 52%; text-align: left"&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;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z3l7t0AkAre4" style="width: 12%; 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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_z03FerkIl98a" style="width: 12%; text-align: right" title="Accumulated Amortization"&gt;(50&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_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zKown4y1hhFl" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;120&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"&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_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zVU9uK6uFXdc" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;20,171&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_980_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zCyRpRBlTM1a" style="text-align: right" title="Accumulated Amortization"&gt;(11,326&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_98D_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z1UjXtWGHmJ3" style="text-align: right" title="Intangible assets, net"&gt;8,845&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;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_98C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zMKzdVlqBoic" 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_98F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zn4pRrSwNhxd" style="text-align: right" title="Accumulated Amortization"&gt;(1,826&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_989_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zppZY0Ycb2Gd" style="text-align: right" title="Intangible assets, net"&gt;4,434&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"&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_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_z6kxqXAHwYga" 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_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_ztsOolILwJOc" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(261&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_c20260630__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zMEzQmVhbGN2" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;409&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="font-weight: bold; padding-bottom: 1pt"&gt;Total&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_98B_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20260630_zJocKqTQvUb3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Gross"&gt;27,271&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;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20260630_z2fnNRIGFtE3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Accumulated amortization"&gt;(13,463&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;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20260630_zgjVUUU7eLD3" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, Net"&gt;13,808&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 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: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; 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="10" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, 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 style="font-weight: bold; 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: 52%; text-align: left"&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;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zxBdjQeM9fP7" style="width: 12%; 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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zK0QQZjfwQW4" style="width: 12%; text-align: right" title="Accumulated Amortization"&gt;(28&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_984_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--TradeNamesMember_zGmvYsyRWuv3" style="width: 12%; text-align: right" title="Intangible assets, net"&gt;142&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"&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_981_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zWvOi1i7CdMe" style="text-align: right" title="Finite-Lived Intangible Assets, Gross"&gt;17,217&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_987_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_z7Qvkk0NnEqj" style="text-align: right" title="Accumulated Amortization"&gt;(10,138&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_981_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--SoftwareAndLicensesMember_zDl4omBQPRO8" style="text-align: right" title="Intangible assets, net"&gt;7,079&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;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_981_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zzWE20t4BOuh" 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_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zemG0a6RpqJ8" style="text-align: right" title="Accumulated Amortization"&gt;(1,043&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_98F_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember_zh664U8T6lyb" style="text-align: right" title="Intangible assets, net"&gt;5,217&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"&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_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zebUkhamiKl4" 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_98D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zmSON1bHG1w7" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Amortization"&gt;(149&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_98A_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--ContractBacklogMember_zYXuNTS0kx5k" style="border-bottom: Black 1pt solid; text-align: right" title="Intangible assets, net"&gt;521&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="font-weight: bold; padding-bottom: 1pt"&gt;Total&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 id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_pn3n3_c20251231_zPUY59nSLvfc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Gross"&gt;24,317&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 id="xdx_98C_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_pn3n3_di_c20251231_zoylhdMoerOe" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Accumulated amortization"&gt;(11,358&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: left"&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 id="xdx_984_eus-gaap--FiniteLivedIntangibleAssetsNet_iI_pn3n3_c20251231_z0U6rPUqYo26" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right" title="Intangible assets, Net"&gt;12,959&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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2026-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001047"
      unitRef="USD">170000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2026-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001049"
      unitRef="USD">50000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001051"
      unitRef="USD">120000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2026-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001053"
      unitRef="USD">20171000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2026-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001055"
      unitRef="USD">11326000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001057"
      unitRef="USD">8845000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2026-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001059"
      unitRef="USD">6260000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2026-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001061"
      unitRef="USD">1826000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001063"
      unitRef="USD">4434000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2026-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001065"
      unitRef="USD">670000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2026-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001067"
      unitRef="USD">261000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001069"
      unitRef="USD">409000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001071"
      unitRef="USD">27271000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001073"
      unitRef="USD">13463000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001075"
      unitRef="USD">13808000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-12-31_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001077"
      unitRef="USD">170000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-12-31_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001079"
      unitRef="USD">28000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-12-31_us-gaap_TradeNamesMember"
      decimals="-3"
      id="Fact001081"
      unitRef="USD">142000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-12-31_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001083"
      unitRef="USD">17217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-12-31_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001085"
      unitRef="USD">10138000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-12-31_custom_SoftwareAndLicensesMember"
      decimals="-3"
      id="Fact001087"
      unitRef="USD">7079000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001089"
      unitRef="USD">6260000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001091"
      unitRef="USD">1043000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-12-31_custom_NoticeOfAcceptancesProductDesignsAndIntellectualPropertyMember"
      decimals="-3"
      id="Fact001093"
      unitRef="USD">5217000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-12-31_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001095"
      unitRef="USD">670000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-12-31_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001097"
      unitRef="USD">149000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-12-31_custom_ContractBacklogMember"
      decimals="-3"
      id="Fact001099"
      unitRef="USD">521000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001101"
      unitRef="USD">24317000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001103"
      unitRef="USD">11358000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001105"
      unitRef="USD">12959000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="From2026-01-01to2026-06-30" id="Fact001107">P2Y10M24D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001109"
      unitRef="USD">974000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001111"
      unitRef="USD">1883000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001113"
      unitRef="USD">645000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001115"
      unitRef="USD">950000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001117">&lt;p id="xdx_898_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgsekQ8ROY1k" 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, 2026, 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_8B1_zYIzH0kotrj" 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: 70%"&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_497_20260630_zcet4z2JRQJ4"&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_zxaJIsiZodok" 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;2,079&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_z64P5znWSvY3" 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;3,706&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_zz6fU66FWiza" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&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;3,257&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_zmD0V24KrTj5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&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,890&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearThree_iI_pn3n3_maFLIANz7hA_zQiFSNevhO6b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&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;2,876&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_z7o5FlORlrd2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 2.5pt"&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;13,808&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="AsOf2026-06-30"
      decimals="-3"
      id="Fact001119"
      unitRef="USD">2079000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001121"
      unitRef="USD">3706000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001123"
      unitRef="USD">3257000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001125"
      unitRef="USD">1890000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <TGLS:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearThree
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001127"
      unitRef="USD">2876000</TGLS:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001129"
      unitRef="USD">13808000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:SupplierFinanceProgramTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001131">&lt;p id="xdx_804_eus-gaap--SupplierFinanceProgramTextBlock_z5J5dKrUc4lk" 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_zQQ6hs0hhia3"&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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Tecnoglass
has established payment times 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. 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. 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. 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"&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, 2026, the obligations outstanding related to the supplier finance program amounted to $&lt;span id="xdx_907_eus-gaap--ProgramRightsObligationsCurrent_iI_pn3n3_c20260630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zipgirXujzT5" title="Current liabilities"&gt;21,686&lt;/span&gt;, recorded as current liabilities,
in the following balance sheet lines: Trade accounts payable and accrued expenses $&lt;span id="xdx_90D_eus-gaap--AccountsPayableAndAccruedLiabilitiesCurrent_iI_pn3n3_c20260630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember_zw42jX6vHlE3" title="Trade accounts payable and accrued expenses"&gt;21,000&lt;/span&gt; &amp;amp; due to related parties $&lt;span id="xdx_909_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_c20260630__us-gaap--FinancialInstrumentAxis__custom--SupplierFinanceProgramMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z7FfVOjtfZFk" title="Due to related parties"&gt;686&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"&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;

</us-gaap:SupplierFinanceProgramTextBlock>
    <us-gaap:ProgramRightsObligationsCurrent
      contextRef="AsOf2026-06-30_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001133"
      unitRef="USD">21686000</us-gaap:ProgramRightsObligationsCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="AsOf2026-06-30_custom_SupplierFinanceProgramMember"
      decimals="-3"
      id="Fact001135"
      unitRef="USD">21000000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_custom_SupplierFinanceProgramMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001137"
      unitRef="USD">686000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001139">&lt;p id="xdx_809_eus-gaap--DebtDisclosureTextBlock_zoPRihiHX3ae" 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_821_z63VGBErlsp6"&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_zqroHGjSV2Zb" 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_8B4_zUAMA1IoEP13" 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: 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_49C_20260630_zBrwsD09L7C4" 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;2026&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_498_20251231_zPCw4xNhWhLe" 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;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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_zfDvXXBSUxak" 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;596&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;387&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_zQrd7r0fvOl7" 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;3,941&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;41&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zJSuht5VM5U4" 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;4,628&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1150"&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_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zFCpW5VmIm9f" 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;219,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;174,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_z7iX7LuTVuwf" 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;(2,771&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,799&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_zOpTgQg8J8o9" 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;225,394&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;171,629&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_zm5L7pvndEFk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Less: Current portion of long-term debt and other current borrowings&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,156&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;427&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zQxvtU6anWL3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long-term debt&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;219,238&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;171,202&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_8AA_zuXmqJG3Ddnc" 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
September 2025, the Company entered into a new Senior Secured Credit Facility, transitioning from a term loan and revolving facility
structure to a fully committed revolving facility structure which allowed the Company to (i) increase total committed borrowing capacity
from $&lt;span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250930__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember__srt--RangeAxis__srt--MinimumMember_zFNj7oG07T19" title="Line of credit facility, maximum borrowing capacity"&gt;150&lt;/span&gt; million to $&lt;span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250930__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember__srt--RangeAxis__srt--MaximumMember_z1Fm7qfpNlIl" title="Line of credit facility, maximum borrowing capacity"&gt;500&lt;/span&gt; million, (ii) reduce borrowing costs by approximately 25 basis points, and (iii) &lt;span id="xdx_905_eus-gaap--DebtInstrumentMaturityDateDescription_c20250901__20250930__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zlUn6yBJ33xa" title="Extend initial maturity"&gt;extend the initial maturity
date by five years to December 2030&lt;/span&gt;. Borrowings under the new facility bear interest at the Secured Overnight Financing Rate (SOFR) with
no floor, plus a spread of &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateEffectivePercentage_iI_dp_c20250930__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember__us-gaap--DebtInstrumentAxis__us-gaap--SecuredOvernightFinancingRateSofrMember_zk2GgA17kW03" title="Debt instrument interest rate effective percentage"&gt;1.25&lt;/span&gt; % based on the Company&#x2019;s net leverage ratio (previously &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateEffectivePercentage_iI_dp_c20240930__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember__us-gaap--DebtInstrumentAxis__us-gaap--SecuredOvernightFinancingRateSofrMember_zfKBge0laGYl" title="Debt instrument interest rate effective percentage"&gt;1.50&lt;/span&gt; % over SOFR). The effective interest
rate for the facility, including deferred issuance costs, is &lt;span id="xdx_908_eus-gaap--DebtInstrumentInterestRateEffectivePercentage_iI_pid_dp_uPure_c20251231__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zrDjavuw3tAb" title="Debt instrument interest rate effective percentage"&gt;6.98&lt;/span&gt; % as of December 31, 2025. The Company incurred total costs and fees
of $&lt;span id="xdx_905_eus-gaap--PaymentsOfDebtIssuanceCosts_pn3n3_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zAzEIzI4kLK1" title="Cost and fees"&gt;2,783&lt;/span&gt; in lender fees which were capitalized as deferred financing costs, and are presented as a deduction from the related debt liability.&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;The
transaction was accounted for as a debt extinguishment under ASC 470-50. Accordingly, the prior term-loan and revolving credit facilities
were derecognized, and the new revolving facility was initially recognized at its principal amount, net of deferred financing costs.
As a result, the Company recognized a loss on extinguishment of debt of $&lt;span id="xdx_905_eus-gaap--GainsLossesOnExtinguishmentOfDebt_pn3n3_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zy5Zu1Sf440a" title="Loss on extinguishment of debt"&gt;1,354&lt;/span&gt;, representing $&lt;span id="xdx_903_eus-gaap--WriteOffOfDeferredDebtIssuanceCost_pn3n3_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zs6wW6M2s9a4" title="Write-off of the remaining unamortized"&gt;1,302&lt;/span&gt; for the write-off of the remaining
unamortized deferred financing costs related to the prior term-loan and revolving credit facilities, and $&lt;span id="xdx_909_ecustom--TerminationCosts_iI_pn3n3_c20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zF7DuvtkiV87" title="Termination costs"&gt;52&lt;/span&gt; of termination costs associated
with closing the prior facility. Cash proceeds from the new facility and repayments of the extinguished debt are reflected within financing
activities in the condensed consolidated statements of cash flows. Of the $&lt;span id="xdx_905_eus-gaap--LegalFees_pn3n3_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zLjtg91xWSXl" title="Cost and fees"&gt;2,783&lt;/span&gt; of total fees incurred, $&lt;span id="xdx_903_ecustom--DeductedFromProceedsFromIssuanceOfDebt_pn3n3_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zHYfYbv2cW1h" title="Deducted from proceeds from debt"&gt;1,803&lt;/span&gt; were deducted from the
gross proceeds and presented net within &#x201c;Proceeds from debt,&#x201d; with the remaining $&lt;span id="xdx_902_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pn3n3_c20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zTlWJZtRLl6d" title="Deferred financing costs"&gt;980&lt;/span&gt; recorded as cash outflows classified
under &#x201c;Deferred financing costs and debt issuance fees&#x201d; within financing activities. During the six months ended June 30,
2026, the Company drew down $&lt;span id="xdx_904_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zeXNosJs2Sue" title="Line of credit facility, maximum borrowing capacity"&gt;60&lt;/span&gt; million from its revolving credit facility and repaid $&lt;span id="xdx_902_eus-gaap--RepaymentsOfDebt_pn6n6_c20260101__20260630__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zE2Hcw7aljKj" title="Repayment of debt"&gt;15&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"&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_ecustom--ScheduleOfInterestIncomeExpenseNetAndDeferredCostTableTextBlock_zSptocCGhae8" 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;Interest
income (expense), net and deferred cost of financing 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_8B3_z8vdT2WE77Zk" style="display: none"&gt;Schedule
of Interest Income Expenses net and deferred cost&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_49E_20260401__20260630_zcVHem3o8NPb" style="font-weight: bold; text-align: center"&gt;&#160;&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_20250401__20250630_zVXBRh38ofH2" style="font-weight: bold; text-align: center"&gt;&#160;&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_20260101__20260630_zlGnmU86udy2" style="font-weight: bold; text-align: center"&gt;&#160;&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_zUg2JWZ9t7n3" style="font-weight: bold; text-align: center"&gt;&#160;&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;2026&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;2026&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest income (expense), net and deferred cost of financing:&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--InterestExpense_zaRt1R0lv1L7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; text-align: left"&gt;Interest expense&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: 12%; text-align: right"&gt;(3,429&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 style="width: 12%; text-align: right"&gt;(1,078&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 style="width: 12%; text-align: right"&gt;(5,957&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 style="width: 12%; text-align: right"&gt;(2,126&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--DeferredCostsOfFinancing_pn3n3_zFvOzCfn0f13" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred cost of financing&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;(155&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;(272&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;(307&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;(555&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--DerivativeFinancialInstrumentGain_pn3n3_zUtkCx1oGbkb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Derivative financial instrument loss&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;64&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: xdx2ixbrl1210"&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;(279&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: xdx2ixbrl1212"&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_40D_ecustom--InterestIncomeExpenseNetAndDeferredCostOfFinancing_pn3n3_zCyfhwPssEu" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest expense, net and deferred cost of financing:&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;(3,520&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;(1,350&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;(6,543&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;(2,681&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_zAfXZU1FUSZe" 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_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zzUeOdw9MFh3" 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, 2026, 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_8B6_zsvW6Jt2HlAf" 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;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: 80%"&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_493_20260630_zXarcZsz5imh" 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--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_z6Anyjgfa8O5" 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;6,156&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--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_pn3n3_maLTDz5iw_z4XZ9VHLuvvj" 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;953&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_pn3n3_maLTDz5iw_zpE5uMoL9Eel" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&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;848&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_pn3n3_maLTDz5iw_zHpXBDOYxhJe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&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;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_pn3n3_maLTDz5iw_zyZ6FV50IIZh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&gt;2030&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;219,439&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--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zEgtsOiRKiQd" style="vertical-align: bottom; background-color: White"&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;228,165&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_8AD_zzE3SYcRAvX6" 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_902_eus-gaap--DebtInstrumentMaturityDateDescription_c20260101__20260630_zfkJnw2DL4K3" title="Loan maturity period description"&gt;several weeks to 5 years&lt;/span&gt;. Our credit facilities bore a weighted average interest rate
of &lt;span id="xdx_903_eus-gaap--DebtWeightedAverageInterestRate_iI_pid_dp_uPure_c20260630_zRnBefXa0Ol6" title="Debt, weighted average interest rate"&gt;5.14&lt;/span&gt;% as of June 30, 2026.&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;Finance
Leases&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, 2026, the Company had right-of-use assets (&#x201c;ROU assets&#x201d;) of $&lt;span id="xdx_90A_eus-gaap--FinanceLeaseRightOfUseAsset_iI_pn3n3_c20260630_zh1lPIhz4Mch" title="Right-of-use assets"&gt;3,905&lt;/span&gt; included within Property, Plant and Equipment,
and lease liabilities of $&lt;span id="xdx_903_ecustom--FinanceLeaseRightOfUseAssetIncludedPropertyPlantAndEquipmentAndLeaseLiabilities_iI_pn3n3_c20260630_zNlJqJBlATMh" title="Finance lease right of use asset included property, plant and equipment, and lease liabilities"&gt;3,941&lt;/span&gt; on its Condensed Consolidated Balance Sheet, of which $&lt;span id="xdx_902_ecustom--FinanceLeaseShortTermDebt_iI_pn3n3_c20260630_zKT5wAdzY0k" title="Finance lease, short-term debt"&gt;932&lt;/span&gt; is presented within short-term debt and current
portion of long-term debt and $&lt;span id="xdx_906_ecustom--FinanceLeaseLongTermDebt_iI_pn3n3_c20260630_zJyaXfJHMO3l" title="Finance lease, long-term debt"&gt;3,009 &lt;/span&gt;is classified as long-term debt. These leases primarily relate to real estate, including showrooms,
office space and industrial warehouses, as well as computing equipment. Certain lease agreements include options to extend the lease
term; however, the Company does not consider these options reasonably certain of exercise.&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 amortization of ROU assets and interest expense on lease liabilities in its Condensed Consolidated Statements of Income.
During the three and six months ended June 30, 2026, the Company recorded ROU asset amortization of $&lt;span id="xdx_90A_eus-gaap--FinanceLeaseRightOfUseAssetAmortization_pn3n3_c20260401__20260630_zKizE0iXHTD1" title="ROU asset amortization"&gt;306&lt;/span&gt;, and $&lt;span id="xdx_905_eus-gaap--FinanceLeaseRightOfUseAssetAmortization_pn3n3_c20260101__20260630_zOEROls5Mvte" title="ROU asset amortization"&gt;564&lt;/span&gt;, respectively; and
interest expense of $&lt;span id="xdx_902_eus-gaap--FinanceLeaseInterestExpense_pn3n3_c20260401__20260630_zn9koH9xWrud" title="Interest expense"&gt;43&lt;/span&gt;, and $&lt;span id="xdx_909_eus-gaap--FinanceLeaseInterestExpense_pn3n3_c20260101__20260630_z1A4OwQ3t881" title="Interest expense"&gt;68&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 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;Cash
paid for amounts included in the measurement of lease liabilities was $&lt;span id="xdx_903_eus-gaap--FinanceLeasePrincipalPayments_pn3n3_c20260101__20260630_zeBJqx4e7xE7" title="Cash paid for amounts included in the measurement of lease liabilities"&gt;702 &lt;/span&gt;for the six months ended June 30, 2026, consisting of $&lt;span id="xdx_90D_ecustom--FinanceLeasePrincipalPaymentsClassifiedAsOperatingCashFlows_pn3n3_c20260101__20260630_zUuKCnNcL7F1" title="Cash paid for amounts included in measurement of lease liabilities classified as operating cash flows"&gt;68&lt;/span&gt;
classified as operating cash flows and $&lt;span id="xdx_906_ecustom--FinanceLeasePrincipalPaymentsClassifiedAsFinancingCashFlows_pn3n3_c20260101__20260630_zIOY0tDtUQIf" title="Cash paid for amounts included in measurement of lease liabilities classified as financing cash flows"&gt;634&lt;/span&gt; classified as financing cash flows. Non-cash additions to ROU assets in exchange for lease
liabilities were $&lt;span id="xdx_906_ecustom--NoncashAdditionsToRightOfUseAssetsInExchangeForLeaseLiabilities_iI_pn3n3_c20260630_zWDqc8WB5JX1" title="Non-cash additions to ROU assets in exchange for lease liabilities"&gt;3,073&lt;/span&gt; during the period.&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_899_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_z7a8ivTHQip" 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;Future
minimum lease payments for the years ended June 30, of each year 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_8BE_zKECQKN054Oh" style="display: none"&gt;Schedule of Future Minimum Lease Payments&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: 70%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_49B_20260630_zQQZ7DEYBikh" 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--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pn3n3_zWBhkFopt9g2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&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;1,078&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--FinanceLeaseLiabilityPaymentsDueYearTwo_iI_pn3n3_zhrEp3LZ9gv7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&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;1,060&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueYearThree_iI_pn3n3_z6tmBx8N7AVj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&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;917&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--FinanceLeaseLiabilityPaymentsDueYearFour_iI_pn3n3_z3Gl9HXjabKl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&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;804&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--FinanceLeaseLiabilityPaymentsDueAfterYearFour_iI_pn3n3_zjJajX02UxC9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;2030 and 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;446&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--FinanceLeaseLiabilityPaymentsDue_iTI_pn3n3_z4SBllCmOa59" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total undiscounted cashflows&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,304&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--FinanceLeaseLiabilityUndiscountedExcessAmount_iI_pn3n3_z2VnQPwvzcpa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Less: Imputed Interest&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;363&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--FinanceLeaseLiability_iTI_pn3n3_zcb1X4lTuAq3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Present value of lease liability&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;3,941&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_8AF_z0D9f9U93uTl" 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, 2026, the weighted-average remaining lease term for finance leases was &lt;span id="xdx_901_eus-gaap--FinanceLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20260630_z1EaGXWZYQhc" title="Weighted-average remaining lease term"&gt;4.1&lt;/span&gt; years and the weighted-average discount rate was
&lt;span id="xdx_908_eus-gaap--FinanceLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20260630_zxxUrJ0AVp08" title="Weighted-average discount rate"&gt;4.2&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"&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;

</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001141">&lt;p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zqroHGjSV2Zb" 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_8B4_zUAMA1IoEP13" 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: 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_49C_20260630_zBrwsD09L7C4" 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;2026&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_498_20251231_zPCw4xNhWhLe" 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;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;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LineOfCredit_iI_pn3n3_maDICAz25p_zfDvXXBSUxak" 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;596&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;387&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_zQrd7r0fvOl7" 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;3,941&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;41&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--OtherLongTermDebtCurrent_iI_pn3n3_maDICAz25p_zJSuht5VM5U4" 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;4,628&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;&lt;span style="-sec-ix-hidden: xdx2ixbrl1150"&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_40A_ecustom--SeniorSecuredCreditFacility_iI_pn3n3_maDICAz25p_zFCpW5VmIm9f" 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;219,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;174,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_z7iX7LuTVuwf" 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;(2,771&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,799&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_zOpTgQg8J8o9" 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;225,394&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;171,629&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_zm5L7pvndEFk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Less: Current portion of long-term debt and other current borrowings&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,156&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;427&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtNoncurrent_iI_pn3n3_zQxvtU6anWL3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long-term debt&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;219,238&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;171,202&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:ScheduleOfDebtTableTextBlock>
    <us-gaap:LineOfCredit
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001143"
      unitRef="USD">596000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001144"
      unitRef="USD">387000</us-gaap:LineOfCredit>
    <TGLS:FinanceLeaseDebt
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001146"
      unitRef="USD">3941000</TGLS:FinanceLeaseDebt>
    <TGLS:FinanceLeaseDebt
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001147"
      unitRef="USD">41000</TGLS:FinanceLeaseDebt>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001149"
      unitRef="USD">4628000</us-gaap:OtherLongTermDebtCurrent>
    <TGLS:SeniorSecuredCreditFacility
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001152"
      unitRef="USD">219000000</TGLS:SeniorSecuredCreditFacility>
    <TGLS:SeniorSecuredCreditFacility
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001153"
      unitRef="USD">174000000</TGLS:SeniorSecuredCreditFacility>
    <us-gaap:DeferredCostsCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001155"
      unitRef="USD">2771000</us-gaap:DeferredCostsCurrent>
    <us-gaap:DeferredCostsCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001156"
      unitRef="USD">2799000</us-gaap:DeferredCostsCurrent>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001158"
      unitRef="USD">225394000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001159"
      unitRef="USD">171629000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001161"
      unitRef="USD">6156000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001162"
      unitRef="USD">427000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001164"
      unitRef="USD">219238000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001165"
      unitRef="USD">171202000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_srt_MinimumMember"
      decimals="-6"
      id="Fact001167"
      unitRef="USD">150000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_srt_MaximumMember"
      decimals="-6"
      id="Fact001169"
      unitRef="USD">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentMaturityDateDescription
      contextRef="From2025-09-012025-09-30_custom_SeniorSecuredCreditFacilityMember"
      id="Fact001171">extend the initial maturity
date by five years to December 2030</us-gaap:DebtInstrumentMaturityDateDescription>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="AsOf2025-09-30_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember"
      decimals="INF"
      id="Fact001173"
      unitRef="Pure">0.0125</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="AsOf2024-09-30_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember"
      decimals="INF"
      id="Fact001175"
      unitRef="Pure">0.0150</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="AsOf2025-12-31_custom_SeniorSecuredCreditFacilityMember"
      decimals="INF"
      id="Fact001177"
      unitRef="Pure">0.0698</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001179"
      unitRef="USD">2783000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001181"
      unitRef="USD">1354000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001183"
      unitRef="USD">1302000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <TGLS:TerminationCosts
      contextRef="AsOf2026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001185"
      unitRef="USD">52000</TGLS:TerminationCosts>
    <us-gaap:LegalFees
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001187"
      unitRef="USD">2783000</us-gaap:LegalFees>
    <TGLS:DeductedFromProceedsFromIssuanceOfDebt
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001189"
      unitRef="USD">1803000</TGLS:DeductedFromProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsNoncurrentNet
      contextRef="AsOf2026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-3"
      id="Fact001191"
      unitRef="USD">980000</us-gaap:DeferredFinanceCostsNoncurrentNet>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-6"
      id="Fact001193"
      unitRef="USD">60000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:RepaymentsOfDebt
      contextRef="From2026-01-012026-06-30_custom_SeniorSecuredCreditFacilityMember"
      decimals="-6"
      id="Fact001195"
      unitRef="USD">15000000</us-gaap:RepaymentsOfDebt>
    <TGLS:ScheduleOfInterestIncomeExpenseNetAndDeferredCostTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001197">&lt;p id="xdx_895_ecustom--ScheduleOfInterestIncomeExpenseNetAndDeferredCostTableTextBlock_zSptocCGhae8" 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;Interest
income (expense), net and deferred cost of financing 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_8B3_z8vdT2WE77Zk" style="display: none"&gt;Schedule
of Interest Income Expenses net and deferred cost&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_49E_20260401__20260630_zcVHem3o8NPb" style="font-weight: bold; text-align: center"&gt;&#160;&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_20250401__20250630_zVXBRh38ofH2" style="font-weight: bold; text-align: center"&gt;&#160;&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_20260101__20260630_zlGnmU86udy2" style="font-weight: bold; text-align: center"&gt;&#160;&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_zUg2JWZ9t7n3" style="font-weight: bold; text-align: center"&gt;&#160;&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;2026&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;2026&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Interest income (expense), net and deferred cost of financing:&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--InterestExpense_zaRt1R0lv1L7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; text-align: left"&gt;Interest expense&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: 12%; text-align: right"&gt;(3,429&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 style="width: 12%; text-align: right"&gt;(1,078&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 style="width: 12%; text-align: right"&gt;(5,957&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 style="width: 12%; text-align: right"&gt;(2,126&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--DeferredCostsOfFinancing_pn3n3_zFvOzCfn0f13" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred cost of financing&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;(155&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;(272&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;(307&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;(555&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--DerivativeFinancialInstrumentGain_pn3n3_zUtkCx1oGbkb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Derivative financial instrument loss&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;64&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: xdx2ixbrl1210"&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;(279&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: xdx2ixbrl1212"&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_40D_ecustom--InterestIncomeExpenseNetAndDeferredCostOfFinancing_pn3n3_zCyfhwPssEu" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest expense, net and deferred cost of financing:&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;(3,520&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;(1,350&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;(6,543&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;(2,681&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfInterestIncomeExpenseNetAndDeferredCostTableTextBlock>
    <us-gaap:InterestExpense
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001199"
      unitRef="USD">-3429000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001200"
      unitRef="USD">-1078000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001201"
      unitRef="USD">-5957000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001202"
      unitRef="USD">-2126000</us-gaap:InterestExpense>
    <TGLS:DeferredCostsOfFinancing
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001204"
      unitRef="USD">-155000</TGLS:DeferredCostsOfFinancing>
    <TGLS:DeferredCostsOfFinancing
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001205"
      unitRef="USD">-272000</TGLS:DeferredCostsOfFinancing>
    <TGLS:DeferredCostsOfFinancing
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001206"
      unitRef="USD">-307000</TGLS:DeferredCostsOfFinancing>
    <TGLS:DeferredCostsOfFinancing
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001207"
      unitRef="USD">-555000</TGLS:DeferredCostsOfFinancing>
    <TGLS:DerivativeFinancialInstrumentGain
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001209"
      unitRef="USD">64000</TGLS:DerivativeFinancialInstrumentGain>
    <TGLS:DerivativeFinancialInstrumentGain
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001211"
      unitRef="USD">-279000</TGLS:DerivativeFinancialInstrumentGain>
    <TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001214"
      unitRef="USD">-3520000</TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing>
    <TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001215"
      unitRef="USD">-1350000</TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing>
    <TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001216"
      unitRef="USD">-6543000</TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing>
    <TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001217"
      unitRef="USD">-2681000</TGLS:InterestIncomeExpenseNetAndDeferredCostOfFinancing>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001219">&lt;p id="xdx_89B_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zzUeOdw9MFh3" 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, 2026, 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_8B6_zsvW6Jt2HlAf" 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;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: 80%"&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_493_20260630_zXarcZsz5imh" 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--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_pn3n3_maLTDz5iw_z6Anyjgfa8O5" 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;6,156&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--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_pn3n3_maLTDz5iw_z4XZ9VHLuvvj" 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;953&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_pn3n3_maLTDz5iw_zpE5uMoL9Eel" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center"&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;848&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_pn3n3_maLTDz5iw_zHpXBDOYxhJe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center"&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;769&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_pn3n3_maLTDz5iw_zyZ6FV50IIZh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&gt;2030&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;219,439&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--LongTermDebt_iTI_pn3n3_mtLTDz5iw_zEgtsOiRKiQd" style="vertical-align: bottom; background-color: White"&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;228,165&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:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001221"
      unitRef="USD">6156000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001223"
      unitRef="USD">953000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001225"
      unitRef="USD">848000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001227"
      unitRef="USD">769000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001229"
      unitRef="USD">219439000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebt
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001231"
      unitRef="USD">228165000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentMaturityDateDescription contextRef="From2026-01-01to2026-06-30" id="Fact001233">several weeks to 5 years</us-gaap:DebtInstrumentMaturityDateDescription>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact001235"
      unitRef="Pure">0.0514</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001237"
      unitRef="USD">3905000</us-gaap:FinanceLeaseRightOfUseAsset>
    <TGLS:FinanceLeaseRightOfUseAssetIncludedPropertyPlantAndEquipmentAndLeaseLiabilities
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001239"
      unitRef="USD">3941000</TGLS:FinanceLeaseRightOfUseAssetIncludedPropertyPlantAndEquipmentAndLeaseLiabilities>
    <TGLS:FinanceLeaseShortTermDebt
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001241"
      unitRef="USD">932000</TGLS:FinanceLeaseShortTermDebt>
    <TGLS:FinanceLeaseLongTermDebt
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001243"
      unitRef="USD">3009000</TGLS:FinanceLeaseLongTermDebt>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001245"
      unitRef="USD">306000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001247"
      unitRef="USD">564000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001249"
      unitRef="USD">43000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001251"
      unitRef="USD">68000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001253"
      unitRef="USD">702000</us-gaap:FinanceLeasePrincipalPayments>
    <TGLS:FinanceLeasePrincipalPaymentsClassifiedAsOperatingCashFlows
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001255"
      unitRef="USD">68000</TGLS:FinanceLeasePrincipalPaymentsClassifiedAsOperatingCashFlows>
    <TGLS:FinanceLeasePrincipalPaymentsClassifiedAsFinancingCashFlows
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001257"
      unitRef="USD">634000</TGLS:FinanceLeasePrincipalPaymentsClassifiedAsFinancingCashFlows>
    <TGLS:NoncashAdditionsToRightOfUseAssetsInExchangeForLeaseLiabilities
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001259"
      unitRef="USD">3073000</TGLS:NoncashAdditionsToRightOfUseAssetsInExchangeForLeaseLiabilities>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001261">&lt;p id="xdx_899_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_z7a8ivTHQip" 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;Future
minimum lease payments for the years ended June 30, of each year 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_8BE_zKECQKN054Oh" style="display: none"&gt;Schedule of Future Minimum Lease Payments&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: 70%"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&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_49B_20260630_zQQZ7DEYBikh" 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--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_pn3n3_zWBhkFopt9g2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&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;1,078&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--FinanceLeaseLiabilityPaymentsDueYearTwo_iI_pn3n3_zhrEp3LZ9gv7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&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;1,060&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueYearThree_iI_pn3n3_z6tmBx8N7AVj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&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;917&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--FinanceLeaseLiabilityPaymentsDueYearFour_iI_pn3n3_z3Gl9HXjabKl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&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;804&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--FinanceLeaseLiabilityPaymentsDueAfterYearFour_iI_pn3n3_zjJajX02UxC9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;2030 and 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;446&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--FinanceLeaseLiabilityPaymentsDue_iTI_pn3n3_z4SBllCmOa59" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total undiscounted cashflows&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,304&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--FinanceLeaseLiabilityUndiscountedExcessAmount_iI_pn3n3_z2VnQPwvzcpa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Less: Imputed Interest&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;363&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--FinanceLeaseLiability_iTI_pn3n3_zcb1X4lTuAq3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Present value of lease liability&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;3,941&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:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001263"
      unitRef="USD">1078000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001265"
      unitRef="USD">1060000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001267"
      unitRef="USD">917000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001269"
      unitRef="USD">804000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <TGLS:FinanceLeaseLiabilityPaymentsDueAfterYearFour
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001271"
      unitRef="USD">446000</TGLS:FinanceLeaseLiabilityPaymentsDueAfterYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001273"
      unitRef="USD">4304000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001275"
      unitRef="USD">363000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiability
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001277"
      unitRef="USD">3941000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2026-06-30" id="Fact001279">P4Y1M6D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2026-06-30"
      decimals="INF"
      id="Fact001281"
      unitRef="Pure">0.042</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001283">&lt;p id="xdx_800_eus-gaap--DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_zjoBOi5NM3k4" 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_823_zIn8aovPMp7d"&gt;Derivative Financial Instruments 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;Derivative
Financial Instruments&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; 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, as a result, the Company has payment dates each
quarter, commencing June 30 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; 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"&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;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_904_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MaximumMember_zAdjXAhK6t49" title="Derivative fixed interest rate"&gt;1.93&lt;/span&gt;% to &lt;span id="xdx_905_eus-gaap--DerivativeFixedInterestRate_iI_dp_uPure_c20230621__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember__srt--RangeAxis__srt--MinimumMember_zh3LyJZarQnl" 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"&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
September 04, 2025 Tecnoglass amended its senior secured revolving credit facility to (i) increase the borrowing capacity under its committed
Line of credit from $&lt;span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250903__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zYO5fWSfc3Pk" title="Line of credit"&gt;150&lt;/span&gt; million to $&lt;span id="xdx_906_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20250904__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_zq1pqq15OyI3" title="Line of credit facility, maximum borrowing capacity"&gt;500&lt;/span&gt; million, (ii) reduce its borrowing costs by an approximate 25 basis points, and (iii) &lt;span id="xdx_901_eus-gaap--DebtInstrumentMaturityDateDescription_c20250904__20250904__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_z2Mw5b2IDxoe" title="Loan maturity period description"&gt;extend
the initial maturity date by five years to the end of 2030&lt;/span&gt;. Borrowings under the credit facility will now bear interest at the Secured
Overnight Financing Rate (SOFR) with no floor plus a spread of &lt;span id="xdx_90A_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20250904__20250904__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember__us-gaap--DebtInstrumentAxis__us-gaap--SecuredOvernightFinancingRateSofrMember_z8492OoiUzH8" title="Debt instrument basis spread on variable rate"&gt;1.25&lt;/span&gt;%, based on the Company&#x2019;s net leverage ratio, compared to a
prior spread of &lt;span id="xdx_905_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20240904__20240904__us-gaap--CreditFacilityAxis__custom--SeniorSecuredCreditFacilityMember_za5Y1yTQOOI5" title="Debt instrument basis spread on variable rate"&gt;1.50&lt;/span&gt;%. The facility was led by Wells Fargo Bank N.A. as Administrative Agent; with BMO Bank N.A, Citibank N.A, Citizens
Bank N.A, First Citizens Bank &amp;amp; Trust Company and J.P. Morgan Chase Bank N.A, as Joint Lead Arrangers.&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, 2026, the fair value of the Company&#x2019;s interest rate swap and foreign currency non-delivery option contracts was in
a net asset position of $&lt;span id="xdx_904_eus-gaap--DerivativeAssets_iI_pn5n6_c20260630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zeKSC7Zhkyn3" title="Derivative assets"&gt;1.0&lt;/span&gt; million. We had 2 outstanding interest rate swap contracts of $&lt;span id="xdx_909_eus-gaap--InterestEarningAssetsAverageAmountOutstanding_pn6n6_c20260101__20260630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zMxXpOoSopJk" title="Interest earning assets average outstanding"&gt;110&lt;/span&gt; million through November 2026 as an economic
hedge and 8 non-delivery option contracts to exchange $&lt;span id="xdx_901_eus-gaap--LongTermDebtAverageAmountOutstanding_pn6n6_c20260101__20260630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_zaDUzMrl2mp2" title="Debt outstanding amount"&gt;60&lt;/span&gt; million U.S. Dollars to Colombian Pesos through December 2026.&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
the second quarter of 2026, the Company did not assess the effectiveness of foreign currency non-delivery option contracts due to the
contracts the Company entered into on May 5, 2026 which did not qualify for hedge accounting and were not designated as hedging instruments.&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;Because
of the discontinuation of the hedge accounting for the interest rate swap in the third quarter of 2025, the Company did not assess the
effectiveness of this instrument.&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
gain or loss on the Company&#x2019;s foreign currency non-delivery option contracts are reported as a component of the earnings. The change
in the fair value of the interest rate swap designated as an economic hedge will be included in earnings at the moment of its valuation.&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,2026, there are no gains or losses, net, recognized in the &#x201c;accumulated other comprehensive income&#x201d; for non-delivery
option and interest rate swap contracts.&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_89C_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zqUc5XMzJdkl" 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 value of interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2026, 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;&#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 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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zNSlVFjDWRva" style="display: none"&gt;Schedule
of Fair Value of Foreign Currency Hedges&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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"&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="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font: bold 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Derivative Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Derivative
Liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Derivatives financial instruments&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30, 2026&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30, 2026&lt;/b&gt;&lt;/span&gt;&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"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;under&#x202f;Subtopic 815-20:&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance&#x202f;Sheet&#x202f;&lt;br/&gt;
 Location&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance&#x202f;Sheet&#x202f;&lt;br/&gt;
 Location&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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;Derivative instruments:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&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 style="border-left: Black 1pt solid"&gt;&#160;&lt;/td&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 30%; text-align: left"&gt;Interest Rate Swap Contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 18%; 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_989_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__custom--StatementOfBalanceSheetLocationAxis__custom--OtherCurrentAssetMember_zaUmP6QpA11j" style="width: 11%; text-align: right" title="Total derivative assets"&gt;787&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 18%; 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: 11%; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__custom--StatementOfBalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zlRListcWqT5" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1309"&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="padding-bottom: 1pt; padding-left: 10pt; text-align: left"&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_98A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__custom--StatementOfBalanceSheetLocationAxis__custom--OtherCurrentAssetMember_zVGZT5gRNRGl" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;232&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; 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 style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__custom--StatementOfBalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zQiA7h2b85ec" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1313"&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="padding-bottom: 1pt; padding-left: 20pt; text-align: left"&gt;Total derivative instruments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&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_98A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630_ze5nsOc59g97" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;1,019&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&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_907_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630_zGiNFFfYWONk" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1317"&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_8A5_zhG2HZ4okShb" 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; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
ending accumulated balance for foreign currency non-delivery option contracts included in earnings, net of tax, was $&lt;span id="xdx_905_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__us-gaap--InterestRateSwapMember_z4WLmCdHIcP4" title="Accumulated other comprehensive income net of tax"&gt;232&lt;/span&gt; as of June 30,2026,
comprised of a derivative gain of $&lt;span id="xdx_904_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember_zhfdOFuVIr51" title="Accumulated other comprehensive income net of tax"&gt;232&lt;/span&gt;. No deferred income tax was calculated because the amounts accrued as of June 30, 2026 are the
same as the compensation received.&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 id="xdx_890_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zCFaUDcykf2h" 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, 2026, and 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; text-indent: 0.5in"&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;&#160;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zdzfpWTf99e9" style="display: none"&gt;Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="16" 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&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 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 colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) 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&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 earnings 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 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 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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td 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 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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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 style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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&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&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="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; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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 style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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: 30%; text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards 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 id="xdx_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zP5nOAyQKBzd" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;1,808&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_983_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zlBcyxfrqqY2" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;748&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: 20%; text-align: center"&gt;Interest income (expense), net and deferred cost of financing and operating revenues &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_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zzGtsYyOiKU2" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1329"&gt;-&lt;/span&gt;&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_986_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zsyc1vE020Hh" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;1,250&lt;/td&gt;&lt;td style="width: 1%; 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; text-indent: 0.5in"&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: 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;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="16" 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&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 style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="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;Amount of Gain or (Loss)&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;Reclassified from&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&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="6" style="font-weight: bold; text-align: center"&gt;Recognized in earnings 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 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 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&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 style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&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&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&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&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&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&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;2026&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&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;2026&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;/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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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: 30%; text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards 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 id="xdx_981_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260101__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z9lP0eoyU03d" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;2,782&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_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z2iOOdpiIIUg" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;148&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: 20%; text-align: center"&gt;Interest income (expense), net and deferred cost of financing and operating revenues&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_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zfi2A4MgNjqc" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1337"&gt;-&lt;/span&gt;&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_98D_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_z58G94oUeftf" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; 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; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_8AF_zeyUb670GaGd" 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;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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; 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; 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; 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; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2026, 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; 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_894_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zLrtg6dUrum5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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;&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;&lt;span id="xdx_8BB_zEKGSrwYzX1f" style="display: none"&gt;Schedule
of Fair Value and Carrying Amounts of Long Term Debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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_492_20260630_z37RJ0XB0yz7" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2026&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_49A_20251231_z9Xw1wFjWFgc" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zKa13dL4QzEk" 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;215,180&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;170,727&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_zSzgwgew1Z2j" 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;219,238&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;171,202&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zfW7fP3y4hc8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_MaximumMember"
      decimals="INF"
      id="Fact001285"
      unitRef="Pure">0.0193</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="AsOf2023-06-21_us-gaap_InterestRateSwapMember_srt_MinimumMember"
      decimals="INF"
      id="Fact001287"
      unitRef="Pure">0.0187</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2025-09-03_custom_SeniorSecuredCreditFacilityMember"
      decimals="-6"
      id="Fact001289"
      unitRef="USD">150000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2025-09-04_custom_SeniorSecuredCreditFacilityMember"
      decimals="-6"
      id="Fact001291"
      unitRef="USD">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentMaturityDateDescription
      contextRef="From2025-09-042025-09-04_custom_SeniorSecuredCreditFacilityMember"
      id="Fact001293">extend
the initial maturity date by five years to the end of 2030</us-gaap:DebtInstrumentMaturityDateDescription>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="From2025-09-042025-09-04_custom_SeniorSecuredCreditFacilityMember_us-gaap_SecuredOvernightFinancingRateSofrMember"
      decimals="INF"
      id="Fact001295"
      unitRef="Pure">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="From2024-09-042024-09-04_custom_SeniorSecuredCreditFacilityMember"
      decimals="INF"
      id="Fact001297"
      unitRef="Pure">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DerivativeAssets
      contextRef="AsOf2026-06-30_us-gaap_InterestRateSwapMember"
      decimals="-5"
      id="Fact001299"
      unitRef="USD">1000000.0</us-gaap:DerivativeAssets>
    <us-gaap:InterestEarningAssetsAverageAmountOutstanding
      contextRef="From2026-01-012026-06-30_us-gaap_InterestRateSwapMember"
      decimals="-6"
      id="Fact001301"
      unitRef="USD">110000000</us-gaap:InterestEarningAssetsAverageAmountOutstanding>
    <us-gaap:LongTermDebtAverageAmountOutstanding
      contextRef="From2026-01-012026-06-30_us-gaap_InterestRateSwapMember"
      decimals="-6"
      id="Fact001303"
      unitRef="USD">60000000</us-gaap:LongTermDebtAverageAmountOutstanding>
    <TGLS:ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001305">&lt;p id="xdx_89C_ecustom--ScheduleOfFairValueOfForeignCurrencyHedgesTableTextBlock_zqUc5XMzJdkl" 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 value of interest rate swap and foreign currency non-delivery option hedges is classified in the accompanying consolidated balance
sheets, as of June 30, 2026, 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;&#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 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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zNSlVFjDWRva" style="display: none"&gt;Schedule
of Fair Value of Foreign Currency Hedges&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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"&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="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font: bold 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Derivative Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Derivative
Liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Derivatives financial instruments&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30, 2026&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="4" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30, 2026&lt;/b&gt;&lt;/span&gt;&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"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;under&#x202f;Subtopic 815-20:&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance&#x202f;Sheet&#x202f;&lt;br/&gt;
 Location&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Balance&#x202f;Sheet&#x202f;&lt;br/&gt;
 Location&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="padding-bottom: 1pt; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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;Derivative instruments:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&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 style="border-left: Black 1pt solid"&gt;&#160;&lt;/td&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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 30%; text-align: left"&gt;Interest Rate Swap Contracts&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 18%; 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_989_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__custom--StatementOfBalanceSheetLocationAxis__custom--OtherCurrentAssetMember_zaUmP6QpA11j" style="width: 11%; text-align: right" title="Total derivative assets"&gt;787&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 18%; 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: 11%; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsMember__custom--StatementOfBalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zlRListcWqT5" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1309"&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="padding-bottom: 1pt; padding-left: 10pt; text-align: left"&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_98A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__custom--StatementOfBalanceSheetLocationAxis__custom--OtherCurrentAssetMember_zVGZT5gRNRGl" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;232&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; 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 style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90B_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--ForeignCurrencyNonDeliveryForwardsMember__custom--StatementOfBalanceSheetLocationAxis__us-gaap--AccruedLiabilitiesMember_zQiA7h2b85ec" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1313"&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="padding-bottom: 1pt; padding-left: 20pt; text-align: left"&gt;Total derivative instruments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&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_98A_eus-gaap--DerivativeInstrumentsAndHedges_iI_pn3n3_c20260630_ze5nsOc59g97" style="border-bottom: Black 1pt solid; text-align: right" title="Total derivative assets"&gt;1,019&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-left: Black 1pt solid; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt; text-align: left"&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_907_eus-gaap--DerivativeInstrumentsAndHedgesLiabilities_iI_pn3n3_c20260630_zGiNFFfYWONk" title="Total derivative liabilities"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1317"&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="AsOf2026-06-30_custom_InterestRateSwapContractsMember_custom_OtherCurrentAssetMember"
      decimals="-3"
      id="Fact001307"
      unitRef="USD">787000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2026-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember_custom_OtherCurrentAssetMember"
      decimals="-3"
      id="Fact001311"
      unitRef="USD">232000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001315"
      unitRef="USD">1019000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2026-06-30_us-gaap_InterestRateSwapMember"
      decimals="-3"
      id="Fact001319"
      unitRef="USD">232000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:DerivativeInstrumentsAndHedges
      contextRef="AsOf2026-06-30_custom_ForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001321"
      unitRef="USD">232000</us-gaap:DerivativeInstrumentsAndHedges>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001323">&lt;p id="xdx_890_eus-gaap--ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_zCFaUDcykf2h" 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, 2026, and 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; text-indent: 0.5in"&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;&#160;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zdzfpWTf99e9" style="display: none"&gt;Schedule
of Gains (Losses) on Derivative Financial Instruments quarter ended&lt;/span&gt;&lt;/span&gt;&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="16" 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&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 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 colspan="6" style="font-weight: bold; text-align: center"&gt;Amount of Gain or (Loss) 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&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 earnings 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 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 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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td 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 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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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 style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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&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&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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="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; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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 style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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: 30%; text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards 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 id="xdx_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zP5nOAyQKBzd" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;1,808&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_983_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_zlBcyxfrqqY2" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;748&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: 20%; text-align: center"&gt;Interest income (expense), net and deferred cost of financing and operating revenues &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_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zzGtsYyOiKU2" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1329"&gt;-&lt;/span&gt;&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_986_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250401__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zsyc1vE020Hh" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;1,250&lt;/td&gt;&lt;td style="width: 1%; 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; text-indent: 0.5in"&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: 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;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="16" 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&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 style="font-weight: bold; text-align: center"&gt;Location of Gain or (Loss) Reclassified from Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="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;Amount of Gain or (Loss)&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;Reclassified from&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&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="6" style="font-weight: bold; text-align: center"&gt;Recognized in earnings 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 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 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&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 style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Income&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&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&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&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&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&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;2026&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="padding-bottom: 1pt"&gt;&#160;&lt;/td&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;2026&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;/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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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="padding-bottom: 1pt; font-weight: bold; text-align: center"&gt;&#160;&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: 30%; text-align: left"&gt;Interest Rate Swap and foreign currency non-delivery forwards 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 id="xdx_981_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260101__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z9lP0eoyU03d" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;2,782&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_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember_z2iOOdpiIIUg" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;148&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: 20%; text-align: center"&gt;Interest income (expense), net and deferred cost of financing and operating revenues&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_987_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20260401__20260630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_zfi2A4MgNjqc" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1337"&gt;-&lt;/span&gt;&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_98D_ecustom--DerivativeGainLossesOnDerivativeNet_pn3n3_c20250101__20250630__us-gaap--DerivativeInstrumentRiskAxis__custom--InterestExpenseNetOfDeferredCostOfFinancingMember_z58G94oUeftf" style="width: 8%; text-align: right" title="Amount of Gain or (Loss) Recognized in OCI (Loss) on Derivatives"&gt;2,242&lt;/td&gt;&lt;td style="width: 1%; 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; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2026-04-012026-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001325"
      unitRef="USD">1808000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2025-04-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001327"
      unitRef="USD">748000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2025-04-012025-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember"
      decimals="-3"
      id="Fact001331"
      unitRef="USD">1250000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2026-01-012026-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001333"
      unitRef="USD">2782000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2025-01-012025-06-30_custom_InterestRateSwapContractsAndForeignCurrencyNonDeliveryForwardsMember"
      decimals="-3"
      id="Fact001335"
      unitRef="USD">148000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <TGLS:DerivativeGainLossesOnDerivativeNet
      contextRef="From2025-01-012025-06-30_custom_InterestExpenseNetOfDeferredCostOfFinancingMember"
      decimals="-3"
      id="Fact001339"
      unitRef="USD">2242000</TGLS:DerivativeGainLossesOnDerivativeNet>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001341">&lt;p id="xdx_894_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zLrtg6dUrum5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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;&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;&lt;span id="xdx_8BB_zEKGSrwYzX1f" style="display: none"&gt;Schedule
of Fair Value and Carrying Amounts of Long Term Debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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_492_20260630_z37RJ0XB0yz7" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2026&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_49A_20251231_z9Xw1wFjWFgc" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtFairValue_iI_pn3n3_zKa13dL4QzEk" 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;215,180&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;170,727&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_zSzgwgew1Z2j" 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;219,238&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;171,202&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="AsOf2026-06-30"
      decimals="-3"
      id="Fact001343"
      unitRef="USD">215180000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001344"
      unitRef="USD">170727000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001346"
      unitRef="USD">219238000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2025-12-31"
      decimals="-3"
      id="Fact001347"
      unitRef="USD">171202000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001349">&lt;p id="xdx_809_eus-gaap--IncomeTaxDisclosureTextBlock_z7g8eZ1xcPCh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_824_zlKstDgsSy45"&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; 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; 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; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
July 7, 2026, the Company completed its continuation from the Cayman Islands to the State of Florida and changed its jurisdiction of
incorporation from the Cayman Islands to Florida. In connection with the continuation, the Company became governed by the Florida Business
Corporation Act and its Florida Articles of Incorporation and Bylaws. Each outstanding ordinary share of the Company automatically became
a share of common stock of the Florida corporation with the same par value, and the Company&#x2019;s common stock continues to be listed
and traded on the New York Stock Exchange under the symbol &#x201c;TGLS.&#x201d;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&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"&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"&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"&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
a result of the redomiciliation, the Company will be subject to U.S. federal income taxation. The Company&#x2019;s foreign subsidiaries
will be treated as controlled foreign corporations for U.S. tax purposes, and certain income of those entities will be included in the
U.S. tax computation. Management believes that the effective foreign tax rates applicable to such income are sufficient to generate foreign
tax credits that substantially offset any incremental U.S. federal income tax liability. Accordingly, management does not expect the
redomiciliation to have a material impact on the Company&#x2019;s income tax provision.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_892_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z7mUdjs4Lt8j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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;&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;&lt;span id="xdx_8B8_z4gM7pD2HG9d" 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;/span&gt;&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"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20260401__20260630_zEspyM4OFgX5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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" id="xdx_49F_20250401__20250630_zLkuv8gz2VK1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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" id="xdx_49D_20260101__20260630_zlxANL5NSlpj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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" id="xdx_49E_20250101__20250630_zeNqz8ppTE7e" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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&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; 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; 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&gt;&#160;&lt;/td&gt;&lt;td&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; 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; 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&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="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_405_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_z41yymLJPOi3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;(7,327&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: 12%; 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: 12%; text-align: right"&gt;(14,417&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: 12%; text-align: right"&gt;(11,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zmVsqKoi08Lj" 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;(1,208&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;(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;(6,571&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_z9I4b4oXbmX" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Panama&lt;/td&gt;&lt;td&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: xdx2ixbrl1363"&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="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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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: xdx2ixbrl1365"&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="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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zNPEy9wDym1i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&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&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;(8,535&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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;(20,988&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="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_405_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zJ05AKjQ8ys4" 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;(3,130&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;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;(994&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;(1,355&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zWiToKdm44O2" 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="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,430&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&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,015&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zq8YfYmmsED7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&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&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,560&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&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,009&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_z3SFonrzfKo7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total income provision&lt;/td&gt;&lt;td&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;(14,095&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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;(25,997&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="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_40B_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zHwyudi7p41" 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;36.5&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.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;31.5&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;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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, 2026, of &lt;span id="xdx_90C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20260401__20260630_zNrsDDmHpTae" title="Statutory income tax rate"&gt;36.5&lt;/span&gt;%, and &lt;span id="xdx_90F_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20260101__20260630_zFVLpmBJcEt8" title="Statutory income tax rate"&gt;31.5&lt;/span&gt;%, respectively, reflects he impact of certain foreign expenses incurred by the Company&#x2019;s Colombian subsidiaries that are not deductible for income tax purposes. The effective
income tax rate for the three and six months ended June 30, 2025, of &lt;span id="xdx_902_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250401__20250630_zIVKmb6x7tKh" title="Statutory income tax rate"&gt;29.2&lt;/span&gt;%, and &lt;span id="xdx_908_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20250101__20250630_znjxNbhqQ9pj" title="Statutory income tax rate"&gt;29.3&lt;/span&gt;%, respectively, approximates the weighted average
statutory rate of &lt;span id="xdx_90E_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_pid_dp_uPure_c20260101__20260630_zXkuRpcuRE76" title="Weighted average statutory rate"&gt;29.1&lt;/span&gt;%.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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="From2026-01-01to2026-06-30" id="Fact001351">&lt;p id="xdx_892_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z7mUdjs4Lt8j" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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;&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;&lt;span id="xdx_8B8_z4gM7pD2HG9d" 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;/span&gt;&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"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20260401__20260630_zEspyM4OFgX5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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" id="xdx_49F_20250401__20250630_zLkuv8gz2VK1" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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" id="xdx_49D_20260101__20260630_zlxANL5NSlpj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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" id="xdx_49E_20250101__20250630_zeNqz8ppTE7e" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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&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; 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; 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&gt;&#160;&lt;/td&gt;&lt;td&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; 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; 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&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="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_405_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_z41yymLJPOi3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;(7,327&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: 12%; 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: 12%; text-align: right"&gt;(14,417&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: 12%; text-align: right"&gt;(11,920&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zmVsqKoi08Lj" 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;(1,208&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;(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;(6,571&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--PA_z9I4b4oXbmX" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Panama&lt;/td&gt;&lt;td&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: xdx2ixbrl1363"&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="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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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: xdx2ixbrl1365"&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="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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--CurrentIncomeTaxExpenseBenefit_iN_pn3n3_di_zNPEy9wDym1i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&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&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;(8,535&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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;(20,988&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="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_405_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--US_zJ05AKjQ8ys4" 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;(3,130&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;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;(994&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;(1,355&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_hsrt--StatementGeographicalAxis__country--CO_zWiToKdm44O2" 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="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,430&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&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,015&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredIncomeTaxExpenseBenefit_iN_pn3n3_di_zq8YfYmmsED7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&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&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,560&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&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,009&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iN_pn3n3_di_z3SFonrzfKo7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Total income provision&lt;/td&gt;&lt;td&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;(14,095&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="text-align: left"&gt;)&lt;/td&gt;&lt;td&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;(25,997&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&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="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_40B_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_zHwyudi7p41" 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;36.5&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.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;31.5&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;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30_country_US"
      decimals="-3"
      id="Fact001353"
      unitRef="USD">7327000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact001354"
      unitRef="USD">8286000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-01-012026-06-30_country_US"
      decimals="-3"
      id="Fact001355"
      unitRef="USD">14417000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact001356"
      unitRef="USD">11920000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30_country_CO"
      decimals="-3"
      id="Fact001358"
      unitRef="USD">1208000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001359"
      unitRef="USD">10329000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-01-012026-06-30_country_CO"
      decimals="-3"
      id="Fact001360"
      unitRef="USD">6571000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001361"
      unitRef="USD">21881000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_PA"
      decimals="-3"
      id="Fact001364"
      unitRef="USD">1000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_PA"
      decimals="-3"
      id="Fact001366"
      unitRef="USD">5000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001368"
      unitRef="USD">8535000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001369"
      unitRef="USD">18616000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001370"
      unitRef="USD">20988000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001371"
      unitRef="USD">33806000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30_country_US"
      decimals="-3"
      id="Fact001373"
      unitRef="USD">3130000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_US"
      decimals="-3"
      id="Fact001374"
      unitRef="USD">-58000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-01-012026-06-30_country_US"
      decimals="-3"
      id="Fact001375"
      unitRef="USD">994000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_US"
      decimals="-3"
      id="Fact001376"
      unitRef="USD">1355000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30_country_CO"
      decimals="-3"
      id="Fact001378"
      unitRef="USD">2430000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001379"
      unitRef="USD">-410000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-01-012026-06-30_country_CO"
      decimals="-3"
      id="Fact001380"
      unitRef="USD">4015000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30_country_CO"
      decimals="-3"
      id="Fact001381"
      unitRef="USD">647000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001383"
      unitRef="USD">5560000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001384"
      unitRef="USD">-468000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001385"
      unitRef="USD">5009000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001386"
      unitRef="USD">2002000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001388"
      unitRef="USD">14095000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001389"
      unitRef="USD">18148000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001390"
      unitRef="USD">25997000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001391"
      unitRef="USD">35808000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001393"
      unitRef="Pure">0.365</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001394"
      unitRef="Pure">0.292</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001395"
      unitRef="Pure">0.315</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001396"
      unitRef="Pure">0.293</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001398"
      unitRef="Pure">0.365</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001400"
      unitRef="Pure">0.315</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001402"
      unitRef="Pure">0.292</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001404"
      unitRef="Pure">0.293</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001406"
      unitRef="Pure">0.291</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001408">&lt;p id="xdx_80C_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zA6cmrWfO5mf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_82F_zSnu9k5eAumc"&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; 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_899_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_zzJMawkfBaF9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify; text-indent: 0.5in"&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;&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;&lt;span id="xdx_8BD_zQnTCPBdH6id" 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;/span&gt;&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"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20260630_zB8VoKaWW8sc" 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" id="xdx_49C_20251231_zU10sDXTopL8" style="font-weight: bold; text-align: center"&gt;December 31,&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; 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;2026&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;/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_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zYa5dHayodYf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Alutrafic Led SAS&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;644&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;525&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--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z4l9SCPOkpUf" 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;427&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;403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8trKFIYDuti" style="vertical-align: bottom; background-color: White"&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;359&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;404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--OtherMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvomiWAZGspj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;645&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;670&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zLueAwP7eWHe" style="vertical-align: bottom; background-color: White"&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;2,075&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,002&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: 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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&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_zu73D6ZhCK65" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;5,131&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,717&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--OtherMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zkI2AAZtLwCd" style="vertical-align: bottom; background-color: White"&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,764&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;5,164&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zUe6z8kJ80Rl" 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 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;8,895&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;10,881&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_8A5_ztmEIa5Qclhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_89F_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zCetpNutn8Ck" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;&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;&lt;span id="xdx_8B4_zCZwS14O0JO3" style="display: none"&gt;Schedule of Sale to Related Parties&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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_49E_20260401__20260630_zIx960hdwuSl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_49F_20250401__20250630_zTQAq5li7D82" 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_497_20260101__20260630_z1LrHc7hthgf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_zY4yLST7hgV7" 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;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&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; 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; 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; 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; 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;2026&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;2026&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;/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_405_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zKAbpRw7IGM2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;448&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: 12%; 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: 12%; text-align: right"&gt;604&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: 12%; text-align: right"&gt;1,168&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z6AQXZpNWKX4" 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;276&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;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;569&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zYOZkxWsFxtf" 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;51&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;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;145&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zyzFB6Gny5H3" 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;(55&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;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;130&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--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zBnTFvAnmPTi" 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;720&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,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;1,341&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;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zgb9PEKjLEGa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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, 2026, we sold $&lt;span id="xdx_903_eus-gaap--Revenues_pn3n3_c20260401__20260630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z7DB6J1xbn22" title="Revenue from related parties"&gt;276&lt;/span&gt;, and $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20260101__20260630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zfejn2xz33Cb" title="Revenue from related parties"&gt;569&lt;/span&gt;, respectively, to Alutrafic,
compared to $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z72s2jx4EcKa" title="Revenue from related parties"&gt;230&lt;/span&gt; and $&lt;span id="xdx_903_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z67X1TCSDbYb" title="Revenue from related parties"&gt;587&lt;/span&gt; during the three and six months ended June 30, 2025, respectively. Additionally, we had outstanding accounts
receivable from Alutrafic of $&lt;span id="xdx_90A_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20260630__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zsXEnDaAzdnj" title="Accounts receivable"&gt;644&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20251231__us-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvozkj8riDl9" title="Accounts receivable"&gt;525&lt;/span&gt; as of June 30, 2026, and December 31, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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, 2026 of $&lt;span id="xdx_90D_ecustom--CashContributionsForSocialCauses_pn3n3_c20260401__20260630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zTMcsxpYKrW" title="Cash contributions for social causes"&gt;1,242&lt;/span&gt; and $&lt;span id="xdx_902_ecustom--CashContributionsForSocialCauses_pn3n3_c20260101__20260630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zx8XjzSLkPO" title="Cash contributions for social causes"&gt;2,426&lt;/span&gt;, respectively, compared to
$&lt;span id="xdx_900_ecustom--CashContributionsForSocialCauses_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zAQgFkR8lJd9" title="Cash contributions for social causes"&gt;998&lt;/span&gt; and $&lt;span id="xdx_907_ecustom--CashContributionsForSocialCauses_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--FundacionTecnoglassMember_zQV18jErpGIk" title="Cash contributions for social causes"&gt;2,046&lt;/span&gt;, during the three and six months ended June 30, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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_904_eus-gaap--Revenues_pn3n3_c20260401__20260630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zUIlgur6D49j" title="Revenue from related parties"&gt;448&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20260101__20260630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zxJNB7Ou1Aak" title="Revenue from related parties"&gt;604&lt;/span&gt;, respectively, to Prisma-Glass LLC during the
three and six months ended June 30, 2026, compared to $&lt;span id="xdx_90B_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zzCM9r7DXNM4" title="Revenue from related parties"&gt;785&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zakknlS96un8" title="Revenue from related parties"&gt;1,168&lt;/span&gt;, respectively, during the three and six months ended June 30, 2025.
The Company had outstanding accounts receivable from Prisma-Glass of $&lt;span id="xdx_90D_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20260630__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zEF9QEC7f12h" title="Accounts receivable"&gt;359&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20251231__us-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zQZiBk7cjkC3" title="Accounts receivable"&gt;404&lt;/span&gt; as of June 30, 2026, and December 31, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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, 2026, we purchased $&lt;span id="xdx_901_ecustom--PurchasePriceOfFuel_pn3n3_c20260401__20260630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zOlFuRuM5QB6" title="Purchases of fuel"&gt;462&lt;/span&gt; and $&lt;span id="xdx_909_ecustom--PurchasePriceOfFuel_pn3n3_c20260101__20260630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zafW5hESOgAl" title="Purchases of fuel"&gt;846&lt;/span&gt;, respectively, compared to $&lt;span id="xdx_90D_ecustom--PurchasePriceOfFuel_pn3n3_c20250401__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvjpsfxfNd9f" title="Purchases of fuel"&gt;131&lt;/span&gt; and $&lt;span id="xdx_902_ecustom--PurchasePriceOfFuel_pn3n3_c20250101__20250630__srt--TitleOfIndividualAxis__custom--CEOAndCOOMember__us-gaap--RelatedPartyTransactionAxis__custom--SantaMariaDelMarSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_znJqlWa6pEkf" title="Purchases of fuel"&gt;719&lt;/span&gt; purchased during the
three and six months ended June 30, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Storm
Armour Solutions&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
June 2025, the Company entered into a partnership with Storm Armour, LLC to create Storm Armour Solutions, LLC which has the purpose
of participating in the sale, sublicensing, and distribution of licensed products in the areas of influence, under a licensing agreement.
To join this business, Tecno Inc created a wholly owned subsidiary named Tecnoglass Armour, LLC, a Limited Liability Company based in
the State of Florida. Tecnoglass Armour, LLC has a &lt;span id="xdx_907_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20250630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--StormArmourSolutionsLLCMember_z2w6XVuFnEmd" title="Equity method investment ownership percentage"&gt;60&lt;/span&gt;% capital contribution of Storm Armour Solutions, LLC. As of June 30, 2026, we had
an investment of $&lt;span id="xdx_90A_eus-gaap--Investments_iI_pn3n3_c20260630__us-gaap--RelatedPartyTransactionAxis__custom--StormArmourSolutionsLLCMember_z4EpDRJbXCi8" title="Investments"&gt;901&lt;/span&gt; recorded on our consolidated balance sheet.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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 Company&#x2019;s
largest shareholder. As of June 30, 2026 and December 31, 2025, the Company had outstanding accounts receivable from Avanti of $&lt;span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20260630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zYTSbdUKfMe9" title="Accounts receivable"&gt;427 &lt;/span&gt;and
$&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_pn3n3_c20251231__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zr6TP2IyLPN8" title="Accounts receivable"&gt;403&lt;/span&gt;, respectively. During the three and six months ended June 30, 2026, we sold $&lt;span id="xdx_90C_eus-gaap--Revenues_pn3n3_c20260401__20260630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z5UmDfb6sKT2" title="Revenue from related parties"&gt;51&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--Revenues_pn3n3_c20260101__20260630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z9O0CUrSKaGc" title="Revenue from related parties"&gt;145&lt;/span&gt; of products to Avanti, respectively, compared
to $&lt;span id="xdx_909_eus-gaap--Revenues_pn3n3_c20250401__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zAzPXj9EYJFl" title="Revenue from related parties"&gt;294&lt;/span&gt; and $&lt;span id="xdx_904_eus-gaap--Revenues_pn3n3_c20250101__20250630__us-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zKPgWZJxcAKa" title="Revenue from related parties"&gt;532&lt;/span&gt; during the three and six months ended June 30, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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_90C_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_c20190503__srt--OwnershipAxis__custom--VidrioAndinoMember_zrWL9f949cZ3" 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_90F_eus-gaap--BusinessCombinationConsiderationTransferred1_pn6n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zpoi1Bi66WGh" title="Purchase price of interest"&gt;45&lt;/span&gt; million, of which $&lt;span id="xdx_90F_eus-gaap--PaymentsToAcquireBusinessesGross_pn5n6_c20201208__20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zIIf0zs9DYgj" title="Payment of cash"&gt;34.1&lt;/span&gt; million was paid in cash and $&lt;span id="xdx_90D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iI_pn5n6_c20201209__srt--OwnershipAxis__custom--VidrioAndinoMember_zOsRlSmkAeBi" 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_90D_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_pid_c20201028__20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zxbzVeQwsEh3" title="Shares issued during acquisition"&gt;1,557,142&lt;/span&gt; ordinary shares of the Company, valued at $&lt;span id="xdx_901_eus-gaap--SharesIssuedPricePerShare_iI_pid_c20201028__srt--OwnershipAxis__custom--VidrioAndinoMember_zgCaXgBwgjQl" title="Shares issued, price per share"&gt;7.00&lt;/span&gt; per share, which represented
an approximate&lt;span id="xdx_904_ecustom--PremiumClosingStockPercentage_iI_pid_dp_uPure_c20201027__srt--OwnershipAxis__custom--VidrioAndinoMember_zCrxGnGZQ17b" 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; 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; 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_90B_ecustom--ExpectedOwnershipPercentage_pid_dp_uPure_c20260101__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_zwkpAYeggvJi" 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_907_ecustom--FutureAdditionalContributionAmount_pn5n6_c20260101__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_znehCTgBXqGi" 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; 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"&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"&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; 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_909_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20260401__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_zLK1sFiPlDE1" title="Purchase from related party"&gt;9,352&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20260101__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_zMIthypWg096" title="Purchase from related party"&gt;17,393&lt;/span&gt;, of materials from Vidrio Andino during the three and six months ended
June 30, 2026, respectively, compared to $&lt;span id="xdx_901_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_z457kGMTz5B2" title="Purchase from related party"&gt;10,633&lt;/span&gt;, and $&lt;span id="xdx_900_eus-gaap--PaymentsToAcquireProductiveAssets_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_z8DtIkXNl2Vd" title="Purchase from related party"&gt;19,678&lt;/span&gt;, during the three and six months ended June 30, 2025, respectively. We
also had outstanding payables to Vidrio Andino of $&lt;span id="xdx_906_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20260630__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zGTuPID1eGc1" title="Payable outstanding"&gt;5,131&lt;/span&gt; and $&lt;span id="xdx_908_eus-gaap--AccountsPayableCurrent_iI_pn3n3_c20251231__srt--OwnershipAxis__custom--VidrioAndinoMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zssVhNHkMOU" title="Payable outstanding"&gt;5,717&lt;/span&gt; as of June 30, 2026 and December 31, 2025, respectively. We recorded
equity method loss of $&lt;span id="xdx_908_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20260401__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_zUeh8iCwVXBg" title="Equity method income"&gt;159&lt;/span&gt;, and income of $&lt;span id="xdx_909_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20260101__20260630__srt--OwnershipAxis__custom--VidrioAndinoMember_zJfix5Ywtuhi" title="Equity method income"&gt;3&lt;/span&gt;, on our Consolidated Statement of Operations during the three and six months ended June
30, 2026, respectively, compared to $&lt;span id="xdx_908_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250401__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zfbpMlayPLK5" title="Equity method income"&gt;941&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--IncomeLossFromEquityMethodInvestments_pn3n3_c20250101__20250630__srt--OwnershipAxis__custom--VidrioAndinoMember_zvr8F3XnRjBg" title="Equity method income"&gt;2,258&lt;/span&gt;, recorded during the three and six months ended June 30, 2025, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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; 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_907_eus-gaap--Investments_iI_pn3n3_c20260630__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_z6GN0r2eRrKb" title="Investments"&gt;883&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--Investments_iI_pn3n3_c20251231__us-gaap--RelatedPartyTransactionAxis__custom--ZofracostaSAMember_z4R02GYrBbgh" title="Investments"&gt;810&lt;/span&gt; as of June 30, 2026 and December 31, 2025, 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; 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:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:ScheduleOfRelatedPartyTransactionsTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001410">&lt;p id="xdx_899_eus-gaap--ScheduleOfRelatedPartyTransactionsTableTextBlock_zzJMawkfBaF9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify; text-indent: 0.5in"&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;&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;&lt;span id="xdx_8BD_zQnTCPBdH6id" 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;/span&gt;&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"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20260630_zB8VoKaWW8sc" 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" id="xdx_49C_20251231_zU10sDXTopL8" style="font-weight: bold; text-align: center"&gt;December 31,&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; 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;2026&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;/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_409_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zYa5dHayodYf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Alutrafic Led SAS&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;644&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;525&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--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z4l9SCPOkpUf" 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;427&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;403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z8trKFIYDuti" style="vertical-align: bottom; background-color: White"&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;359&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;404&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--OtherMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zvomiWAZGspj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;645&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;670&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--OtherReceivablesNetCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zLueAwP7eWHe" style="vertical-align: bottom; background-color: White"&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;2,075&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,002&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: 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;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&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_zu73D6ZhCK65" style="vertical-align: bottom; background-color: rgb(204,238,255)"&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;5,131&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,717&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--OtherMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zkI2AAZtLwCd" style="vertical-align: bottom; background-color: White"&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,764&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;5,164&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--OtherLiabilitiesCurrent_iI_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zUe6z8kJ80Rl" 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 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;8,895&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;10,881&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="AsOf2026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001412"
      unitRef="USD">644000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001413"
      unitRef="USD">525000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001415"
      unitRef="USD">427000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001416"
      unitRef="USD">403000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001418"
      unitRef="USD">359000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001419"
      unitRef="USD">404000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2026-06-30_custom_OtherMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001421"
      unitRef="USD">645000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_custom_OtherMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001422"
      unitRef="USD">670000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001424"
      unitRef="USD">2075000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="AsOf2025-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001425"
      unitRef="USD">2002000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001427"
      unitRef="USD">5131000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001428"
      unitRef="USD">5717000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_custom_OtherMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001430"
      unitRef="USD">3764000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-12-31_custom_OtherMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001431"
      unitRef="USD">5164000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001433"
      unitRef="USD">8895000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="AsOf2025-12-31_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001434"
      unitRef="USD">10881000</us-gaap:OtherLiabilitiesCurrent>
    <TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001436">&lt;p id="xdx_89F_ecustom--ScheduleOfSaleToRelatedPartyTableTextBlock_zCetpNutn8Ck" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;&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;&lt;span id="xdx_8B4_zCZwS14O0JO3" style="display: none"&gt;Schedule of Sale to Related Parties&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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_49E_20260401__20260630_zIx960hdwuSl" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_49F_20250401__20250630_zTQAq5li7D82" 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_497_20260101__20260630_z1LrHc7hthgf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2026&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_zY4yLST7hgV7" 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;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&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; 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; 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; 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; 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;2026&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;2026&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;/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_405_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--PrismaGlassLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zKAbpRw7IGM2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;448&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: 12%; 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: 12%; text-align: right"&gt;604&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: 12%; text-align: right"&gt;1,168&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--AlutraficLedSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_z6AQXZpNWKX4" 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;276&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;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;569&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--StudioAvantiSASMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zYOZkxWsFxtf" 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;51&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;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;145&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;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionAxis__custom--SalesToOtherRelatedPartiesMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zyzFB6Gny5H3" 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;(55&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;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;130&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--Revenues_pn3n3_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__us-gaap--RelatedPartyMember_zBnTFvAnmPTi" 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;720&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,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;1,341&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;/tr&gt;
  &lt;/table&gt;

</TGLS:ScheduleOfSaleToRelatedPartyTableTextBlock>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001438"
      unitRef="USD">448000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001439"
      unitRef="USD">785000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001440"
      unitRef="USD">604000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001441"
      unitRef="USD">1168000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001443"
      unitRef="USD">276000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001444"
      unitRef="USD">230000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001445"
      unitRef="USD">569000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001446"
      unitRef="USD">587000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001448"
      unitRef="USD">51000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001449"
      unitRef="USD">294000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001450"
      unitRef="USD">145000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001451"
      unitRef="USD">532000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001453"
      unitRef="USD">-55000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001454"
      unitRef="USD">93000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001455"
      unitRef="USD">23000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_SalesToOtherRelatedPartiesMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001456"
      unitRef="USD">130000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001458"
      unitRef="USD">720000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001459"
      unitRef="USD">1401000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001460"
      unitRef="USD">1341000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001461"
      unitRef="USD">2417000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001463"
      unitRef="USD">276000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001465"
      unitRef="USD">569000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001467"
      unitRef="USD">230000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001469"
      unitRef="USD">587000</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2026-06-30_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001471"
      unitRef="USD">644000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-12-31_custom_AlutraficLedSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001473"
      unitRef="USD">525000</us-gaap:AccountsReceivableNet>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2026-04-012026-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001475"
      unitRef="USD">1242000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2026-01-012026-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001477"
      unitRef="USD">2426000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2025-04-012025-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001479"
      unitRef="USD">998000</TGLS:CashContributionsForSocialCauses>
    <TGLS:CashContributionsForSocialCauses
      contextRef="From2025-01-012025-06-30_custom_FundacionTecnoglassMember"
      decimals="-3"
      id="Fact001481"
      unitRef="USD">2046000</TGLS:CashContributionsForSocialCauses>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001483"
      unitRef="USD">448000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001485"
      unitRef="USD">604000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001487"
      unitRef="USD">785000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001489"
      unitRef="USD">1168000</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2026-06-30_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001491"
      unitRef="USD">359000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-12-31_custom_PrismaGlassLLCMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001493"
      unitRef="USD">404000</us-gaap:AccountsReceivableNet>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2026-04-012026-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001495"
      unitRef="USD">462000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2026-01-012026-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001497"
      unitRef="USD">846000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2025-04-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001499"
      unitRef="USD">131000</TGLS:PurchasePriceOfFuel>
    <TGLS:PurchasePriceOfFuel
      contextRef="From2025-01-012025-06-30_custom_CEOAndCOOMember_custom_SantaMariaDelMarSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001501"
      unitRef="USD">719000</TGLS:PurchasePriceOfFuel>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2025-06-30_custom_StormArmourSolutionsLLCMember"
      decimals="INF"
      id="Fact001503"
      unitRef="Pure">0.60</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:Investments
      contextRef="AsOf2026-06-30_custom_StormArmourSolutionsLLCMember"
      decimals="-3"
      id="Fact001505"
      unitRef="USD">901000</us-gaap:Investments>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001507"
      unitRef="USD">427000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2025-12-31_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001509"
      unitRef="USD">403000</us-gaap:AccountsReceivableNet>
    <us-gaap:Revenues
      contextRef="From2026-04-012026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001511"
      unitRef="USD">51000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2026-01-012026-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001513"
      unitRef="USD">145000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-04-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001515"
      unitRef="USD">294000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2025-01-012025-06-30_custom_StudioAvantiSASMember_us-gaap_RelatedPartyMember"
      decimals="-3"
      id="Fact001517"
      unitRef="USD">532000</us-gaap:Revenues>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2019-05-03_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001519"
      unitRef="Pure">0.258</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember"
      decimals="-6"
      id="Fact001521"
      unitRef="USD">45000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="From2020-12-082020-12-09_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001523"
      unitRef="USD">34100000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand
      contextRef="AsOf2020-12-09_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001525"
      unitRef="USD">10900000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="From2020-10-282020-10-28_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001527"
      unitRef="Shares">1557142</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:SharesIssuedPricePerShare
      contextRef="AsOf2020-10-28_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001529"
      unitRef="USDPShares">7.00</us-gaap:SharesIssuedPricePerShare>
    <TGLS:PremiumClosingStockPercentage
      contextRef="AsOf2020-10-27_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001531"
      unitRef="Pure">0.33</TGLS:PremiumClosingStockPercentage>
    <TGLS:ExpectedOwnershipPercentage
      contextRef="From2026-01-012026-06-30_custom_VidrioAndinoMember"
      decimals="INF"
      id="Fact001533"
      unitRef="Pure">0.258</TGLS:ExpectedOwnershipPercentage>
    <TGLS:FutureAdditionalContributionAmount
      contextRef="From2026-01-012026-06-30_custom_VidrioAndinoMember"
      decimals="-5"
      id="Fact001535"
      unitRef="USD">12500000</TGLS:FutureAdditionalContributionAmount>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2026-04-012026-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001537"
      unitRef="USD">9352000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2026-01-012026-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001539"
      unitRef="USD">17393000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001541"
      unitRef="USD">10633000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001543"
      unitRef="USD">19678000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2026-06-30_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember6862468"
      decimals="-3"
      id="Fact001545"
      unitRef="USD">5131000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2025-12-31_custom_VidrioAndinoMember_us-gaap_RelatedPartyMember6862484"
      decimals="-3"
      id="Fact001547"
      unitRef="USD">5717000</us-gaap:AccountsPayableCurrent>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2026-04-012026-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001549"
      unitRef="USD">159000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2026-01-012026-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001551"
      unitRef="USD">3000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-04-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001553"
      unitRef="USD">941000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="From2025-01-012025-06-30_custom_VidrioAndinoMember"
      decimals="-3"
      id="Fact001555"
      unitRef="USD">2258000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:Investments
      contextRef="AsOf2026-06-30_custom_ZofracostaSAMember"
      decimals="-3"
      id="Fact001557"
      unitRef="USD">883000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2025-12-31_custom_ZofracostaSAMember"
      decimals="-3"
      id="Fact001559"
      unitRef="USD">810000</us-gaap:Investments>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001561">&lt;p id="xdx_80D_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zypxtQAl2bSi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_82D_zkoAw6mjD5Id"&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; 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; 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; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
June 10, 2026, the Company declared a regular quarterly dividend of $&lt;span id="xdx_900_eus-gaap--SharePrice_iI_pid_c20260318__us-gaap--AwardTypeAxis__custom--QuarterlyRateMember_zW5A8ZrJ1Tzg" title="Declared per share"&gt;0.15&lt;/span&gt;per share, or $&lt;span id="xdx_901_eus-gaap--SharePrice_iI_pid_c20260318__us-gaap--AwardTypeAxis__custom--AnnualBasisMember_zdN81T8mhTOi" title="Share price"&gt;0.60&lt;/span&gt; per share on an annualized basis. The dividend
was paid on July 31, 2026, to shareholders of record as of the close of business on June 30, 2026.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; 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; 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--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zwMLxdiSYyfc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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, 2026
and 2025:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;&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;&lt;span id="xdx_8B0_z8VjupJubIij" 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;/span&gt;&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; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20260401__20260630_z19WjrnNjtse" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250401__20250630_zUgwseg41kU6" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2025&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20260101__20260630_zVuScfm19hGk" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250101__20250630_zEPKjPo0IOzc" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;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 style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three
months ended June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0pt; margin-left: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six
months ended June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2025&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;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; 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_408_eus-gaap--NetIncomeLoss_pn3n3_zMqOZExWCnbe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;24,555&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;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: 12%; text-align: right"&gt;56,446&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;86,272&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_407_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zc4zDLzjyfuj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Denominator for basic earnings per ordinary share - weighted average shares outstanding&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;44,364,801&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;46,988,155&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;44,497,265&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;46,989,650&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_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zhuPwpmVUF1j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Effect of dilutive securities and stock dividend&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--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zO6yER9Llm29" 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;44,364,801&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,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;44,497,265&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EarningsPerShareBasic_pid_zXyHF1VeU2e8" 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.55&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.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;1.27&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;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EarningsPerShareDiluted_pid_zxmUn3cZOrl" 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.55&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.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;1.27&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;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Treasury
Stock&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the six months ended June 30, 2026, the Company repurchased &lt;span id="xdx_907_eus-gaap--TreasuryStockSharesAcquired_pid_c20260101__20260630__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockCommonMember_zjHBd5vF7Ydg" title="Number of shares repurchased"&gt;372,910&lt;/span&gt; shares for an aggregate purchase price of $&lt;span id="xdx_909_eus-gaap--TreasuryStockValueAcquiredCostMethod_iN_pn5n6_di_c20260101__20260630__us-gaap--StatementEquityComponentsAxis__us-gaap--TreasuryStockCommonMember_zeEdqk81gXUi" title="Value of shares repurchased"&gt;16.5&lt;/span&gt; million as part of
its existing share repurchase program to enhance long-term stockholders value. Treasury stock is recorded at cost and presented as a
reduction of stockholders&#x2019; equity in the accompanying Consolidated Balance Sheets. As of June 30, 2026, treasury shares are carried
at their aggregate repurchase cost of $&lt;span id="xdx_904_eus-gaap--TreasuryStockValue_iI_pn3n3_c20260630_zXxcoQEA8V67" title="Treasury shares, aggregate repurchase cost"&gt;95,679&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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="AsOf2026-03-18_custom_QuarterlyRateMember"
      decimals="INF"
      id="Fact001563"
      unitRef="USDPShares">0.15</us-gaap:SharePrice>
    <us-gaap:SharePrice
      contextRef="AsOf2026-03-18_custom_AnnualBasisMember"
      decimals="INF"
      id="Fact001565"
      unitRef="USDPShares">0.60</us-gaap:SharePrice>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001567">&lt;p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zwMLxdiSYyfc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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, 2026
and 2025:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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;&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;&lt;span id="xdx_8B0_z8VjupJubIij" 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;/span&gt;&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; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20260401__20260630_z19WjrnNjtse" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20250401__20250630_zUgwseg41kU6" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2025&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20260101__20260630_zVuScfm19hGk" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20250101__20250630_zEPKjPo0IOzc" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;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 style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three
months ended June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0pt; margin-left: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six
months ended June 30,&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2025&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;2026&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt; font-weight: bold; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center; font-weight: bold; vertical-align: bottom"&gt;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; 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_408_eus-gaap--NetIncomeLoss_pn3n3_zMqOZExWCnbe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 36%; 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: 12%; text-align: right"&gt;24,555&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;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: 12%; text-align: right"&gt;56,446&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;86,272&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_407_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_zc4zDLzjyfuj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Denominator for basic earnings per ordinary share - weighted average shares outstanding&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;44,364,801&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;46,988,155&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;44,497,265&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;46,989,650&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_ecustom--EffectOfDilutiveSecuritiesAndStockDividend_pid_zhuPwpmVUF1j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Effect of dilutive securities and stock dividend&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--WeightedAverageNumberOfDilutedSharesOutstanding_pid_zO6yER9Llm29" 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;44,364,801&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,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;44,497,265&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;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--EarningsPerShareBasic_pid_zXyHF1VeU2e8" 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.55&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.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;1.27&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;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EarningsPerShareDiluted_pid_zxmUn3cZOrl" 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.55&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.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;1.27&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;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2026-04-012026-06-30"
      decimals="-3"
      id="Fact001569"
      unitRef="USD">24555000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-04-012025-06-30"
      decimals="-3"
      id="Fact001570"
      unitRef="USD">44083000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2026-01-01to2026-06-30"
      decimals="-3"
      id="Fact001571"
      unitRef="USD">56446000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-012025-06-30"
      decimals="-3"
      id="Fact001572"
      unitRef="USD">86272000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001574"
      unitRef="Shares">44364801</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001575"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001576"
      unitRef="Shares">44497265</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001577"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001584"
      unitRef="Shares">44364801</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001585"
      unitRef="Shares">46988155</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001586"
      unitRef="Shares">44497265</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001587"
      unitRef="Shares">46989650</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001589"
      unitRef="USDPShares">0.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001590"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001591"
      unitRef="USDPShares">1.27</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001592"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2026-04-012026-06-30"
      decimals="INF"
      id="Fact001594"
      unitRef="USDPShares">0.55</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-04-012025-06-30"
      decimals="INF"
      id="Fact001595"
      unitRef="USDPShares">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2026-01-01to2026-06-30"
      decimals="INF"
      id="Fact001596"
      unitRef="USDPShares">1.27</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2025-01-012025-06-30"
      decimals="INF"
      id="Fact001597"
      unitRef="USDPShares">1.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="From2026-01-012026-06-30_us-gaap_TreasuryStockCommonMember"
      decimals="INF"
      id="Fact001599"
      unitRef="Shares">372910</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="From2026-01-012026-06-30_us-gaap_TreasuryStockCommonMember"
      decimals="-5"
      id="Fact001601"
      unitRef="USD">-16500000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2026-06-30"
      decimals="-3"
      id="Fact001603"
      unitRef="USD">95679000</us-gaap:TreasuryStockValue>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2026-01-01to2026-06-30" id="Fact001605">&lt;p id="xdx_805_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zUPvuKiRWZm8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; 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_82E_zehRMESBUsVb"&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; 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; 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; 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; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2026, the Company had outstanding obligations to purchase an aggregate of at least $&lt;span id="xdx_90D_eus-gaap--LongTermPurchaseCommitmentAmount_pn3n3_c20260101__20260630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--FebruaryTwentyEightThousandThirtyThreeMember_zHNWxYSrROmg" title="Purchase of aggregate raw material"&gt;151,878&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_c20260101__20260630__srt--RangeAxis__srt--MinimumMember__srt--StatementScenarioAxis__custom--ThroughTwoThousandTwentyEightMember_zBdJl84NyOg5" title="Purchase of aggregate raw material"&gt;8,364&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; 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; 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; 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; 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="From2026-01-012026-06-30_srt_MinimumMember_custom_FebruaryTwentyEightThousandThirtyThreeMember"
      decimals="-3"
      id="Fact001607"
      unitRef="USD">151878000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="From2026-01-012026-06-30_srt_MinimumMember_custom_ThroughTwoThousandTwentyEightMember"
      decimals="-3"
      id="Fact001609"
      unitRef="USD">8364000</us-gaap:LongTermPurchaseCommitmentAmount>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2026-04-012026-06-30" id="Fact001610">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2026-04-012026-06-30" id="Fact001611">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2026-04-012026-06-30" id="Fact001612">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2026-04-012026-06-30" id="Fact001613">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
