{"id":76,"date":"2026-03-16T09:03:57","date_gmt":"2026-03-16T09:03:57","guid":{"rendered":"https:\/\/tth.99francs.fr\/?page_id=76"},"modified":"2026-05-20T16:16:51","modified_gmt":"2026-05-20T16:16:51","slug":"conception-fabrication","status":"publish","type":"page","link":"https:\/\/tth-tankbau.com\/de\/conception-fabrication\/","title":{"rendered":"Planung &amp; Fertigung"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section\">\n<div class=\"et_pb_row_0 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_21  et_pb_text_align_left et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<h1>CONCEPTION &amp; FABRICATION DE R\u00c9SERVOIRS<\/h1>\n<\/div>\n<\/div>\n<div class=\"et_pb_module et_pb_image et_pb_image_8 et_had_animation\"><\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_1 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><style>\n\/* \u2500\u2500 Nova Timeline #nova-tl-337-1 \u2500\u2500 *\/\n#nova-tl-337-1 {\n    --nova-accent:    #e8611a;\n    --nova-glow:      rgba(232,97,26,0.22);\n    --nova-inactive:  #cbd5e1;\n    --nova-connector: #cbd5e1;\n    --nova-text:      #1e293b;\n    --nova-text-act:  #e8611a;\n    --nova-card-bg:   #ffffff;\n    --nova-circle:    88px;\n    width: 100%;\n    box-sizing: border-box;\n    position: relative;\n    overflow: hidden;\n}\n\n\/* \u2500\u2500\u2500 TRACK \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-track {\n    display: flex;\n    align-items: flex-start;\n    position: relative;\n    padding: 48px 32px 60px;\n    box-sizing: border-box;\n    width: 100%;\n}\n\n\/* ligne connectrice *\/\n#nova-tl-337-1 .nova-track::before {\n    content: '';\n    position: absolute;\n    top: calc(48px + var(--nova-circle) \/ 2);\n    left: calc(32px + var(--nova-circle) \/ 2);\n    right: calc(32px + var(--nova-circle) \/ 2);\n    height: 2px;\n    background: var(--nova-connector);\n    z-index: 0;\n    pointer-events: none;\n}\n\n\/* \u2500\u2500\u2500 ETAPE \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-step {\n    flex: 1 1 0;\n    min-width: 0;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    position: relative;\n    z-index: 1;\n    text-decoration: none;\n    color: inherit;\n    cursor: default;\n    -webkit-tap-highlight-color: transparent;\n}\n#nova-tl-337-1 .nova-step[href] {\n    cursor: pointer;\n}\n\n\/* \u2500\u2500\u2500 CERCLE \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-circle {\n    width: var(--nova-circle);\n    height: var(--nova-circle);\n    border-radius: 50%;\n    border: 2px solid var(--nova-inactive);\n    background: #fff;\n    overflow: hidden;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    position: relative;\n    transition: border-color .28s, box-shadow .28s, transform .28s;\n}\n#nova-tl-337-1 .nova-circle img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform .32s;\n}\n#nova-tl-337-1 .nova-circle .nova-noimg {\n    font-size: calc(var(--nova-circle) * 0.35);\n    color: var(--nova-inactive);\n    line-height: 1;\n}\n\n\/* \u2500\u2500\u2500 LABELS \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-labels {\n    margin-top: 12px;\n    text-align: center;\n    padding: 0 4px;\n    min-width: 0;\n}\n#nova-tl-337-1 .nova-title {\n    display: block;\n    font-size: 13px;\n    font-weight: 300;\n    line-height: 1.35;\n    color: var(--nova-text);\n    transition: color .28s;\n    word-break: break-word;\n}\n#nova-tl-337-1 .nova-sub {\n    display: block;\n    font-size: 13px;\n    color: #94a3b8;\n    margin-top: 2px;\n    line-height: 1.4;\n    transition: color .28s;\n}\n\n\/* \u2500\u2500\u2500 HOVER (pointeur) \u2500\u2500\u2500 *\/\n@media (hover: hover) {\n    #nova-tl-337-1 .nova-step[href]:hover .nova-circle {\n        border-color: var(--nova-accent);\n        box-shadow: 0 0 0 7px var(--nova-glow);\n        transform: translateY(-4px);\n    }\n    #nova-tl-337-1 .nova-step[href]:hover .nova-circle img {\n        transform: scale(1.08);\n    }\n    #nova-tl-337-1 .nova-step[href]:hover .nova-circle .nova-noimg {\n        color: var(--nova-accent);\n    }\n    #nova-tl-337-1 .nova-step[href]:hover .nova-title {\n        color: var(--nova-accent);\n    }\n    #nova-tl-337-1 .nova-step[href]:hover .nova-tooltip {\n        opacity: 1;\n        transform: translateX(-50%) translateY(0);\n    }\n}\n\n\/* \u2500\u2500\u2500 ACTIF \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-step.is-active .nova-circle {\n    border-color: var(--nova-accent);\n    box-shadow: 0 0 0 6px var(--nova-glow);\n}\n#nova-tl-337-1 .nova-step.is-active .nova-title {\n    color: var(--nova-text-act);\n    font-weight: 300;\n}\n#nova-tl-337-1 .nova-step.is-active .nova-sub {\n    color: var(--nova-accent);\n}\n#nova-tl-337-1 .nova-step.is-active .nova-active-dot {\n    display: block;\n}\n#nova-tl-337-1 .nova-active-dot {\n    display: none;\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--nova-accent);\n    margin: 8px auto 0;\n}\n\n\/* \u2500\u2500\u2500 TOOLTIP \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-tooltip {\n    position: absolute;\n    bottom: calc(100% + 12px);\n    left: 50%;\n    transform: translateX(-50%) translateY(8px);\n    background: var(--nova-card-bg);\n    border: 1px solid #e2e8f0;\n    border-radius: 7px;\n    padding: 6px 12px;\n    font-size: 11px;\n    font-weight: 500;\n    color: var(--nova-text);\n    white-space: nowrap;\n    box-shadow: 0 4px 14px rgba(0,0,0,.1);\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity .2s, transform .2s;\n    z-index: 20;\n}\n#nova-tl-337-1 .nova-tooltip::after {\n    content: '';\n    position: absolute;\n    top: 100%;\n    left: 50%;\n    transform: translateX(-50%);\n    border: 5px solid transparent;\n    border-top-color: #e2e8f0;\n}\n\n\/* \u2500\u2500\u2500 FLECHES MOBILE (cachees sur desktop) \u2500\u2500\u2500 *\/\n#nova-tl-337-1 .nova-arrow {\n    display: none;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MOBILE : carrousel\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n@media (max-width: 768px) {\n\n    \/* on retire overflow:hidden du wrapper pour voir les fleches *\/\n    #nova-tl-337-1 {\n        overflow: visible;\n    }\n\n    #nova-tl-337-1 .nova-track {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n        scroll-snap-type: x mandatory;\n        scrollbar-width: none;\n        padding: 40px 20px 52px;\n        gap: 0;\n    }\n    #nova-tl-337-1 .nova-track::-webkit-scrollbar {\n        display: none;\n    }\n\n    \/* ligne connectrice : reste horizontale mais clampee *\/\n    #nova-tl-337-1 .nova-track::before {\n        top: calc(40px + var(--nova-circle) \/ 2);\n        left: calc(20px + var(--nova-circle) \/ 2);\n        right: calc(20px + var(--nova-circle) \/ 2);\n    }\n\n    \/* chaque etape : largeur fixe pour le snap *\/\n    #nova-tl-337-1 .nova-step {\n        flex: 0 0 auto;\n        width: calc(var(--nova-circle) + 28px);\n        scroll-snap-align: center;\n        padding: 0 6px;\n    }\n\n    \/* labels : taille reduite sur mobile *\/\n    #nova-tl-337-1 .nova-title {\n        font-size: 13px;\n    }\n    #nova-tl-337-1 .nova-sub {\n        font-size: 13px;\n    }\n\n    \/* pas de tooltip sur tactile *\/\n    #nova-tl-337-1 .nova-tooltip {\n        display: none !important;\n    }\n\n    \/* \u2500\u2500\u2500 Fleches \u2500\u2500\u2500 *\/\n    #nova-tl-337-1 .nova-arrow {\n        display: flex;\n        position: absolute;\n        top: calc(40px + var(--nova-circle) \/ 2);\n        transform: translateY(-50%);\n        width: 30px;\n        height: 30px;\n        border-radius: 50%;\n        background: var(--nova-card-bg);\n        border: 1px solid #e2e8f0;\n        box-shadow: 0 2px 6px rgba(0,0,0,.1);\n        align-items: center;\n        justify-content: center;\n        cursor: pointer;\n        z-index: 10;\n        font-size: 13px;\n        color: var(--nova-text);\n        transition: background .2s, color .2s;\n        padding: 0;\n        line-height: 1;\n        -webkit-tap-highlight-color: transparent;\n    }\n    #nova-tl-337-1 .nova-arrow:hover,\n    #nova-tl-337-1 .nova-arrow:focus {\n        background: var(--nova-accent);\n        color: #fff;\n        outline: none;\n    }\n    #nova-tl-337-1 .nova-arrow-prev { left: 0; }\n    #nova-tl-337-1 .nova-arrow-next { right: 0; }\n    #nova-tl-337-1 .nova-arrow:disabled,\n    #nova-tl-337-1 .nova-arrow[disabled] {\n        opacity: .25;\n        pointer-events: none;\n    }\n}\n\n\/* \u2500\u2500\u2500 Desktop : cacher les fleches \u2500\u2500\u2500 *\/\n@media (min-width: 769px) {\n    #nova-tl-337-1 .nova-arrow {\n        display: none !important;\n    }\n}\n<\/style>\n\n<div id=\"nova-tl-337-1\" class=\"nova-timeline-wrap\" role=\"region\" aria-label=\"Timeline\">\n\n    <button class=\"nova-arrow nova-arrow-prev\" aria-label=\"Etape precedente\" disabled><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg><\/button>\n    <button class=\"nova-arrow nova-arrow-next\" aria-label=\"Etape suivante\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg><\/button>\n\n    <div class=\"nova-track\" id=\"nova-tl-337-1-track\">\n\n            <a href=\"https:\/\/tth-tankbau.com\/conception-fabrication\/\" class=\"nova-step\" data-index=\"0\" aria-label=\"Conception &amp; fabrication\">\n\n            <div class=\"nova-circle\">\n                                    <img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Conception-et-fabrication-de-reservoirs-300x278.png\" alt=\"Conception &amp; fabrication\" loading=\"lazy\">\n                            <\/div>\n\n            <div class=\"nova-labels\">\n                                    <span class=\"nova-title\">Conception &amp; fabrication<\/span>\n                                                <span class=\"nova-active-dot\" aria-hidden=\"true\"><\/span>\n            <\/div>\n\n\n\n        <\/a>\n            <a href=\"https:\/\/tth-tankbau.com\/travaux-neufs\/\" class=\"nova-step\" data-index=\"1\" aria-label=\"Travaux neufs\">\n\n            <div class=\"nova-circle\">\n                                    <img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/05\/Travaux-neufs-installation-cuve-1-289x300.png\" alt=\"Travaux neufs\" loading=\"lazy\">\n                            <\/div>\n\n            <div class=\"nova-labels\">\n                                    <span class=\"nova-title\">Travaux neufs<\/span>\n                                                <span class=\"nova-active-dot\" aria-hidden=\"true\"><\/span>\n            <\/div>\n\n\n\n        <\/a>\n            <a href=\"https:\/\/tth-tankbau.com\/inspections-diagnostics\/\" class=\"nova-step\" data-index=\"2\" aria-label=\"Inspection &amp; diagnostic\">\n\n            <div class=\"nova-circle\">\n                                    <img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/04\/Inspection-cuve-287x300.png\" alt=\"Inspection &amp; diagnostic\" loading=\"lazy\">\n                            <\/div>\n\n            <div class=\"nova-labels\">\n                                    <span class=\"nova-title\">Inspection &amp; diagnostic<\/span>\n                                                <span class=\"nova-active-dot\" aria-hidden=\"true\"><\/span>\n            <\/div>\n\n\n\n        <\/a>\n            <a href=\"https:\/\/tth-tankbau.com\/renovation-reparation\/\" class=\"nova-step\" data-index=\"3\" aria-label=\"R\u00e9habilitation &amp; r\u00e9paration\">\n\n            <div class=\"nova-circle\">\n                                    <img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/05\/Maintenance-et-renovation-de-reservoirs-1-297x300.png\" alt=\"R\u00e9habilitation &amp; r\u00e9paration\" loading=\"lazy\">\n                            <\/div>\n\n            <div class=\"nova-labels\">\n                                    <span class=\"nova-title\">R\u00e9habilitation &amp; r\u00e9paration<\/span>\n                                                <span class=\"nova-active-dot\" aria-hidden=\"true\"><\/span>\n            <\/div>\n\n\n\n        <\/a>\n            <a href=\"https:\/\/tth-tankbau.com\/services-complementaires\/\" class=\"nova-step\" data-index=\"4\" aria-label=\"Services compl\u00e9mentaires\">\n\n            <div class=\"nova-circle\">\n                                    <img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/05\/Services-complementaires-TTH-300x146.png\" alt=\"Services compl\u00e9mentaires\" loading=\"lazy\">\n                            <\/div>\n\n            <div class=\"nova-labels\">\n                                    <span class=\"nova-title\">Services compl\u00e9mentaires<\/span>\n                                                <span class=\"nova-active-dot\" aria-hidden=\"true\"><\/span>\n            <\/div>\n\n\n\n        <\/a>\n    \n    <\/div><!-- .nova-track -->\n\n<\/div><!-- #nova-tl-337-1 -->\n\n<script>\n(function() {\n    var UID    = \"nova-tl-337-1\";\n    var BP     = 768;\n    var INIT   = 0;\n    var TOTAL  = 5;\n\n    var root  = document.getElementById(UID);\n    var track = document.getElementById(UID + '-track');\n    if (!root || !track) { return; }\n\n    var prev    = root.querySelector('.nova-arrow-prev');\n    var next    = root.querySelector('.nova-arrow-next');\n    var steps   = track.querySelectorAll('.nova-step');\n    var curIdx  = INIT;\n    var timer   = null;\n\n    function isMobile() {\n        return window.innerWidth <= BP;\n    }\n\n    function setArrows(idx) {\n        if (prev) { prev.disabled = (idx <= 0); }\n        if (next) { next.disabled = (idx >= TOTAL - 1); }\n    }\n\n    function scrollTo(idx) {\n        if (!isMobile() || !steps[idx]) { return; }\n        var tr = track.getBoundingClientRect();\n        var sr = steps[idx].getBoundingClientRect();\n        var offset = (sr.left - tr.left) + track.scrollLeft - (tr.width \/ 2) + (sr.width \/ 2);\n        track.scrollTo({ left: offset, behavior: 'smooth' });\n        curIdx = idx;\n        setArrows(idx);\n    }\n\n    if (prev) {\n        prev.addEventListener('click', function() {\n            scrollTo(Math.max(0, curIdx - 1));\n        });\n    }\n    if (next) {\n        next.addEventListener('click', function() {\n            scrollTo(Math.min(TOTAL - 1, curIdx + 1));\n        });\n    }\n\n    track.addEventListener('scroll', function() {\n        clearTimeout(timer);\n        timer = setTimeout(function() {\n            if (!isMobile()) { return; }\n            var center  = track.getBoundingClientRect().left + track.offsetWidth \/ 2;\n            var closest = 0;\n            var minDist = Infinity;\n            for (var i = 0; i < steps.length; i++) {\n                var r    = steps[i].getBoundingClientRect();\n                var dist = Math.abs(r.left + r.width \/ 2 - center);\n                if (dist < minDist) { minDist = dist; closest = i; }\n            }\n            curIdx = closest;\n            setArrows(closest);\n        }, 80);\n    }, { passive: true });\n\n    function init() {\n        setArrows(curIdx);\n        if (isMobile() && curIdx > 0) {\n            setTimeout(function() { scrollTo(curIdx); }, 150);\n        }\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n\n    window.addEventListener('resize', function() {\n        clearTimeout(timer);\n        timer = setTimeout(function() { setArrows(curIdx); }, 200);\n    });\n})();\n<\/script>\n    <\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section\" id=\"contact\">\n<div class=\"et_pb_row_2 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_2 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_0 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Conception-et-fabrication-de-reservoirs.png\" alt=\"Conception et fabrication de re\u0301servoirs\" title=\"Conception et fabrication de re\u0301servoirs\" width=\"1024\" height=\"948\" class=\"wp-image-257\" \/><\/span><\/div>\n<\/div>\n\n<div class=\"et_pb_column_3 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><ul>\n<li><strong>Solutions d'ing\u00e9nierie sur mesure<\/strong><br \/>\nChaque projet est analys\u00e9 avec pr\u00e9cision afin de r\u00e9pondre aux exigences techniques, environnementales et r\u00e9glementaires. Nos \u00e9quipes d\u00e9veloppent des solutions optimis\u00e9es, adapt\u00e9es exactement aux besoins de nos clients.<\/li>\n<\/ul>\n<ul>\n<li><strong>Ma\u00eetrise des mat\u00e9riaux et des proc\u00e9d\u00e9s<\/strong><br \/>\nNous utilisons de l'acier galvanis\u00e9 de haute qualit\u00e9, garantissant durabilit\u00e9 et r\u00e9sistance \u00e0 la corrosion. Nos processus de fabrication r\u00e9pondent \u00e0 des standards \u00e9lev\u00e9s et assurent la fiabilit\u00e9 de chaque installation.\n<\/li>\n<\/ul>\n<ul>\n<li><strong>Contr\u00f4le continu de la production<\/strong><br \/>\nDe la conception jusqu'\u00e0 la fabrication, chaque \u00e9tape est soigneusement surveill\u00e9e. Ce contr\u00f4le complet garantit un niveau de qualit\u00e9 \u00e9lev\u00e9 ainsi qu'une tra\u00e7abilit\u00e9 compl\u00e8te.<\/ul>\n<\/div><\/div>\n\n<div class=\"et_pb_module et_pb_button_module_wrapper et_pb_button_0_wrapper\"><a class=\"et_pb_button_0 et_pb_button et_pb_bg_layout_light et_pb_module et_flex_module\" href=\"https:\/\/tth-tankbau.com\/contact\" data-icon=\"&amp;\">Information &amp; devis<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section\" id=\"contact\">\n<div class=\"et_pb_row_3 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2>Nos PROJETS en image<\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_divider_0 et_pb_divider et_pb_space et_pb_divider_position_top et_pb_module tth-sep\"><div class=\"et_pb_divider_internal\"><\/div><\/div>\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\">        <div id=\"nova_6a390e1290a1b\" class=\"ant-main-container\" style=\"position:relative; width:100%; padding:0 0 40px;\">\n\n            <div class=\"ant-stage\" style=\"position:relative; width:100%; height:500px; overflow:hidden; -webkit-user-select:none; user-select:none;\">\n\n                                <div class=\"ant-rect ant-rect-left\"  style=\"background:#F5A500; width:20px;\"><\/div>\n                                                <div class=\"ant-rect ant-rect-right\" style=\"background:#F5A500; width:20px;\"><\/div>\n                \n                <div class=\"ant-nav-arrow ant-prev\" style=\"left:28px;\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n                <\/div>\n                <div class=\"ant-nav-arrow ant-next\" style=\"right:28px;\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n                <\/div>\n\n                <div class=\"ant-scroll-area\" style=\"position:absolute; inset:0; overflow:hidden;\">\n                    <div class=\"ant-track-list\" style=\"display:flex; width:max-content; height:100%;\">\n                        <div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/BE.png\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Bureau-detudes-1.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/Diagnostic-et-maintenance.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div><div class=\"ant-logo-item\" style=\"flex:0 0 auto; height:100%; padding:0 2.5px; box-sizing:border-box; overflow:hidden;\"><div class=\"ant-lightbox-trigger\" data-src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" data-alt=\"\" style=\"position:relative;display:block;width:100%;height:100%;cursor:zoom-in;\"><img decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/06\/fabrication-soudeur-2.jpg\" alt=\"\" draggable=\"false\" style=\"width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;\"><\/div><\/div>                    <\/div>\n                <\/div>\n            <\/div><!-- \/.ant-stage -->\n\n            <div class=\"ant-dots\">\n                                    <span class=\"ant-dot ant-dot-active\" data-index=\"0\"><\/span>\n                                    <span class=\"ant-dot\" data-index=\"1\"><\/span>\n                                    <span class=\"ant-dot\" data-index=\"2\"><\/span>\n                                    <span class=\"ant-dot\" data-index=\"3\"><\/span>\n                            <\/div>\n\n        <\/div><!-- \/.ant-main-container -->\n\n                <!-- \u2500\u2500 Lightbox (inject\u00e9e dans <body> par JS pour \u00e9chapper \u00e0 tout stacking context) \u2500\u2500 -->\n        <div id=\"nova-lightbox\" aria-hidden=\"true\">\n            <div id=\"nova-lb-overlay\"><\/div>\n            <div id=\"nova-lb-box\">\n                <button id=\"nova-lb-close\" aria-label=\"Fermer\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/>\n                    <\/svg>\n                <\/button>\n                <img decoding=\"async\" id=\"nova-lb-img\" src=\"\" alt=\"\">\n            <\/div>\n        <\/div>\n        <style>\n        #nova-lightbox {\n            display: none;\n            position: fixed;\n            inset: 0;\n            z-index: 2147483647; \/* valeur CSS maximale *\/\n            align-items: center;\n            justify-content: center;\n        }\n        #nova-lightbox.nlb-open { display: flex; }\n        #nova-lb-overlay {\n            position: absolute; inset: 0;\n            background: rgba(0,0,0,.9);\n            animation: nlbFadeIn .25s ease both;\n        }\n        #nova-lightbox.nlb-closing #nova-lb-overlay { animation: nlbFadeOut .2s ease both; }\n        #nova-lb-box {\n            position: relative; z-index: 1;\n            display: flex; align-items: center; justify-content: center;\n            max-width: 94vw; max-height: 90vh;\n            animation: nlbZoom .3s cubic-bezier(.22,1,.36,1) both;\n        }\n        #nova-lightbox.nlb-closing #nova-lb-box { animation: nlbZoomOut .2s ease both; }\n        #nova-lb-img {\n            display: block;\n            max-width: 94vw; max-height: 90vh;\n            width: auto; height: auto;\n            object-fit: contain;\n            border-radius: 3px;\n            box-shadow: 0 24px 80px rgba(0,0,0,.7);\n        }\n        #nova-lb-close {\n            position: absolute; top: -16px; right: -16px;\n            width: 40px; height: 40px;\n            background: #fff; color: #111;\n            border: none; border-radius: 50%;\n            display: flex; align-items: center; justify-content: center;\n            cursor: pointer; padding: 0;\n            box-shadow: 0 4px 16px rgba(0,0,0,.35);\n            transition: background .2s, color .2s, transform .2s;\n            z-index: 2;\n        }\n        #nova-lb-close:hover { background: #CC1B00; color: #fff; transform: scale(1.1); }\n        @keyframes nlbFadeIn  { from{opacity:0}  to{opacity:1}  }\n        @keyframes nlbFadeOut { from{opacity:1}  to{opacity:0}  }\n        @keyframes nlbZoom    { from{opacity:0;transform:scale(.88)} to{opacity:1;transform:scale(1)}   }\n        @keyframes nlbZoomOut { from{opacity:1;transform:scale(1)}   to{opacity:0;transform:scale(.88)} }\n        <\/style>\n        <script>\n        (function() {\n            \/* D\u00e9place la lightbox dans <body> d\u00e8s que le DOM est pr\u00eat\n               \u2192 \u00e9chappe \u00e0 tout transform\/opacity\/filter d'un anc\u00eatre *\/\n            function moveToBody() {\n                var lb = document.getElementById('nova-lightbox');\n                if (lb && lb.parentNode !== document.body) document.body.appendChild(lb);\n            }\n            if (document.body) moveToBody();\n            else document.addEventListener('DOMContentLoaded', moveToBody);\n\n            var lb, overlay, img, closeBtn, timer;\n            function refs() {\n                lb       = lb       || document.getElementById('nova-lightbox');\n                overlay  = overlay  || document.getElementById('nova-lb-overlay');\n                img      = img      || document.getElementById('nova-lb-img');\n                closeBtn = closeBtn || document.getElementById('nova-lb-close');\n            }\n            function openLb(src, alt) {\n                refs();\n                img.src = src; img.alt = alt || '';\n                lb.classList.remove('nlb-closing');\n                lb.classList.add('nlb-open');\n                lb.setAttribute('aria-hidden','false');\n                document.body.style.overflow = 'hidden';\n            }\n            function closeLb() {\n                refs(); clearTimeout(timer);\n                lb.classList.add('nlb-closing');\n                timer = setTimeout(function() {\n                    lb.classList.remove('nlb-open','nlb-closing');\n                    lb.setAttribute('aria-hidden','true');\n                    img.src = '';\n                    document.body.style.overflow = '';\n                }, 220);\n            }\n            document.addEventListener('click', function(e) {\n                refs(); if (!lb) return;\n                if (e.target === overlay || e.target.closest && e.target.closest('#nova-lb-overlay')) return closeLb();\n                if (e.target.closest && e.target.closest('#nova-lb-close')) return closeLb();\n                var t = e.target.closest && e.target.closest('.ant-lightbox-trigger');\n                if (t) openLb(t.dataset.src, t.dataset.alt);\n            });\n            document.addEventListener('keydown', function(e) {\n                if (e.key === 'Escape') { refs(); if (lb && lb.classList.contains('nlb-open')) closeLb(); }\n            });\n        })();\n        <\/script>\n        \n        <style>\n        #nova_6a390e1290a1b .ant-rect {\n            position:absolute; top:0; bottom:0; z-index:10; pointer-events:none;\n        }\n        #nova_6a390e1290a1b .ant-rect-left  { left:0; }\n        #nova_6a390e1290a1b .ant-rect-right { right:0; }\n        #nova_6a390e1290a1b .ant-nav-arrow {\n            position:absolute; top:50%; transform:translateY(-50%);\n            width:44px; height:44px;\n            background:rgba(255,255,255,.18);\n            backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);\n            color:#CC1B00; border-radius:50%;\n            display:flex; align-items:center; justify-content:center;\n            cursor:pointer; z-index:20; transition:all .3s ease;\n            box-shadow:0 2px 12px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.4);\n            border:1px solid rgba(255,255,255,.35);\n        }\n        #nova_6a390e1290a1b .ant-nav-arrow:hover {\n            background:rgba(204,27,0,.85); color:#fff;\n            box-shadow:0 4px 20px rgba(204,27,0,.4); border-color:transparent;\n        }\n        #nova_6a390e1290a1b .ant-logo-item img { transition:transform .4s ease; }\n        #nova_6a390e1290a1b .ant-logo-item:hover img { transform:scale(1.03); }\n        #nova_6a390e1290a1b .ant-lightbox-trigger::after {\n            content:''; position:absolute; inset:0;\n            background:rgba(0,0,0,0) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'\/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'\/%3E%3Cline x1='11' y1='8' x2='11' y2='14'\/%3E%3Cline x1='8' y1='11' x2='14' y2='11'\/%3E%3C\/svg%3E\") center\/32px no-repeat;\n            opacity:0; transition:opacity .3s, background-color .3s;\n        }\n        #nova_6a390e1290a1b .ant-lightbox-trigger:hover::after { background-color:rgba(0,0,0,.28); opacity:1; }\n        #nova_6a390e1290a1b .ant-dots {\n            display:flex; justify-content:center; align-items:center; gap:8px; margin-top:14px;\n        }\n        #nova_6a390e1290a1b .ant-dot {\n            width:8px; height:8px; border-radius:50%; background:#ccc;\n            cursor:pointer; transition:all .3s ease; flex-shrink:0;\n        }\n        #nova_6a390e1290a1b .ant-dot-active { background:#CC1B00; width:22px; border-radius:4px; }\n        @media (max-width:600px) {\n            #nova_6a390e1290a1b .ant-nav-arrow { display:none !important; }\n            #nova_6a390e1290a1b .ant-rect      { display:none !important; }\n        }\n        <\/style>\n\n        <script>\n        (function() {\n            var COLS_D  = 2;\n            var COLS_T  = 2;\n            var COLS_M  = 1;\n            var H_D     = 500;\n            var H_M     = 220;\n            var GAP     = 5;\n            var SPEED   = 0.25;\n            var COUNT   = 4;\n\n            function activeCols() {\n                var w = window.innerWidth;\n                if (w <= 600)  return COLS_M;\n                if (w <= 1024) return COLS_T;\n                return COLS_D;\n            }\n\n            function init() {\n                var container = document.getElementById('nova_6a390e1290a1b');\n                if (!container) return;\n                var stage     = container.querySelector('.ant-stage');\n                var track     = container.querySelector('.ant-track-list');\n                var nextBtn   = container.querySelector('.ant-next');\n                var prevBtn   = container.querySelector('.ant-prev');\n                var dots      = container.querySelectorAll('.ant-dot');\n                var allItems  = track.querySelectorAll('.ant-logo-item');\n\n                var pos = 0, animFrame = null, isPaused = false,\n                    isDragging = false, isTouching = false,\n                    dragStartX = 0, dragStartPos = 0,\n                    touchStartX = 0, touchStartPos = 0,\n                    resumeTimer = null, dragMoved = false;\n\n                \/* \u2500\u2500 Taille des items calcul\u00e9e sur la largeur R\u00c9ELLE du conteneur \u2500\u2500\n                   \u2192 fonctionne peu importe sidebar, padding, scrollbar, 100vw != containerW *\/\n                function applySize() {\n                    var isMob  = (window.innerWidth <= 600);\n                    var cols   = activeCols();\n                    var w      = container.offsetWidth; \/* largeur r\u00e9elle, pas 100vw *\/\n                    var itemW  = Math.floor(w \/ cols);\n\n                    stage.style.height = (isMob ? H_M : H_D) + 'px';\n\n                    for (var i = 0; i < allItems.length; i++) {\n                        allItems[i].style.width     = itemW + 'px';\n                        allItems[i].style.flexBasis = itemW + 'px';\n                    }\n                }\n\n                var T        = function() { return track.scrollWidth \/ 3; };\n                var applyPos = function() { track.style.transform = 'translateX(' + (-pos) + 'px)'; };\n                var clamp    = function() {\n                    var t = T();\n                    if (pos >= t * 2) pos -= t;\n                    if (pos < t)      pos += t;\n                };\n                var updateDots = function() {\n                    var t = T(), iw = t \/ COUNT, idx;\n                    idx = Math.min(Math.round((pos % t) \/ iw), COUNT - 1);\n                    for (var i = 0; i < dots.length; i++)\n                        dots[i].classList.toggle('ant-dot-active', i === idx);\n                };\n\n                var tick = function() {\n                    if (!isDragging && !isTouching && !isPaused) {\n                        pos += SPEED; clamp(); applyPos(); updateDots();\n                    }\n                    animFrame = requestAnimationFrame(tick);\n                };\n\n                \/* Dots *\/\n                for (var di = 0; di < dots.length; di++) {\n                    (function(idx) {\n                        dots[idx].addEventListener('click', function() {\n                            var t = T();\n                            pos = Math.floor(pos \/ t) * t + idx * (t \/ COUNT);\n                            clamp(); applyPos(); updateDots();\n                        });\n                    })(di);\n                }\n\n                \/* Fl\u00e8ches *\/\n                nextBtn.addEventListener('click', function() { pos += T()\/COUNT; clamp(); applyPos(); updateDots(); });\n                prevBtn.addEventListener('click', function() { pos -= T()\/COUNT; clamp(); applyPos(); updateDots(); });\n\n                \/* Drag *\/\n                stage.addEventListener('mousedown', function(e) {\n                    isDragging = true; dragMoved = false;\n                    dragStartX = e.clientX; dragStartPos = pos;\n                    stage.style.cursor = 'grabbing';\n                    cancelAnimationFrame(animFrame); animFrame = null;\n                });\n                window.addEventListener('mousemove', function(e) {\n                    if (!isDragging) return;\n                    var dx = e.clientX - dragStartX;\n                    if (Math.abs(dx) > 4) dragMoved = true;\n                    pos = dragStartPos - dx; clamp(); applyPos(); updateDots();\n                });\n                window.addEventListener('mouseup', function(e) {\n                    if (!isDragging) return;\n                    isDragging = false; stage.style.cursor = '';\n                    if (dragMoved && e.target.closest) {\n                        var tr = e.target.closest('.ant-lightbox-trigger');\n                        if (tr) tr.addEventListener('click', function b(ev) {\n                            ev.stopImmediatePropagation(); tr.removeEventListener('click', b);\n                        }, true);\n                    }\n                    tick();\n                });\n\n                \/* Pause hover desktop *\/\n                container.addEventListener('mouseenter', function() { if (window.innerWidth > 600) isPaused = true;  });\n                container.addEventListener('mouseleave', function() { if (window.innerWidth > 600) isPaused = false; });\n\n                \/* Touch *\/\n                stage.addEventListener('touchstart', function(e) {\n                    isTouching = true; dragMoved = false;\n                    touchStartX = e.touches[0].clientX; touchStartPos = pos;\n                    clearTimeout(resumeTimer);\n                    cancelAnimationFrame(animFrame); animFrame = null;\n                }, { passive: true });\n                stage.addEventListener('touchmove', function(e) {\n                    var dx = touchStartX - e.touches[0].clientX;\n                    if (Math.abs(dx) > 4) dragMoved = true;\n                    pos = touchStartPos + dx; clamp(); applyPos(); updateDots();\n                }, { passive: true });\n                stage.addEventListener('touchend', function() {\n                    resumeTimer = setTimeout(function() { isTouching = false; tick(); }, 600);\n                }, { passive: true });\n\n                \/* Resize *\/\n                var resizeTimer;\n                window.addEventListener('resize', function() {\n                    clearTimeout(resizeTimer);\n                    resizeTimer = setTimeout(function() {\n                        applySize();\n                        var t = T(); if (pos < t) pos = t;\n                        clamp(); applyPos(); updateDots();\n                    }, 100);\n                });\n\n                \/* D\u00e9marrage \u2014 double rAF pour s'assurer que le layout est stabilis\u00e9 *\/\n                applySize();\n                requestAnimationFrame(function() {\n                    applySize();\n                    requestAnimationFrame(function() {\n                        pos = T();\n                        applyPos();\n                        tick();\n                    });\n                });\n            }\n\n            if (document.readyState === 'complete') init();\n            else window.addEventListener('load', init);\n        })();\n        <\/script>\n        <\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section\" id=\"contact\">\n<div class=\"et_pb_row_4 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_5 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h2>Parlez-nous de votre projet<\/h2>\n<\/div><\/div>\n\n<div class=\"et_pb_divider_1 et_pb_divider et_pb_space et_pb_divider_position_top et_pb_module tth-sep\"><div class=\"et_pb_divider_internal\"><\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_5 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_6 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_1 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/04\/TTH-Projets-etude-installation-maintenance-renovation-de-cuve-de-stockage-en-acier-.png\" alt=\"TTH - Projets etude - installation - maintenance - renovation de cuve de stockage en acier\" title=\"TTH - Projets etude - installation - maintenance - renovation de cuve de stockage en acier\" width=\"806\" height=\"745\" class=\"wp-image-615\" \/><\/span><\/div>\n<\/div>\n\n<div class=\"et_pb_column_7 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_2 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f736-o1\" lang=\"fr-FR\" dir=\"ltr\" data-wpcf7-id=\"736\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/de\/wp-json\/wp\/v2\/pages\/76#wpcf7-f736-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulaire de contact\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"736\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.6\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fr_FR\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f736-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"tth-cf7-row\">\n\t<div class=\"tth-cf7-col\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"prenom\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Pr\u00e9nom *\" value=\"\" type=\"text\" name=\"prenom\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"tth-cf7-col\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nom\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nom *\" value=\"\" type=\"text\" name=\"nom\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"tth-cf7-field-full\">\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"entreprise\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Votre entreprise *\" value=\"\" type=\"text\" name=\"entreprise\" \/><\/span>\n\t<\/p>\n<\/div>\n<div class=\"tth-cf7-row\">\n\t<div class=\"tth-cf7-col\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"E-mail *\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"tth-cf7-col\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telephone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"T\u00e9l\u00e9phone\" value=\"\" type=\"text\" name=\"telephone\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"tth-cf7-field-full\">\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Message *\" name=\"message\"><\/textarea><\/span>\n\t<\/p>\n<\/div>\n<div class=\"tth-cf7-rgpd\">\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"rgpd\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><input type=\"checkbox\" name=\"rgpd\" value=\"1\" aria-invalid=\"false\" \/><\/span><\/span><\/span> En cochant cette case, vous affirmez avoir pris connaissance de notre politique de confidentialit\u00e9 des donn\u00e9es\n\t<\/p>\n<\/div>\n<div class=\"tth-cf7-submit-row\">\n\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Envoyer \u2192\" \/>\n\t<\/p>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-76","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Conception &amp; fabrication - TTH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tth-tankbau.com\/de\/conception-fabrication\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Conception &amp; fabrication - TTH\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tth-tankbau.com\/de\/conception-fabrication\/\" \/>\n<meta property=\"og:site_name\" content=\"TTH\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-20T16:16:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/04\/TTH-cuves-en-acier-galvanise-pour-le-stockage-de-liquides-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"877\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/conception-fabrication\\\/\",\"url\":\"https:\\\/\\\/tth-tankbau.com\\\/conception-fabrication\\\/\",\"name\":\"Conception &amp; fabrication - TTH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#website\"},\"datePublished\":\"2026-03-16T09:03:57+00:00\",\"dateModified\":\"2026-05-20T16:16:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/conception-fabrication\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tth-tankbau.com\\\/conception-fabrication\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/conception-fabrication\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/tth-tankbau.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Conception &amp; fabrication\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#website\",\"url\":\"https:\\\/\\\/tth-tankbau.com\\\/\",\"name\":\"TTH\",\"description\":\"Tankbau Technik und Handels\",\"publisher\":{\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tth-tankbau.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#organization\",\"name\":\"TTH\",\"alternateName\":\"Tankbau Technik und Handels\",\"url\":\"https:\\\/\\\/tth-tankbau.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tth-tankbau.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/logo-500X500-XING.png\",\"contentUrl\":\"https:\\\/\\\/tth-tankbau.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/logo-500X500-XING.png\",\"width\":500,\"height\":500,\"caption\":\"TTH\"},\"image\":{\"@id\":\"https:\\\/\\\/tth-tankbau.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Conception &amp; fabrication - TTH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tth-tankbau.com\/de\/conception-fabrication\/","og_locale":"de_DE","og_type":"article","og_title":"Conception &amp; fabrication - TTH","og_url":"https:\/\/tth-tankbau.com\/de\/conception-fabrication\/","og_site_name":"TTH","article_modified_time":"2026-05-20T16:16:51+00:00","og_image":[{"width":1024,"height":877,"url":"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/04\/TTH-cuves-en-acier-galvanise-pour-le-stockage-de-liquides-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tth-tankbau.com\/conception-fabrication\/","url":"https:\/\/tth-tankbau.com\/conception-fabrication\/","name":"Conception &amp; fabrication - TTH","isPartOf":{"@id":"https:\/\/tth-tankbau.com\/#website"},"datePublished":"2026-03-16T09:03:57+00:00","dateModified":"2026-05-20T16:16:51+00:00","breadcrumb":{"@id":"https:\/\/tth-tankbau.com\/conception-fabrication\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tth-tankbau.com\/conception-fabrication\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tth-tankbau.com\/conception-fabrication\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/tth-tankbau.com\/"},{"@type":"ListItem","position":2,"name":"Conception &amp; fabrication"}]},{"@type":"WebSite","@id":"https:\/\/tth-tankbau.com\/#website","url":"https:\/\/tth-tankbau.com\/","name":"TTH","description":"Tankbau Technik und Handels","publisher":{"@id":"https:\/\/tth-tankbau.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tth-tankbau.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/tth-tankbau.com\/#organization","name":"TTH","alternateName":"Tankbau Technik und Handels","url":"https:\/\/tth-tankbau.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/tth-tankbau.com\/#\/schema\/logo\/image\/","url":"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/logo-500X500-XING.png","contentUrl":"https:\/\/tth-tankbau.com\/wp-content\/uploads\/2026\/03\/logo-500X500-XING.png","width":500,"height":500,"caption":"TTH"},"image":{"@id":"https:\/\/tth-tankbau.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/pages\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":39,"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/pages\/76\/revisions"}],"predecessor-version":[{"id":1160,"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/pages\/76\/revisions\/1160"}],"wp:attachment":[{"href":"https:\/\/tth-tankbau.com\/de\/wp-json\/wp\/v2\/media?parent=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}