1<!DOCTYPE html> 2<html lang="fr-FR" prefix="og: https://ogp.me/ns#"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"> 6 <link rel="profile" href="https://gmpg.org/xfn/11"> 7 8 9 10<!-- Optimisation des moteurs de recherche par Rank Math - https://rankmath.com/ --> 11<title>Qui Sommes Nous | ATI Export</title> 12<meta name="description" content="Fondée en 2009 et implantée à La Salle (71260) - FRANCE, ATI Export vous accompagne dans la recherche, lâapprovisionnement et l'importation de pièces de"/> 13<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> 14<link rel="canonical" href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/" /> 15<meta property="og:locale" content="fr_FR" /> 16<meta property="og:type" content="article" /> 17<meta property="og:title" content="Qui Sommes Nous | ATI Export" /> 18<meta property="og:description" content="Fondée en 2009 et implantée à La Salle (71260) - FRANCE, ATI Export vous accompagne dans la recherche, lâapprovisionnement et l'importation de pièces de" /> 19<meta property="og:url" content="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/" /> 20<meta property="og:site_name" content="ATI Export" /> 21<meta property="og:updated_time" content="2026-08-05T08:18:06+00:00" /> 22<meta property="og:image" content="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png" /> 23<meta property="og:image:secure_url" content="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png" /> 24<meta property="og:image:width" content="1027" /> 25<meta property="og:image:height" content="1024" /> 26<meta property="og:image:alt" content="Qui Sommes Nous" /> 27<meta property="og:image:type" content="image/png" /> 28<meta name="twitter:card" content="summary_large_image" /> 29<meta name="twitter:title" content="Qui Sommes Nous | ATI Export" /> 30<meta name="twitter:description" content="Fondée en 2009 et implantée à La Salle (71260) - FRANCE, ATI Export vous accompagne dans la recherche, lâapprovisionnement et l'importation de pièces de" /> 31<meta name="twitter:image" content="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png" /> 32<meta name="twitter:label1" content="Temps de lecture" /> 33<meta name="twitter:data1" content="1 minute" /> 34<!-- /Extension Rank Math WordPress SEO --> 35 36<link rel='dns-prefetch' href='//cdn-reach.hostinger.com' /> 37<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 38<link rel="alternate" type="application/rss+xml" title="ATI Export » Flux" href="https://goldenrod-pigeon-420491.hostingersite.com/feed/" /> 39<link rel="alternate" type="application/rss+xml" title="ATI Export » Flux des commentaires" href="https://goldenrod-pigeon-420491.hostingersite.com/comments/feed/" /> 40<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fgoldenrod-pigeon-420491.hostingersite.com%2Fqui-sommes-nous%2F" /> 41<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fgoldenrod-pigeon-420491.hostingersite.com%2Fqui-sommes-nous%2F&format=xml" /> 42<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'>img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}</style> 43 44<link data-optimized="1" rel='stylesheet' id='sbr_styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/4379f6e28e86bc5f150332002d2e87f5.css?ver=96711' type='text/css' media='all' /> 45<link data-optimized="1" rel='stylesheet' id='sbi_styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/a5775f4c7650c1eb1e084ab9eee84401.css?ver=7e756' type='text/css' media='all' /> 46<link data-optimized="1" rel='stylesheet' id='dripicons-css' href='https://golde
46nrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/59172adc99a0d9c758b286b7da3679df.css?ver=28266' type='text/css' media='all' /> 47<link data-optimized="1" rel='stylesheet' id='elegant-icons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/640166e99eb672c820167ffa6caec035.css?ver=13b3e' type='text/css' media='all' /> 48<link data-optimized="1" rel='stylesheet' id='font-awesome-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/c030b719f5cfb2a1d7303f3c9f074025.css?ver=0a214' type='text/css' media='all' /> 49<link data-optimized="1" rel='stylesheet' id='ionicons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/3da2feeabf81c1e2dfe2178f92413fd1.css?ver=da323' type='text/css' media='all' /> 50<link data-optimized="1" rel='stylesheet' id='linea-icons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/f49c3f14dd4a9e0869dca3914d0f4bd9.css?ver=686fd' type='text/css' media='all' /> 51<link data-optimized="1" rel='stylesheet' id='linear-icons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/740554c86d334eea0f32a64c00f70c1a.css?ver=0d4ee' type='text/css' media='all' /> 52<link data-optimized="1" rel='stylesheet' id='material-icons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/19d74a1c61d9b084018bd4466ea0a8e4.css?ver=0a8e4' type='text/css' media='all' /> 53<link data-optimized="1" rel='stylesheet' id='simple-line-icons-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/9ad9f484c4bffc487da52850381b0e46.css?ver=3d6ab' type='text/css' media='all' /> 54<link data-optimized="1" rel='stylesheet' id='sb-elementor-shared-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/cacca1ef7df0496221129c653e8a580b.css?ver=4f3ec' type='text/css' media='all' /> 55<link data-optimized="1" rel='stylesheet' id='cff-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/ae57a3a3474bcb5a84a1a82f773b79ce.css?ver=71773' type='text/css' media='all' /> 56<link data-optimized="1" rel='stylesheet' id='sb-font-awesome-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/61ed74f4a9d460e14eeeafa1d904971f.css?ver=f1cdb' type='text/css' media='all' /> 57<link data-optimized="1" rel='stylesheet' id='ctf_styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/09e3b6cdf3512fcf8b7515a9d4a36c1b.css?ver=bac3c' type='text/css' media='all' /> 58<link data-optimized="1" rel='stylesheet' id='sby_common_styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/aad8491c6b58b6fdcd216ec49d3ef7bb.css?ver=36a2d' type='text/css' media='all' /> 59<link data-optimized="1" rel='stylesheet' id='sby_styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/19edfdae125bb79c3e2ce5ac5e426670.css?ver=ee3bb' type='text/css' media='all' /> 60<style id='wp-emoji-styles-inline-css' type='text/css'>img.wp-smiley,img.emoji{display:inline!important;border:none!important;box-shadow:none!important;height:1em!important;width:1em!important;margin:0 0.07em!important;vertical-align:-0.1em!important;background:none!important;padding:0!important}</style> 61<style id='classic-theme-styles-inline-css' type='text/css'> 62/*! This file is auto-generated */ 63.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}</style> 64<style id='safe-svg-svg-icon-style-inline-css' type='text/css'>.wp-block-safe-svg-svg-icon a{align-self:center}.safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{fill:currentColor;height:100%;max-height:100%;max-width:100%;width:100%}</style> 65<link data-optimized="1" rel='stylesheet' id='hostinger-reach-subscription-block-css' href='https://golde
65nrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/43c2adfb68d59066ca7e5483240c3b7f.css?ver=44a13' type='text/css' media='all' /> 66<style id='global-styles-inline-css' type='text/css'>:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3:4/3;--wp--preset--aspect-ratio--3-4:3/4;--wp--preset--aspect-ratio--3-2:3/2;--wp--preset--aspect-ratio--2-3:2/3;--wp--preset--aspect-ratio--16-9:16/9;--wp--preset--aspect-ratio--9-16:9/16;--wp--preset--color--black:#000000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#ffffff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
66--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--preset--font-family--inter:"Inter", sans-serif;--wp--preset--font-family--cardo:Cardo;--wp--preset--spacing--20:0.44rem;--wp--preset--spacing--30:0.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp:6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined:6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp:6px 6px 0px rgb(0, 0, 0)}:where(.is-layout-flex){gap:.5em}:where(.is-layout-grid){gap:.5em}body .is-layout-flex{display:flex}.is-layout-flex{flex-wrap:wrap;align-items:center}.is-layout-flex>:is(*,div){margin:0}body .is-layout-grid{display:grid}.is-layout-grid>:is(*,div){margin:0}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}.has-black-color{color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-color{color:var(--wp--preset--color--white)!important}.has-pale-pink-color{color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-color{color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple)!important}.has-black-background-color{background-color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-background-color{background-color:var(--wp--preset--color--white)!important}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple)!important}.has-black-border-color{border-color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-border-color{border-color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-border-color{border-color:var(--wp--preset--color--white)!important}.has-pale-pink-border-color{border-color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-border-color{border-color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-border-color{border-color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-border-color{border-color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-border-color{border-color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-border-color{border-color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-border-color{border-color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-border-color{border-color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-border-color{border-color:var(--wp--preset--color--vivid-purple)!important}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple)!important}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan)!important}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange)!important}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red)!important}
66.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray)!important}.has-cool-to-warm-spectrum-gradient-background{background:var(--wp--preset--gradient--cool-to-warm-spectrum)!important}.has-blush-light-purple-gradient-background{background:var(--wp--preset--gradient--blush-light-purple)!important}.has-blush-bordeaux-gradient-background{background:var(--wp--preset--gradient--blush-bordeaux)!important}.has-luminous-dusk-gradient-background{background:var(--wp--preset--gradient--luminous-dusk)!important}.has-pale-ocean-gradient-background{background:var(--wp--preset--gradient--pale-ocean)!important}.has-electric-grass-gradient-background{background:var(--wp--preset--gradient--electric-grass)!important}.has-midnight-gradient-background{background:var(--wp--preset--gradient--midnight)!important}.has-small-font-size{font-size:var(--wp--preset--font-size--small)!important}.has-medium-font-size{font-size:var(--wp--preset--font-size--medium)!important}.has-large-font-size{font-size:var(--wp--preset--font-size--large)!important}.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large)!important}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}:where(.wp-block-term-template.is-layout-flex){gap:1.25em}:where(.wp-block-term-template.is-layout-grid){gap:1.25em}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:root :where(.wp-block-pullquote){font-size:1.5em;line-height:1.6}</style> 67<link data-optimized="1" rel='stylesheet' id='contact-form-7-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/3c362ee193a362565cf2464555559021.css?ver=8368d' type='text/css' media='all' /> 68<link data-optimized="1" rel='stylesheet' id='sr7css-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/9c5d63ce4d0c5b53082294b1ddc4cea0.css?ver=5d0bc' type='text/css' media='all' /> 69<style id='woocommerce-inline-inline-css' type='text/css'>.woocommerce form .form-row .required{visibility:visible}</style> 70<link data-optimized="1" rel='stylesheet' id='qi-addons-for-elementor-grid-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/96a0673959d276f846217b39e84b277c.css?ver=9b06d' type='text/css' media='all' /> 71<link data-optimized="1" rel='stylesheet' id='qi-addons-for-elementor-helper-parts-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/7ac2cc97abfeb9e70d3682a3742808b7.css?ver=1e35a' type='text/css' media='all' /> 72<link data-optimized="1" rel='stylesheet' id='qi-addons-for-elementor-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/bc1e3bc2c88edabc93a28376f6d958d4.css?ver=cd477' type='text/css' media='all' /> 73<link data-optimized="1" rel='stylesheet' id='perfect-scrollbar-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/a437f993ad4f3c4e2fb9d0f308852c9d.css?ver=11bd5' type='text/css' media='all' /> 74<link data-optimized="1" rel='stylesheet' id='stal-main-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/95e621a337095dd54f7ed513de514286.css?ver=f26d3' type='text/css' media='all' /> 75<link data-optimized="1" rel='stylesheet' id='stal-core-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/08845ad365342fa90fba7254c2c35d33.css?ver=7a410' type='text/css' media='all' /> 76<link data-optimized="1" rel='stylesheet' id='stal-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/d59331fb285e2cc152b95be7a117c6ee.css?ver=38eff' type='text/css' media='all' /> 77<style id='stal-style-inline-css' type='text/css'>#qodef-page-inner{padding:0 0 0 0}@media only screen and (max-width:1024px){#qodef-page-inner{padding:0 0 0 0}}.qodef-h1 a:hover,h1 a:hover,.qodef-h2 a:hover,h2 a:hover,.qodef-h3 a:hover,h3 a:hover,.qodef-h4 a:hover,h4 a:hover,.qodef-h5 a:hover,h5 a:hover,.qodef-h6 a:hover,h6 a:hover,a:hover,p a:hover,a.qodef-gray-link:hover,blockquote:before,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus,body .select2-container--default.select2-container--open .select2-selection--multiple,body .select2-container--default.select2-container--open .select2-selection--single,body .select2-container--default .select2-results__option[aria-selected=true],body .select2-container--default .select2-results__option[data-selected=true],body .select2-container--default .select2-results__option--highlighted[aria-selected],#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle:hover,#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-list-horizontal ul li a:hover,#qodef-page-header .widget_icl_lang_sel_widget .wpml-ls-legacy-list-vertical ul li a:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-list-horizontal ul li a:hover,#qodef-page-mobile-header .widget_icl_lang_sel_widget .wpml-ls-legacy-list-vertical ul li a:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-list-horizontal ul li a:hover,#qodef-page-sidebar .widget_icl_lang_sel_widget .wpml-ls-legacy-list-vertical ul li a:hover,#qodef-page-footer .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle:hover,#qodef-page-footer .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,#qodef-page-footer .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-page-footer .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-side-area .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle:hover,#qodef-side-area .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,#qodef-side-area .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-item a:hover,#qodef-side-area .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu .wpml-ls-item a:hover,.qodef-blog article .qodef-e-info .qodef-e-info-item a:hover,.qodef-blog article .qodef-e-info .qodef-e-info-item.qodef-e-info-category:before,.qodef-blog article .qodef-e-info .qodef-e-info-item.qodef-e-info-date:before,.qodef-blog article .qodef-e-info .qodef-e-info-item.qodef-e-info-tags:before,.qodef-blog article.format-link .qodef-icon-linea-icons,.qodef-blog article.format-quote .qodef-icon-linea-icons,.qodef-blog article.format-quote .qodef-e-quote-author-position,#qodef-page-comments-list .qodef-comment-item .qodef-e-links>.comment-reply-link:after:hover,.qodef-m-filter .qodef-m-filter-item.qodef--active,.qodef-m-filter .qodef-m-filter-item:hover,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-archives li a:hover,.wp-block-categories li a:hover,.wp-block-latest-posts li a:hover,blockquote.wp-block-pullquote:before,.wp-block-pullquote blockquote:before,.wp-block-quote:before,#qodef-mobile-header-navigation ul li:hover>a,#qodef-mobile-header-navigation ul li.current-menu-ancestor>a,#qodef-mobile-header-navigation ul li.current-menu-item>
77a,.qodef-header-navigation ul li.qodef-menu-item--narrow ul li.current-menu-item>a,.qodef-header-navigation ul li.qodef-menu-item--narrow ul li:hover>a,.qodef-blog.qodef-item-layout--simple article .qodef-e-title a:hover,#qodef-author-info .qodef-m-author-position,.qodef-fullscreen-menu-holder nav.qodef-fullscreen-menu ul li ul li a:hover,.qodef-header--vertical .qodef-header-vertical-navigation ul li a:hover,.qodef-header--vertical .qodef-header-vertical-navigation ul li.current-menu-ancestor>a,.qodef-header--vertical .qodef-header-vertical-navigation ul li.current-menu-item>a,.qodef-header--vertical .qodef-header-vertical-navigation ul li.current_page_item>a,#qodef-page-mobile-header .qodef-mobile-header-logo-link,.qodef-header-navigation ul li.qodef-menu-item--wide .qodef-drop-down-second .qodef-drop-down-second-inner>ul>li ul li.current-menu-item>a,.qodef-header-navigation ul li.qodef-menu-item--wide .qodef-drop-down-second .qodef-drop-down-second-inner>ul>li ul li:hover>a,.qodef-portfolio-single-item .qodef-portfolio-info a:not(.qodef-share-link):hover,.qodef-ps-related-posts-holder .qodef-ps-related-text .qodef-ps-related-categories,.qodef-portfolio-list .qodef-e-info-category a,.qodef-portfolio-list.qodef-item-layout--info-on-hover .qodef-e-content .qodef-e-content-inner .qodef-e-info-category a,.qodef-team-list .qodef-e-role,.qodef-team-list.qodef-item-layout--info-on-hover .qodef-e-social-content.opened .qodef-team-member-social-icon-opener,.qodef-testimonials-list .qodef-e-author-job,.qodef-header--dark .qodef-search-opener.search-icon-in-box .qodef-search-opener-inner,.qodef-accordion.qodef-layout--simple .qodef-accordion-title.ui-state-active,.qodef-accordion.qodef-layout--simple .qodef-accordion-title.ui-state-hover,.qodef-banner .qodef-m-text-field,.qodef-button.qodef-layout--outlined,.qodef-contact-info .qodef-m-vertical-text,.qodef-contact-info .qodef-m-info>div span,.qodef-icon-list-item .qodef-e-title a:hover,.qodef-image-with-text.qodef--with-link .qodef-m-image:hover+.qodef-m-content .qodef-m-title,.qodef-image-with-text.qodef--with-link .qodef-m-title:hover,.qodef-pricing-table .qodef-m-title p,.qodef-pricing-table .qodef-m-content .qodef-icon-ionicons,.qodef-section-title.qodef-title-with-tagline .qodef-m-title-tagline,.qodef-swapping-image-gallery.qodef-title-with-tagline .qodef-m-title-tagline,.qodef-video-button .qodef-m-play,.qodef-side-area-opener:hover,.qodef-social-share.qodef-layout--dropdown .qodef-social-share-dropdown-opener,#qodef-top-area .qodef-woo-dropdown-cart .qodef-woo-dropdown-items a:hover,.qodef-woo-dropdown-cart .qodef-m-order-details .qodef-m-order-amount,.qodef-woo-dropdown-cart .qodef-m-order-details .qodef-m-order-label,.qodef-working-hours-list .qodef-e-day-icon,.qodef-working-hours-list .qodef-e-time.qodef--closed,.qodef-working-hours-list .qodef-m-footer-icon{color:#fdec01}.qodef-theme-button,button[type=submit],input[type=submit],.swiper-button-next:hover,.swiper-button-prev:hover,#qodef-404-page button,.qodef-blog article.format-audio .mejs-controls .mejs-time-rail .mejs-time-current,.qodef-blog.qodef--single article .qodef-e-info.qodef-info--bottom .qodef-e-info-tags a:hover,.wp-block-button .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-file .wp-block-file__button,.has-primary-background-color,#qodef-back-to-top,#qodef-author-info .qodef-m-social-icons a,#qodef-single-post-navigation .qodef-m-nav.qodef--next:hover .qodef-icon-linea-icons,#qodef-single-post-navigation .qodef-m-nav.qodef--prev:hover .qodef-icon-linea-icons,.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener--predefined,#qodef-page-mobile-header #qodef-mobile-header-opener,.qodef-clients-list.qodef-item-layout--image-only.qodef-hover-animation--fade-in .qodef-e .qodef-e-hover-logo .qodef-m-split,.qodef-team-list.qodef-item-layout--info-on-hover .qodef-e-social-content .qodef-team-member-social-icon,.qodef-team-list.qodef-item-layout--info-on-hover .qodef-e-social-content .qodef-team-member-social-icon-opener,.qodef-testimonials-list .swiper-pagination-bullets .swiper-pagination-bullet:before,.qodef-testimonials-l
77ist .swiper-button-next,.qodef-search-opener.search-icon-in-box .qodef-search-opener-inner,.qodef-accordion.qodef-layout--simple .qodef-accordion-title.ui-state-active .qodef-accordion-mark span.qodef-icon,.qodef-accordion.qodef-layout--simple .qodef-accordion-title.ui-state-hover .qodef-accordion-mark span.qodef-icon,.qodef-button.qodef-layout--filled.qodef-html--link,.qodef-button.qodef-layout--outlined:hover,.qodef-button.qodef-layout--splitted,.qodef-button.qodef-layout--splitted:hover,.qodef-icon-list-item .qodef-m-square,.qodef-icon-list-item.qodef-icon--predefined a:before,.qodef-icon-holder.qodef-layout--circle,.qodef-icon-holder.qodef-layout--square,.qodef-image-gallery .swiper-button-next:hover,.qodef-image-gallery .swiper-button-prev:hover,.qodef-side-area-opener.qodef-side-area-opener--predefined,.qodef-social-share.qodef-layout--dropdown.qodef-dropdown--left .qodef-social-share-dropdown li a,.qodef-social-share.qodef-layout--list li a,.qodef-woo-dropdown-cart .qodef-m-opener .qodef-m-opener-count,.qodef-woo-dropdown-cart .qodef-e-quantity,.qodef-woo-dropdown-cart .qodef-m-action-link{background-color:#fdec01}.qodef-header--light #qodef-page-header .qodef-header-logo-link.qodef-textual-logo.has-background-color .qodef-logo-text{background-color:#fdec01!important}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link:hover,#qodef-back-to-top .qodef-back-to-top-icon,.qodef-button.qodef-layout--outlined,.qodef-button.qodef-layout--outlined:hover{border-color:#fdec01}.qodef-page-title{height:500px;background-image:url(https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2020/02/about-me-title-img-1.jpg)}.qodef-page-title .qodef-m-title{color:#fff}@media only screen and (max-width:1024px){.qodef-page-title{height:200px}}.qodef-header--standard #qodef-page-header{background-color:#fff}.qodef-header--standard #qodef-page-header-inner,.qodef-header--standard .qodef-header-sticky{padding-left:0;padding-right:0}.qodef-mobile-header--standard #qodef-mobile-header-navigation .qodef-m-inner{background-color:#000}.qodef-mobile-header--standard #qodef-page-mobile-header{background-color:#000}</style> 78<link data-optimized="1" rel='stylesheet' id='swiper-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/4643c7dc2ecf8fa66a6f4df4b4f4dd61.css?ver=092cf' type='text/css' media='all' /> 79<link data-optimized="1" rel='stylesheet' id='magnific-popup-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/99080f6a1a273e2c9563f784c11f2a29.css?ver=08c4a' type='text/css' media='all' /> 80<link data-optimized="1" rel='stylesheet' id='stal-google-fonts-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/17c70bb96ccea51698b5cf1aa59bde1e.css?ver=bde1e' type='text/css' media='all' /> 81<link data-optimized="1" rel='stylesheet' id='select2-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/fcaf03bc13b10e63c41f0967a6da8ce6.css?ver=98e77' type='text/css' media='all' /> 82<link data-optimized="1" rel='stylesheet' id='stal-core-dashboard-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/927039c37ad4e293196b7ecf65eb7319.css?ver=e8bf9' type='text/css' media='all' /> 83<link data-optimized="1" rel='stylesheet' id='trp-language-switcher-v2-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/48827b291eb0de6492ce6145b3522a31.css?ver=5a1ac' type='text/css' media='all' /> 84<link data-optimized="1" rel='stylesheet' id='stal-core-elementor-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/ca9d2dac16bd315798e3c6ea8549e409.css?ver=fded2' type='text/css' media='all' /> 85<link data-optimized="1" rel='stylesheet' id='elementor-frontend-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/5f271dd1fc8d11fe82405083f2b13f5b.css?ver=57538' t
85ype='text/css' media='all' /> 86<style id='elementor-frontend-inline-css' type='text/css'>.e-heading-base a,.e-paragraph-base a{all:unset;cursor:pointer}form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"]{display:block}</style> 87<link data-optimized="1" rel='stylesheet' id='elementor-post-9-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/fa06542157a759bbcd4e7e25c210d025.css?ver=88b89' type='text/css' media='all' /> 88<link data-optimized="1" rel='stylesheet' id='sby-common-styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/aad8491c6b58b6fdcd216ec49d3ef7bb.css?ver=36a2d' type='text/css' media='all' /> 89<link data-optimized="1" rel='stylesheet' id='sby-styles-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/19edfdae125bb79c3e2ce5ac5e426670.css?ver=ee3bb' type='text/css' media='all' /> 90<link data-optimized="1" rel='stylesheet' id='widget-image-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/1498621197856a5beb82bfe3c714959f.css?ver=5328e' type='text/css' media='all' /> 91<link data-optimized="1" rel='stylesheet' id='e-swiper-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/ccb903e12a5a033b56136cb097599cf4.css?ver=c5778' type='text/css' media='all' /> 92<link data-optimized="1" rel='stylesheet' id='elementor-post-2174-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/0a8eda66f0d8bb4b60f3d81a1c41813a.css?ver=aa516' type='text/css' media='all' /> 93<link data-optimized="1" rel='stylesheet' id='base-desktop-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/f639126ec508ed99888706e840405f06.css?ver=618d2' type='text/css' media='all' /> 94<link data-optimized="1" rel='stylesheet' id='local-2174-frontend-desktop-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/ad22570477bd9d169e4af9223b8a2144.css?ver=18c88' type='text/css' media='all' /> 95<link data-optimized="1" rel='stylesheet' id='elementor-gf-roboto-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/03ee56d594bf8057930f4b0fd00ebb4f.css?ver=ebb4f' type='text/css' media='all' /> 96<link data-optimized="1" rel='stylesheet' id='elementor-gf-robotoslab-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/3071dd56f34186beb63473298406cd5b.css?ver=6cd5b' type='text/css' media='all' />
97<script type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 97
97
98<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/4bddaeaf30111f51e3ab83faadfc7fe5.js?ver=792ce" id="jquery-migrate-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 98
98
99<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/3e030734c9a08f71c57f85b294d1e01b.js?ver=a236d" id="tp-tools-js" data-wp-strategy="async" defer data-deferred="1"></script>
vendor: 1 bytes, line 99
99
100<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/9d796fd104c068c1881bfc02038a331c.js?ver=415c9" id="sr7-js" data-wp-strategy="async" defer data-deferred="1"></script>
vendor: 1 bytes, line 100
100
101<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/68cf03e6ec9d590ce8508e74943f378a.js?ver=ff08b" id="wc-jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 101
101
102<script data-optimized="1" type="text/javascript" id="wc-add-to-cart-js-extra" src="data:text/javascript;base64,dmFyIHdjX2FkZF90b19jYXJ0X3BhcmFtcz17ImFqYXhfdXJsIjoiL3dwLWFkbWluL2FkbWluLWFqYXgucGhwIiwid2NfYWpheF91cmwiOiIvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwiaTE4bl92aWV3X2NhcnQiOiJWb2lyIGxlIHBhbmllciIsImNhcnRfdXJsIjoiaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9jYXJ0LyIsImlzX2NhcnQiOiIiLCJjYXJ0X3JlZGlyZWN0X2FmdGVyX2FkZCI6Im5vIn0=" defer></script>
vendor: 1 bytes, line 102
102
103<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/7eb407cb044e4f1b46dee3aec4555b5f.js?ver=f93f8" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 103
103
104<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/50be434e7bb06aa1ad7e8b097eaf7163.js?ver=21fd5" id="wc-js-cookie-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 104
104
105<script data-optimized="1" type="text/javascript" id="woocommerce-js-extra" src="data:text/javascript;base64,dmFyIHdvb2NvbW1lcmNlX3BhcmFtcz17ImFqYXhfdXJsIjoiL3dwLWFkbWluL2FkbWluLWFqYXgucGhwIiwid2NfYWpheF91cmwiOiIvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwiaTE4bl9wYXNzd29yZF9zaG93IjoiQWZmaWNoZXIgbGUgbW90IGRlIHBhc3NlIiwiaTE4bl9wYXNzd29yZF9oaWRlIjoiTWFzcXVlciBsZSBtb3QgZGUgcGFzc2UifQ==" defer></script>
vendor: 1 bytes, line 105
105
106<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/967d9a72fa71473bae72b6ffebba5c02.js?ver=a008c" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 106
106
107<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/daacbef64f1c4b1c34090007f40d0d78.js?ver=f0f33" id="trp-frontend-compatibility-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 107
107
108<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/8e02bf272fec46091d4307ee9c1c7043.js?ver=08f02" id="wc-select2-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 108
108
109<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/8de4e67d6e8d62951ba3cbc4347a99db.js?ver=ccf70" id="trp-language-switcher-js-v2-js" defer data-deferred="1"></script>
109 110<link rel="https://api.w.org/" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-json/wp/v2/pages/2174" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://goldenrod-pigeon-420491.hostingersite.com/xmlrpc.php?rsd" /> 111<meta name="generator" content="WordPress 6.9.9" /> 112<meta name="generator" content="WooCommerce 10.7.0" /> 113<link rel='shortlink' href='https://goldenrod-pigeon-420491.hostingersite.com/?p=2174' /> 114<link rel="alternate" hreflang="fr-FR" href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/"/> 115<link rel="alternate" hreflang="en-GB" href="https://goldenrod-pigeon-420491.hostingersite.com/en/qui-sommes-nous/"/> 116<link rel="alternate" hreflang="fr" href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/"/> 117<link rel="alternate" hreflang="en" href="https://goldenrod-pigeon-420491.hostingersite.com/en/qui-sommes-nous/"/> 118 <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> 119 <meta name="generator" content="Elementor 4.1.4; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap"> 120 <style>.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none!important}@media screen and (max-height:1024px){.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none!important}}@media screen and (max-height:640px){.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none!important}}</style> 121
121<script data-optimized="1" src="data:text/javascript;base64,ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucW9kZWYtaWItaXRlbScpLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7Y29uc3QgbGluaz1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5xb2RlZi1pYi1pdGVtLWJ0bi1ob2xkZXIgYScpO2lmKGxpbmspe2l0ZW0uc3R5bGUuY3Vyc29yPSdwb2ludGVyJztpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5ocmVmPWxpbmsuaHJlZn0pfX0pfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXt2YXIgaXNFbmdsaXNoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nLnN0YXJ0c1dpdGgoJ2VuJyk7dmFyIGRldmlzSHJlZj1pc0VuZ2xpc2g/J2h0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vZW4vY29udGFjdC11cy8nOidodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL2NvbnRhY3QtdXMvJzt2YXIgZGV2aXNUZXh0PWlzRW5nbGlzaD8nUkVRVUVTVCBBIFFVT1RFJzonREVNQU5ERVIgVU4gREVWSVMnO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xb2RlZi13aWRnZXQtaG9sZGVyJykuZm9yRWFjaChmdW5jdGlvbihob2xkZXIpe2lmKCFob2xkZXIucXVlcnlTZWxlY3RvcignLmRldmlzLWZhYicpKXt2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtidG4uaHJlZj1kZXZpc0hyZWY7YnRuLmNsYXNzTmFtZT0nZGV2aXMtZmFiJztidG4udGV4dENvbnRlbnQ9ZGV2aXNUZXh0O2hvbGRlci5pbnNlcnRCZWZvcmUoYnRuLGhvbGRlci5maXJzdENoaWxkKX19KX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7dmFyIGNvbnRhY3RIcmVmPSdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3F1aS1zb21tZXMtbm91cy8jd3BjZjctZjk0NzItcDIxNzQtbzEnO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xb2RlZi13aWRnZXQtaG9sZGVyJykuZm9yRWFjaChmdW5jdGlvbihob2xkZXIpe2lmKGhvbGRlci5xdWVyeVNlbGVjdG9yKCcuY29udGFjdC1mYWInKSlyZXR1cm47dmFyIGxpbms9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO2xpbmsuaHJlZj1jb250YWN0SHJlZjtsaW5rLmNsYXNzTmFtZT0nY29udGFjdC1mYWInO2xpbmsuaWQ9J2luamVjdGVkLWNvbnRhY3QtYnRuJztsaW5rLnRpdGxlPSdOb3VzIGNvbnRhY3Rlcic7bGluay5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdOb3VzIGNvbnRhY3RlcicpO2xpbmsuaW5uZXJIVE1MPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE2IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Ik0yMiA2bC0xMCA3TDIgNiI+PC9wYXRoPjwvc3ZnPic7dmFyIGRldmlzQnRuPWhvbGRlci5xdWVyeVNlbGVjdG9yKCcuZGV2aXMtZmFiJyk7aWYoZGV2aXNCdG4pe2RldmlzQnRuLmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJlbmQnLGxpbmspfWVsc2V7aG9sZGVyLmluc2VydEJlZm9yZShsaW5rLGhvbGRlci5maXJzdENoaWxkKX19KX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7dmFyIENPTlRBQ1RfSEFTSD0nI3dwY2Y3LWY5NDcyLXAyMTc0LW8xJztmdW5jdGlvbiBzY3JvbGxUb0NvbnRhY3RGb3JtKCl7dmFyIGZvcm09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwY2Y3LWY5NDcyLXAyMTc0LW8xJyk7aWYoZm9ybSlmb3JtLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJyxibG9jazonc3RhcnQnfSl9CmlmKHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09Q09OVEFDVF9IQVNIKXt2YXIgZG9TY3JvbGw9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KHNjcm9sbFRvQ29udGFjdEZvcm0sMzAwKX07aWYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSdjb21wbGV0ZScpe2RvU2Nyb2xsKCl9ZWxzZXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsZG9TY3JvbGwpfX0KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYVtocmVmKj0iJytDT05UQUNUX0hBU0grJyJdJykuZm9yRWFjaChmdW5jdGlvbihsaW5rKXtsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgZm9ybT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3BjZjctZjk0NzItcDIxNzQtbzEnKTtpZighZm9ybSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2hpc3RvcnkucHVzaFN0YXRlKG51bGwsJycsQ09OVEFDVF9IQVNIKTtzY3JvbGxUb0NvbnRhY3RGb3JtKCl9KX0pfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXt2YXIgQlJPQ0hVUkVfUERGX1VSTD0naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9ERVBMSUFOVC0zLVZPTEVUUy0yLnBkZic7dmFyIGlzRW5nbGlzaD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZy5zdGFydHNXaXRoKCdlbicpO3ZhciBJQ09OPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDN2MTIiPjwvcGF0aD48cGF0aCBkPSJNNyAxMGw1IDUgNS01Ij48L3BhdGg+PHBhdGggZD0iTTQgMTloMTYiPjwvcGF0aD48L3N2Zz4nO2Z1bmN0aW9uIG1ha2VCdXR0b24oZXh0cmFDbGFzcyl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO2EuaHJlZj1CUk9DSFVSRV9QREZfVVJMO2EudGFyZ2V0PSdfYmxhbmsnO2EucmVsPSdub29wZW5lcic7YS5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywnJyk7YS5jbGFzc05hbWU9J2Jyb2NodXJlLWJ0bicrKGV4dHJhQ2xhc3M/JyAnK2V4dHJhQ2xhc3M6JycpO2EuaW5uZXJIVE1MPUlDT04rJzxzcGFuPicrKGlzRW5nbGlzaD8nRG93bmxvYWQgYnJvY2h1cmUnOidUw6lsw6ljaGFyZ2VyIGxhIGJyb2NodXJlJykrJzwvc3Bhbj4nO3JldHVybiBhfQpmdW5jdGlvbiBvd25FbGVtZW50b3JBbmNlc3RvcihlbCl7d2hpbGUoZWwmJiEoZWwuY2xhc3NMaXN0JiZlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2VsZW1lbnRvci1lbGVtZW50JykpKXtlbD1lbC5wYXJlbnRFbGVtZW50fQpyZXR1cm4gZWx9CmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2gyJykuZm9yRWFjaChmdW5jdGlvbihoKXt2YXIgdGV4dD1oLnRleHRDb250ZW50LnRyaW0oKS5yZXBsYWNlKC86XHMqJC8sJycpLnRvVXBwZXJDYXNlKCk7aWYodGV4dCE9PSdOT1MgUEFSVEVOQUlSRVMnJiZ0ZXh0IT09J09VUiBQQVJUTkVSUycpcmV0dXJuO3ZhciBoZWFkaW5nQm94PW93bkVsZW1lbnRvckFuY2VzdG9yKGgpO3ZhciBsb2dvc0JveD1oZWFkaW5nQm94JiZoZWFkaW5nQm94Lm5leHRFbGVtZW50U2libGluZztpZighbG9nb3NCb3h8fGxvZ29zQm94LnF1ZXJ5U2VsZWN0b3IoJy5icm9jaHVyZS1idG4nKSlyZXR1cm47bG9nb3NCb3guYXBwZW5kQ2hpbGQobWFrZUJ1dHRvbigpKX0pO2lmKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdwYWdlLWlkLTEwNDc2Jykpe3ZhciBjb3ZlcjE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmVsZW1lbnRvci1lbGVtZW50LTczNzMwODEnKTt2YXIgcGFuZWw9Y292ZXIxJiZjb3ZlcjEuY2xvc2VzdCgnLmF0aS12c3MtcGFuZWwtaXMtdW5pZmllZCcpO2lmKHBhbmVsJiYhZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJyb2NodXJlLWJ0bi0tY292ZXInKSl7dmFyIGNvdmVyQnRuPW1ha2VCdXR0b24oJ2Jyb2NodXJlLWJ0bi0tY292ZXInKTt2YXIgYXR0ZW1wdHM9MDsoZnVuY3Rpb24gYnVpbGRQYWlyKCl7dmFyIGhpbnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNjcm9sbC1kb3duLWhpbnQnKTtpZighaGludCl7aWYoYXR0ZW1wdHMrKzwzMClzZXRUaW1lb3V0KGJ1aWxkUGFpciwxNTApO3JldHVybn0KaWYoaGludC5wYXJlbnROb2RlJiZoaW50LnBhcmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdhdGktcGlsbC1wYWlyJykpcmV0dXJuO3ZhciB3cmFwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO3dyYXAuY2xhc3NOYW1lPSdhdGktcGlsbC1wYWlyJztoaW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXAsaGludCk7d3JhcC5hcHBlbmRDaGlsZChoaW50KTt3cmFwLmFwcGVuZENoaWxkKGNvdmVyQnRu
121KTtoaW50LnN0eWxlLm9wYWNpdHk9Jyc7aGludC5zdHlsZS50cmFuc2l0aW9uPScnfSkoKX19fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXt2YXIgaGludD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Nyb2xsLWRvd24taGludCcpO3ZhciB2aWRlbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVyby12aWRlby1jb250YWluZXIgdmlkZW8uZS1zZWxmLWhvc3RlZC12aWRlby1iYXNlJyk7aWYoIWhpbnR8fCF2aWRlbylyZXR1cm47d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT4xMDApe2hpbnQuc3R5bGUub3BhY2l0eT0nMCc7aGludC5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJ31lbHNle2hpbnQuc3R5bGUub3BhY2l0eT0nMSc7aGludC5zdHlsZS5wb2ludGVyRXZlbnRzPSdhdXRvJ319KX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7dmFyIHNwbGl0U2xpZGVyUGFnZXM9WzcwMzAsMTAyNyw1NjY3LDU2NjUsNTY2Nl07dmFyIGJvZHlDbGFzc2VzPWRvY3VtZW50LmJvZHkuY2xhc3NOYW1lO3ZhciBvblNwbGl0UGFnZT1zcGxpdFNsaWRlclBhZ2VzLnNvbWUoZnVuY3Rpb24oaWQpe3JldHVybiBib2R5Q2xhc3Nlcy5pbmRleE9mKCdwYWdlLWlkLScraWQpIT09LTF9KTtpZighb25TcGxpdFBhZ2UpcmV0dXJuO3ZhciBvcGVuZXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnFvZGVmLWZ1bGxzY3JlZW4tbWVudS1vcGVuZXInKTt2YXIgaGVhZGVySW5uZXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3FvZGVmLXBhZ2UtaGVhZGVyLWlubmVyJyk7aWYoIW9wZW5lcnx8IWhlYWRlcklubmVyKXJldHVybjtvcGVuZXIuc3R5bGUuZGlzcGxheT0nbm9uZSc7aGVhZGVySW5uZXIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLGAKICAgIDxuYXYgY2xhc3M9InFvZGVmLWhlYWRlci1uYXZpZ2F0aW9uIiByb2xlPSJuYXZpZ2F0aW9uIiBhcmlhLWxhYmVsPSJUb3AgTWVudSI+CiAgICAgIDx1bCBpZD0icW9kZWYtbWFpbi1uYXZpZ2F0aW9uLW1lbnUiIGNsYXNzPSJtZW51Ij4KICAgICAgICA8bGkgY2x
121hc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1ob21lIG1lbnUtaXRlbS02MDY4Ij48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5BY2N1ZWlsPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICA8bGkgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS01MzY2Ij48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3F1aS1zb21tZXMtbm91cy8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+UXVpIFNvbW1lcyBOb3VzPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICA8bGkgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gbWVudS1pdGVtLTU1OTcgcW9kZWYtbWVudS1pdGVtLS1uYXJyb3ciPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vbm9zLXNlcnZpY2VzLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5Ob3MgU2VydmljZXM8L3NwYW4+PC9zcGFuPjwvYT48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1hcnJvdyI+PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0icW9kZWYtZHJvcC1kb3duLXNlY29uZCI+PGRpdiBjbGFzcz0icW9kZWYtZHJvcC1kb3duLXNlY29uZC1pbm5lciI+PHVsIGNsYXNzPSJzdWItbWVudSI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTcwMzYiPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vYWNoYXQtaW5kdXN0cmllbC8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+QWNoYXQgSW5kdXN0cmllbDwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTU2NzUiPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vc291cmNpbmcvIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLWlubmVyIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLXRleHQiPlNvdXJjaW5nPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLTU2NjUiPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vbG9naXN0aXF1ZS8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+TG9naXN0aXF1ZTwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS01NjY3Ij48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL2V4cG9ydC1pbnRlcm5hdGlvbmFsLXRyYW5zcG9ydC8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+RXhwb3J0IEludGVybmF0aW9uYWwvVHJhbnNwb3J0PC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tNTY3NyI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9zdXBwbHktY2hhaW4vIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLWlubmVyIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLXRleHQiPlN1cHBseSBjaGFpbjwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPjwvZGl2PjwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIG1lbnUtaXRlbS02NzA4IHFvZGVmLW1lbnUtaXRlbS0tbmFycm93Ij48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3NlY3RldXJzLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5TZWN0ZXVycyBkJ2FjdGl2aXRlPC9zcGFuPjwvc3Bhbj48L2E+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtYXJyb3ciPjwvc3Bhbj4KICAgICAgICAgIDxkaXYgY2xhc3M9InFvZGVmLWRyb3AtZG93bi1zZWNvbmQiPjxkaXYgY2xhc3M9InFvZGVmLWRyb3AtZG93bi1zZWNvbmQtaW5uZXIiPjx1bCBjbGFzcz0ic3ViLW1lbnUiPgogICAgICAgICAgICA8bGkgY2x
121hc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS01NTg3Ij48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL2Fncm9hbGltZW50YWlyZS8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+QWdyb2FsaW1lbnRhaXJlPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tNTY1NCI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9idHAvIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLWlubmVyIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLXRleHQiPkJUUDwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTU2NTMiPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vbWluaWVyLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5NaW5pZXI8L3NwYW4+PC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8bGkgY2x
121hc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS01NjUyIj48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3BldHJvbGllci8iPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0taW5uZXIiPjxzcGFuIGNsYXNzPSJxb2RlZi1tZW51LWl0ZW0tdGV4dCI+UGV0cm9saWVyPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tNTY1NSI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9lbmVyZ2llLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5FbmVyZ2llPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tNjMxNyI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9hdXRvbW9iaWxlLyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5BdXRvbW9iaWxlPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tNjMxNiI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9hZXJvbmF1dGlxdWUvIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLWlubmVyIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLXRleHQiPkFlcm9uYXV0aXF1ZTwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTYzMTgiPjxhIGhyZWY9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vZmVycm92aWFpcmUvIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLWlubmVyIj48c3BhbiBjbGFzcz0icW9kZWYtbWVudS1pdGVtLXRleHQiPkZlcnJvdmlhaXJlPC9zcGFuPjwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgIDwvdWw+PC9kaXY+PC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2x
121hc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS02NjAyIj48YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3JlY3J1dGVtZW50LyI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS1pbm5lciI+PHNwYW4gY2xhc3M9InFvZGVmLW1lbnUtaXRlbS10ZXh0Ij5SZWNydXRlbWVudDwvc3Bhbj48L3NwYW4+PC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L25hdj4KICAgIDxkaXYgY2xhc3M9InFvZGVmLXdpZGdldC1ob2xkZXIiPgogICAgICA8YSBocmVmPSJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL2NvbnRhY3QtdXMvIiBjbGFzcz0iZGV2aXMtZmFiIiBpZD0iaW5qZWN0ZWQtZGV2aXMtYnRuIj5ERU1BTkRFUiBVTiBERVZJUzwvYT4KICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldF9zdGFsX2NvcmVfc2lkZV9hcmVhX29wZW5lciBxb2RlZi1oZWFkZXItd2lkZ2V0LWFyZWEtb25lIj4KICAgICAgICA8YSBpdGVtcHJvcD0idXJsIiBjbGFzcz0icW9kZWYtc2lkZS1hcmVhLW9wZW5lciBxb2RlZi1zaWRlLWFyZWEtb3BlbmVyLS1wcmVkZWZpbmVkIiBocmVmPSIjIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJxb2RlZi1saW5lcyI+PHNwYW4gY2xhc3M9InFvZGVmLWxpbmUgcW9kZWYtbGluZS0xIj48L3NwYW4+PHNwYW4gY2xhc3M9InFvZGVmLWxpbmUgcW9kZWYtbGluZS0yIj48L3NwYW4+PHNwYW4gY2xhc3M9InFvZGVmLWxpbmUgcW9kZWYtbGluZS0zIj48L3NwYW4+PHNwYW4gY2xhc3M9InFvZGVmLWxpbmUgcW9kZWYtbGluZS00Ij48L3NwYW4+PHNwYW4gY2xhc3M9InFvZGVmLWxpbmUgcW9kZWYtbGluZS01Ij48L3NwYW4+PC9zcGFuPgogICAgICAgIDwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGlzRW5nbGlzaD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZy5zdGFydHNXaXRoKCdlbicpO3ZhciBiYXNlVXJsPSdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tJzt2YXIgZW5CYXNlPWJhc2VVcmwrJy9lbic7aWYoaXNFbmdsaXNoKXtoZWFkZXJJbm5lci5xdWVyeVNlbGVjdG9yQWxsKCcucW9kZWYtaGVhZGVyLW5hdmlnYXRpb24gYVtocmVmXScpLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGhyZWY9YS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtpZihocmVmJiZocmVmLnN0YXJ0c1dpdGgoYmFzZVVybCkmJiFocmVmLnN0YXJ0c1dpdGgoZW5CYXNlKSl7YS5ocmVmPWhyZWYucmVwbGFjZShiYXNlVXJsLGVuQmFzZSl9fSk7dmFyIGRldmlzQnRuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmplY3RlZC1kZXZpcy1idG4nKTtpZihkZXZpc0J0bil7ZGV2aXNCdG4uaHJlZj0naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS9lbi9jb250YWN0LXVzLyc7ZGV2aXNCdG4udGV4dENvbnRlbnQ9J1JFUVVFU1QgQSBRVU9URSd9fQp2YXIgY3VycmVudFVybD13aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKC9cLyQvLCcnKTt2YXIgbmF2TGlua3M9aGVhZGVySW5uZXIucXVlcnlTZWxlY3RvckFsbCgnLnFvZGVmLWhlYWRlci1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0gPiBhJyk7bmF2TGlua3MuZm9yRWFjaChmdW5jdGlvbihsaW5rKXt2YXIgbGlua1VybD1saW5rLmhyZWYucmVwbGFjZSgvXC8kLywnJyk7aWYobGlua1VybD09PWN1cnJlbnRVcmwpe2xpbmsucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjdXJyZW50LW1lbnUtaXRlbScpfQp2YXIgc3ViTGlua3M9bGluay5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zdWItbWVudSAubWVudS1pdGVtID4gYScpO3N1YkxpbmtzLmZvckVhY2goZnVuY3Rpb24oc3ViTGluayl7aWYoc3ViTGluay5ocmVmLnJlcGxhY2UoL1wvJC8sJycpPT09Y3VycmVudFVybCl7bGluay5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2N1cnJlbnQtbWVudS1hbmNlc3RvcicpO3N1YkxpbmsucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjdXJyZW50LW1lbnUtaXRlbScpfX0pfSl9LDEwMCl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYmFubmVyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xb2RlZi1pbnRlcmFjdGl2ZS1iYW5uZXJzJyk7aWYoIWJhbm5lcilyZXR1cm47aWYoIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdob21lJykpcmV0dXJuO2lmKHdpbmRvdy5pbm5lcldpZHRoPD0xMDI0KXJldHVybjt2YXIgaXRlbXM9YmFubmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5xb2RlZi1pYi1pdGVtJyk7aWYoaXRlbXMubGVuZ3RoPT09MClyZXR1cm47dmFyIGltYWdlc0hvbGRlcj1iYW5uZXIucXVlcnlTZWxlY3RvcignLnFvZGVmLWliLWltYWdlcy1ob2xkZXInKTt2YXIgY29udGVudEhvbGRlcj1iYW5uZXIucXVlcnlTZWxlY3RvcignLnFvZGVmLWliLWNvbnRlbnQtaG9sZGVyJyk7aWYoIWNvbnRlbnRIb2xkZXIpcmV0dXJuO3ZhciB0b3RhbD1pdGVtcy5sZW5ndGg7dmFyIHZpc2libGU9NTt2YXIgY3VycmVudD0wO3ZhciBiYW5uZXJXaWR0aD1iYW5uZXIub2Zmc2V0V2lkdGg7dmFyIGNvbHVtblB4PWJhbm5lcldpZHRoL3Zpc2libGU7aXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXtpdGVtLnN0eWxlLnNldFByb3BlcnR5KCd3aWR0aCcsY29sdW1uUHgrJ3B4JywnaW1wb3J0YW50Jyk7aXRlbS5zdHlsZS5zZXRQcm9wZXJ0eSgnbWF4LXdpZHRoJyxjb2x1bW5QeCsncHgnLCdpbXBvcnRhbnQnKTtpdGVtLnN0eWxlLnNldFByb3BlcnR5KCdmbGV4JywnMCAwICcrY29sdW1uUHgrJ3B4JywnaW1wb3J0YW50Jyl9KTtjb250ZW50SG9sZGVyLnN0eWxlLnNldFByb3BlcnR5KCdkaXNwbGF5J
121ywnZmxleCcsJ2ltcG9ydGFudCcpO2NvbnRlbnRIb2xkZXIuc3R5bGUuc2V0UHJvcGVydHkoJ2ZsZXgtZGlyZWN0aW9uJywncm93JywnaW1wb3J0YW50Jyk7Y29udGVudEhvbGRlci5zdHlsZS5zZXRQcm9wZXJ0eSgnZmxleC13cmFwJywnbm93cmFwJywnaW1wb3J0YW50Jyk7Y29udGVudEhvbGRlci5zdHlsZS5zZXRQcm9wZXJ0eSgndHJhbnNpdGlvbicsJ3RyYW5zZm9ybSAwLjRzIGVhc2UnLCdpbXBvcnRhbnQnKTtjb250ZW50SG9sZGVyLnN0eWxlLnNldFByb3BlcnR5KCd3aWR0aCcsKGNvbHVtblB4KnRvdGFsKSsncHgnLCdpbXBvcnRhbnQnKTtjb250ZW50SG9sZGVyLnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsJ3JlbGF0aXZlJywnaW1wb3J0YW50Jyk7Y29udGVudEhvbGRlci5zdHlsZS5zZXRQcm9wZXJ0eSgnd2lsbC1jaGFuZ2UnLCd0cmFuc2Zvcm0nLCdpbXBvcnRhbnQnKTtiYW5uZXIuc3R5bGUuc2V0UHJvcGVydHkoJ292ZXJmbG93JywnaGlkZGVuJywnaW1wb3J0YW50Jyk7YmFubmVyLnN0eWxlLnNldFByb3BlcnR5KCdwb3NpdGlvbicsJ3JlbGF0aXZlJywnaW1wb3J0YW50Jyk7dmFyIGl0ZW1IZWlnaHQ9d2luZG93LmlubmVySGVpZ2h0LTg2LTM1O2l0ZW1zLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7aXRlbS5zdHlsZS5zZXRQcm9wZXJ0eSgnaGVpZ2h0JyxpdGVtSGVpZ2h0KydweCcsJ2ltcG9ydGFudCcpO2l0ZW0uc3R5bGUuc2V0UHJvcGVydHkoJ21pbi1oZWlnaHQnLGl0ZW1IZWlnaHQrJ3B4JywnaW1wb3J0YW50Jyl9KTtiYW5uZXIuc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsaXRlbUhlaWdodCsncHgnLCdpbXBvcnRhbnQnKTtpZihpbWFnZXNIb2xkZXIpe2ltYWdlc0hvbGRlci5zdHlsZS5kaXNwbGF5PSdub25lJ30KaWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYW5uZXItbG9nby1vdmVybGF5Jykpe3ZhciBvdmVybGF5PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO292ZXJsYXkuaWQ9J2Jhbm5lci1sb2dvLW92ZXJsYXknO292ZXJsYXkuaW5uZXJIVE1MPSc8aW1nIHNyYz0iaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9sb2dvLXNsb2dhbi1zY2FsZWQucG5nIiBhbHQ9IkFUSSBFeHBvcnQiIC8+JztiYW5uZXIuYXBwZW5kQ2hpbGQob3ZlcmxheSl9CnZhciBjb2x1bW5CZ3M9W107aXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLGluZGV4KXtpdGVtLnN0eWxlLnBvc2l0aW9uPSdyZWxhdGl2ZSc7dmFyIGJnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2JnLmNsYXNzTmFtZT0naWItY29sdW1uLWJnJztiZy5zdHlsZS5jc3NUZXh0PSdwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lOycrJ2JhY2tncm91bmQtaW1hZ2U6dXJsKCJodHRwczovL2lrLmltYWdla2l0LmlvL3JubG9ubWd1by9QYWdlJTIwZGUlMjBndWFyZGUlMjA1MS5wbmciKTsnKydiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7JztpdGVtLmluc2VydEJlZm9yZShiZyxpdGVtLmZpcnN0Q2hpbGQpO2NvbHVtbkJncy5wdXNoKGJnKX0pO3ZhciBkaW1tZXJzPVtdO2l0ZW1zLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7dmFyIGRpbW1lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkaW1tZXIuc3R5bGUuY3NzVGV4dD0ncG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuM3MgZWFzZTt6LWluZGV4OjU7cG9pbnRlci1ldmVudHM6bm9uZSc7aXRlbS5hcHBlbmRDaGlsZChkaW1tZXIpO2RpbW1lcnMucHVzaChkaW1tZXIpfSk7aXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLGluZGV4KXtpdGVtLnN0eWxlLnRyYW5zaXRpb249J3RyYW5zZm9ybSAwLjM1cyBlYXNlLCBib3gtc2hhZG93IDAuMzVzIGVhc2UnO2l0ZW0uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsZnVuY3Rpb24oKXtpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKG90aGVyLGkpe2lmKGkhPT1pbmRleCl7ZGltbWVyc1tpXS5zdHlsZS5iYWNrZ3JvdW5kPSdyZ2JhKDAsMCwwLDAuODUpJ31lbHNle2RpbW1lcnNbaV0uc3R5bGUuYmFja2dyb3VuZD0ncmdiYSgwLDAsMCwwKSc7b3RoZXIuc3R5bGUudHJhbnNmb3JtPSdzY2FsZSgxLjA0KSc7b3RoZXIuc3R5bGUuekluZGV4PScxMCc7b3RoZXIuc3R5bGUub3ZlcmZsb3c9J3Zpc2libGUnO290aGVyLnN0eWxlLmJveFNoYWRvdz0nMCAwIDMwcHggcmdiYSgwLDAsMCwwLjgpJ319KX0pO2l0ZW0uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsZnVuY3Rpb24oKXtpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKG90aGVyLGkpe2RpbW1lcnNbaV0uc3R5bGUuYmFja2dyb3VuZD0ncmdiYSgwLDAsMCwwKSc7b3RoZXIuc3R5bGUudHJhbnNmb3JtPScnO290aGVyLnN0eWxlLnpJbmRleD0nJztvdGhlci5zdHlsZS5vdmVyZmxvdz0naGlkZGVuJztvdGhlci5zdHlsZS5ib3hTaGFkb3c9Jyd9KX0pfSk7dmFyIHByZXZCdG4sbmV4dEJ0bjtpZighYmFubmVyLnF1ZXJ5U2VsZWN0b3IoJy5pYi1uYXYtcHJldicpKXtwcmV2QnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO3ByZXZCdG4uaW5uZXJIVE1MPSdTQ1JPTEwnO3ByZXZCdG4uY2xhc3NOYW1lPSdpYi1zY3JvbGwtcGlsbCBpYi1uYXYtcHJldic7cHJldkJ0bi5zdHlsZS5jc3NUZXh0PSdwb3NpdGlvbjpmaXhlZDt0b3A6NTAlO2xlZnQ6MTBweDt6LWluZGV4Ojk5OTk7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZmRlYzAxO2NvbG9yOiMwMDA7cGFkZGluZzoxNXB4IDEwcHg7Ym9yZGVyLXJhZGl1czo1MHB4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzoycHg7Ym9yZGVyOm5vbmU7d3JpdGluZy1tb2RlOnZlcnRpY2FsLWxyO3RleHQtb3JpZW50YXRpb246dXByaWdodDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTthbmltYXRpb246c2Nyb2xsQm91bmNlTGVmdCAwLjlzIGVhc2UtaW4tb3V0IGluZmluaXRlOyc7bmV4dEJ0bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtuZXh0QnRuLmlubmVySFRNTD0nU0NST0xMJztuZXh0QnRuLmNsYXNzTmFtZT0naWItc2Nyb2xsLXBpbGwgaWItbmF2LW5leHQnO25leHRCdG4uc3R5bGUuY3NzVGV4dD0ncG9zaXRpb246Zml4ZWQ7dG9wOjUwJTtyaWdodDoxMHB4O3otaW5kZXg6OTk5OTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiNmZGVjMDE7Y29sb3I6IzAwMDtwYWRkaW5nOjE1cHggMTBweDtib3JkZXItcmFkaXVzOjUwcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjJweDtib3JkZXI6bm9uZTt3cml0aW5nLW1vZGU6dmVydGljYWwtbHI7dGV4dC1vcmllbnRhdGlvbjp1cHJpZ2h0O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2FuaW1hdGlvbjpzY3JvbGxCb3VuY2VSaWdodCAwLjlzIGVhc2UtaW4tb3V0IGluZmluaXRlOyc7YmFubmVyLmFwcGVuZENoaWxkKHByZXZCdG4pO2Jhbm5lci5hcHBlbmRDaGlsZChuZXh0QnRuKX1lbHNle3ByZXZCdG49YmFubmVyLnF1ZXJ5U2VsZWN0b3IoJy5pYi1uYXYtcHJldicpO25leHRCdG49YmFubmVyLnF1ZXJ5U2VsZWN0b3IoJy5pYi1uYXYtbmV4dCcpfQpmdW5jdGlvbiBhcHBseUxheW91dCgpe2Jhbm5lcldpZHRoPWJhbm5lci5vZmZzZXRXaWR0aDtjb2x1bW5QeD1iYW5uZXJXaWR0aC92aXNpYmxlO2l0ZW1zLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7aXRlbS5zdHlsZS5zZXRQcm9wZXJ0eSgnd2lkdGgnLGNvbHVtblB4KydweCcsJ2ltcG9ydGFudCcpO2l0ZW0uc3R5bGUuc2V0UHJvcGVydHkoJ21heC13aWR0aCcsY29sdW1uUHgrJ3B4JywnaW1wb3J0YW50Jyk7aXRlbS5zdHlsZS5zZXRQcm9wZXJ0eSgnZmxleCcsJzAgMCAnK2NvbHVtblB4KydweCcsJ2ltcG9ydGFudCcpfSk
1217Y29udGVudEhvbGRlci5zdHlsZS5zZXRQcm9wZXJ0eSgnd2lkdGgnLChjb2x1bW5QeCp0b3RhbCkrJ3B4JywnaW1wb3J0YW50Jyk7Y29udGVudEhvbGRlci5zdHlsZS5zZXRQcm9wZXJ0eSgndHJhbnNmb3JtJywndHJhbnNsYXRlWCgtJysoY3VycmVudCpjb2x1bW5QeCkrJ3B4KScsJ2ltcG9ydGFudCcpO3ZhciBuZXdJdGVtSGVpZ2h0PXdpbmRvdy5pbm5lckhlaWdodC04Ni0zNTtpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe2l0ZW0uc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsbmV3SXRlbUhlaWdodCsncHgnLCdpbXBvcnRhbnQnKTtpdGVtLnN0eWxlLnNldFByb3BlcnR5KCdtaW4taGVpZ2h0JyxuZXdJdGVtSGVpZ2h0KydweCcsJ2ltcG9ydGFudCcpfSk7YmFubmVyLnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLG5ld0l0ZW1IZWlnaHQrJ3B4JywnaW1wb3J0YW50Jyk7Y29sdW1uQmdzLmZvckVhY2goZnVuY3Rpb24oYmcsaSl7Ymcuc3R5bGUuYmFja2dyb3VuZFNpemU9KGNvbHVtblB4KnRvdGFsKSsncHggMTAwJSc7Ymcuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uPS0oY29sdW1uUHgqaSkrJ3B4IDAlJ30pO3ByZXZCdG4uc3R5bGUuZGlzcGxheT1jdXJyZW50PT09MD8nbm9uZSc6J2ZsZXgnO25leHRCdG4uc3R5bGUuZGlzcGxheT1jdXJyZW50Pj10b3RhbC12aXNpYmxlPydub25lJzonZmxleCd9CnByZXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7aWYoY3VycmVudD4wKXtjdXJyZW50LS07YXBwbHlMYXlvdXQoKX19KTtuZXh0QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2lmKGN1cnJlbnQ8dG90YWwtdmlzaWJsZSl7Y3VycmVudCsrO2FwcGx5TGF5b3V0KCl9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsYXBwbHlMYXlvdXQpO3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShhcHBseUxheW91dCl9KX0sNjAwKX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7aWYoIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdxb2RlZi1oZWFkZXItYXBwZWFyYW5jZS0tc3RpY2t5Jykpe2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgncW9kZWYtaGVhZGVyLWFwcGVhcmFuY2UtLXN0aWNreScpO2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgncW9kZWYtY29udGVudC1iZWhpbmQtaGVhZGVyJyl9fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtpZighZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhZ2UtaWQtMTAyNycpKXJldHVybjt2YXIgaGludD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtoaW50LmNsYXNzTmFtZT0nc2Nyb2xsLWRvd24taGludCc7aGludC5pbm5lckhUTUw9J1NDUk9MTCBET1dOJztoaW50LnN0eWxlLmN1cnNvcj0ncG9pbnRlcic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoaW50KTtmdW5jdGlvbiB1cGRhdGVIaW50KCl7aWYoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ21zLXZpZXdpbmctMicpKXtoaW50LnN0eWxlLm9wYWNpdHk9JzAnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSd9ZWxzZXtoaW50LnN0eWxlLm9wYWNpdHk9JzEnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nYXV0byd9fQpoaW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3ZhciBldmVudD1uZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicse2tleUNvZGU6NDAsd2hpY2g6NDAsYnViYmxlczohMH0pO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpfSk7dmFyIG9ic2VydmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKHVwZGF0ZUhpbnQpO29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WydjbGFzcyddfSk7dXBkYXRlSGludCgpfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtpZighZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhZ2UtaWQtNzAzMCcpKXJldHVybjt2YXIgaGludD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtoaW50LmNsYXNzTmFtZT0nc2Nyb2xsLWRvd24taGludCc7aGludC5pbm5lckhUTUw9J1NDUk9MTCBET1dOJztoaW50LnN0eWxlLmN1cnNvcj0ncG9pbnRlcic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoaW50KTtmdW5jdGlvbiB1cGRhdGVIaW50KCl7aWYoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ21zLXZpZXdpbmctMScpKXtoaW50LnN0eWxlLm9wYWNpdHk9JzAnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSd9ZWxzZXtoaW50LnN0eWxlLm9wYWNpdHk9JzEnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nYXV0byd9fQpoaW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3ZhciBldmVudD1uZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicse2tleUNvZGU6NDAsd2hpY2g6NDAsYnViYmxlczohMH0pO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpfSk7dmFyIG9ic2VydmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKHVwZGF0ZUhpbnQpO29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WydjbGFzcyddfSk7dXBkYXRlSGludCgpfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtpZighZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhZ2UtaWQtNTY2NycpKXJldHVybjt2YXIgaGludD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtoaW50LmNsYXNzTmFtZT0nc2Nyb2xsLWRvd24taGludCc7aGludC5pbm5lckhUTUw9J1NDUk9MTCBET1dOJztoaW50LnN0eWxlLmN1cnNvcj0ncG9pbnRlcic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoaW50KTtmdW5jdGlvbiB1cGRhdGVIaW50KCl7aWYoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ21zLXZpZXdpbmctMScpKXtoaW50LnN0eWxlLm9wYWNpdHk9JzAnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSd9ZWxzZXtoaW50LnN0eWxlLm9wYWNpdHk9JzEnO2hpbnQuc3R5bGUucG9pbnRlckV2ZW50cz0nYXV0byd9fQpoaW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3ZhciBldmVudD1uZXcgS2V5Ym9hcmRFdmVudCgna2V5ZG93bicse2tleUNvZGU6NDAsd2hpY2g6NDAsYnViYmxlczohMH0pO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpfSk7dmFyIG9ic2VydmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKHVwZGF0ZUhpbnQpO29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WydjbGFzcyddfSk7dXBkYXRlSGludCgpfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtpZighZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhZ2UtaWQtMjE3NCcpKXJldHVybjt2YXIgaGludD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtoaW50LmNsYXNzTmFtZT0nc2Nyb2xsLWRvd24taGludCc7aGludC5pbm5lckhUTUw9J1NDUk9MTCBET1dOJztoaW50LnN0eWxlLmN1cnNvcj0ncG9pbnRlcic7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoaW50KTtoaW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3dpbmRvdy5zY3JvbGxCeSh7dG9wOndpbmRvdy5pbm5lckhlaWdodCxiZWhhdmlvcjonc21vb3RoJ30pfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT4xMDApe2hpbnQuc3R5bGUub3BhY2l0eT0nMCc7aGludC5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJ31lbHNle2hpbnQuc3R5bGUub3BhY2l0eT0nMSc7aGludC5zdHlsZS5wb2ludGVyRXZlbnRzPSdhdXRvJ319KX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7aWYoIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdwYWdlLWlkLTU2NjUnKSlyZXR1cm47dmFyIHN0eWxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7c3R5bGUuaW5uZXJIVE1MPScubXMtc2VjdGlvbiB7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9Jztkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1zLXNlY3Rpb24nKS5mb3JFYWNoKGZ1bmN0aW9uKHNlY3Rpb24pe3NlY3Rpb24uc3R5bGUub3BhY2l0eT0nMSd9KX0sNjAwKX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7aWYoIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdwYWdlLWlkLTkyMycpKXJldHVybjtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHNlbGVjdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2F0Jyk7aWYoIXNlbGVjdClyZXR1cm47WzEsMjNdLmZvckVhY2goZnVuY3Rpb24oaWQpe3ZhciBvcHRpb249c2VsZWN0LnF1ZXJ5U2VsZWN0b3IoJ29wdGlvblt2YWx1ZT0iJytpZCsnIl0nKTtpZihvcHRpb24pb3B0aW9uLnJlbW92ZSgpO30pfSw1MDApfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGxpbmtzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJhbHRlcm5hdGUiXVtocmVmbGFuZ10nKTt2YXIgdXJscz17fTtsaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGwpe2lmKGwuaHJlZmxhbmc9PT0nZnItRlInfHxsLmhyZWZsYW5nPT09J2ZyJyl1cmxzLmZyPWwuaHJlZjtpZihsLmhyZWZsYW5nPT09J2VuLUdCJ3x8bC5ocmVmbGFuZz09PSdlbicpdXJscy5lbj1sLmhyZWZ9KTtpZighdXJscy5mcnx8IXVybHMuZW4pcmV0dXJuO3ZhciBpc0ZSPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nLnN0YXJ0c1dpdGgoJ2ZyJyk7dmFyIHRhcmdldFVybD1pc0ZSP3VybHMuZW46dXJscy5mcjt2YXIgdGFyZ2V0TGFiZWw9aXNGUj8nRU4nOidGUic7dmFyIGZsYWdTcmM9aXNGUj8naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvdHJhbnNsYXRlcHJlc3MtbXVsdGlsaW5ndWFsL2Fzc2V0cy9mbGFncy8xeDEvZW5fR0Iuc3ZnJzonaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvdHJhbnNsYXRlcHJlc3MtbXVsdGlsaW5ndWFsL2Fzc2V0cy9mbGFncy8xeDEvZnJfRlIuc3ZnJztmdW5jdGlvbiBidWlsZFN3aXRjaGVyKGV4dHJhQ2xhc3Mpe3ZhciBuYXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO25hdi5ocmVmPXRhcmdldFVybDtuYXYuY2xhc3NOYW1lPSdxb2RlZi1sYW5nLXN3aXRjaGVyICcrZXh0cmFDbGFzcztuYXYuc2V0QXR0cmlidXRlKCdkYXRhLW5vLXRyYW5zbGF0aW9uJywnJyk7bmF2LmlubmVySFRNTD0nPGltZyBsb2FkaW5nPSJsYXp5IiBzcmM9IicrZmxhZ1NyYysnIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHN0eWxlPSJib3JkZXItcmFkaXVzOjJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IiAvPjxzcGFuPicrdGFyZ2V0TGFiZWwrJzwvc3Bhbj4nO3JldHVybiBuYXZ9CnZhciBtb2JpbGVIZWFkZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FvZGVmLXBhZ2UtbW9iaWxlLWhlYWRlci1pbm5lcicpO3ZhciBoYW1idXJnZXI9bW9iaWxlSGVhZGVyP21vYmlsZUhlYWRlci5xdWVyeVNlbGVjdG9yKCcucW9kZWYtZnVsbHNjcmVlbi1tZW51LW9wZW5lcicpOm51bGw7aWYobW9iaWxlSGVhZGVyJiZoYW1idXJnZXIpe21vYmlsZUhlYWRlci5pbnNlcnRCZWZvcmUoYnVpbGRTd2l0Y2hlcigncW9kZWYtbGFuZy1tb2JpbGUnKSxoYW1idXJnZXIpfQp2YXIgZGVza3RvcEhlYWRlcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncW9kZWYtcGFnZS1oZWFkZXItaW5uZXInKTtpZihkZXNrdG9wSGVhZGVyKXtkZXNrdG9wSGVhZGVyLmFwcGVuZENoaWxkKGJ1aWxkU3dpdGNoZXIoJ3FvZGVmLWxhbmctZGVza3RvcCcpKX0KdmFyIHN0aWNreUhlYWRlcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucW9kZWYtaGVhZGVyLXN0aWNreS1pbm5lcicpO2lmKHN0aWNreUhlYWRlcil7c3RpY2t5SGVhZGVyLmFwcGVuZENoaWxkKGJ1aWxkU3dpdGNoZXIoJ3FvZGVmLWxhbmctZGVza3RvcCcpKX19LDYwMCl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxmdW5jdGlvbigpe2lmKHdpbmRvdy5pbm5lcldpZHRoPjEwMjQpcmV0dXJuO3ZhciBpbWFnZXM9WydodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L0Fncm8tbW9iaWxlLnBuZycsJ2h0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvQlRQLW1vYmlsZS5wbmcnLCdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L01pbmllci1tb2JpbGUucG5nJywnaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9QZXRyb2xpZXItbW9iaWxlLnBuZycsJ2h0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvRW5lcmdpZS1tb2JpbGUucG5nJywnaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9BdXRvLW1vYmlsZS5wbmcnLCdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L0Flcm8tbW9iaWxlLnBuZycsJ2h0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvRmVycm8tbW9iaWxlLnBuZyddO3ZhciBpc0lQYWQ9d2luZG93LmlubmVyV2lkdGg+PTc2ODt2YXIgaXRlbUhlaWdodD1pc0lQYWQ/JzcwMHB4JzonNTAwcHgnO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucW9kZWYtaWItaXRlbScpLmZvckVhY2goZnVuY3Rpb24oZWwpe2VsLnN0eWxlLnNldFByb3BlcnR5KCdtaW4taGVpZ2h0JyxpdGVtSGVpZ2h0LCdpbXBvcnRhbnQnKX0pO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xb2RlZi1pYi1pbWFnZS1ob2xkZXItcmVzcG9uc2l2ZScpLmZvckVhY2goZnVuY3Rpb24oZWwsaSl7aWYoaW1hZ2VzW2ldKXtlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1pbWFnZScsJ3VybCgnK2ltYWdlc1tpXSsnKScsJ2ltcG9ydGFudCcpO2VsLnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLGl0ZW1IZWlnaHQsJ2ltcG9ydGFudCcpO2VsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXNpemUnLCdjb3ZlcicsJ2ltcG9ydGFudCcpO2VsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXBvc2l0aW9uJywnY2VudGVyIGNlbnRlcicsJ2ltcG9ydGFudCcpO2VsLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLXJlcGVhdCcsJ25vLXJlcGVhdCcsJ2ltcG9ydGFudCcpfX0pO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xb2RlZi1pYi1pdGVtLXNtYWxsLWltYWdlIGltZycpLmZvckVhY2goZnVuY3Rpb24oaW1nKXtpbWcuc3R5bGUuc2V0UHJvcGVydHkoJ2Rpc3BsYXknLCdub25lJywnaW1wb3J0YW50Jyl9KX0sNjAwKX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7aWYod2luZG93LmlubmVyV2lkdGg+MTAyNClyZXR1cm47ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNjcm9sbC1kb3duLWhpbnQnKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXtlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnZGlzcGxheScsJ25vbmUnLCdpbXBvcnRhbnQnKX0pO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pYi1zY3JvbGwtcGlsbCcpLmZvckVhY2goZnVuY3Rpb24oZWwpe2VsLnN0eWxlLnNldFByb3BlcnR5KCdkaXNwbGF5J
121ywnbm9uZScsJ2ltcG9ydGFudCcpfSl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxmdW5jdGlvbigpe2lmKHdpbmRvdy5pbm5lcldpZHRoPjEwMjQpcmV0dXJuO2lmKCFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygncGFnZS1pZC0xMDI3JykpcmV0dXJuO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgdnNzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xb2RlZi12c3MtcmVzcG9uc2l2ZScpO2lmKCF2c3MpcmV0dXJuO3ZhciBjaGlsZHJlbj1BcnJheS5mcm9tKHZzcy5jaGlsZHJlbik7dmFyIGxhc3Q9Y2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoLTFdO3ZhciBzZWNvbmRMYXN0PWNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aC0yXTtpZihsYXN0JiZzZWNvbmRMYXN0KXt2c3MuaW5zZXJ0QmVmb3JlKGxhc3Qsc2Vjb25kTGFzdCl9fSw2MDApfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHN3aXBlcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZWxlbWVudG9yLWVsZW1lbnQtYzJlMzJlZSAucW9kZWYtcWktc3dpcGVyLWNvbnRhaW5lcicpO2lmKHN3aXBlciYmc3dpcGVyLnN3aXBlcil7c3dpcGVyLnN3aXBlci5zbGlkZVRvTG9vcCgwLDAsITEpfX0sMTIwMCl9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxmdW5jdGlvbigpe3ZhciBzcGxpdFNsaWRlclBhZ2VzPVs3MDMwLDEwMjcsNTY2Nyw1NjY1LDU2NjZdO3ZhciBvblNwbGl0UGFnZT1zcGxpdFNsaWRlclBhZ2VzLnNvbWUoZnVuY3Rpb24oaWQpe3JldHVybiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5pbmRleE9mKCdwYWdlLWlkLScraWQpIT09LTF9KTtpZighb25TcGxpdFBhZ2UpcmV0dXJuO2Z1bmN0aW9uIHN5bmNWaWRlb1Zpc2liaWxpdHkoKXt2YXIgc2VjdGlvbnM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1zLXJpZ2h0IC5tcy1zZWN0aW9uJyk7c2VjdGlvbnMuZm9yRWFjaChmdW5jdGlvbihzZWN0aW9uKXt2YXIgdmlkZW89c2VjdGlvbi5xdWVyeVNlbGVjdG9yKCd2aWRlbycpO2lmKCF2aWRlbylyZXR1cm47aWYoc2VjdGlvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2FjdGl2ZScpKXt2aWRlby5zdHlsZS5zZXRQcm9wZXJ0eSgndmlzaWJpbGl0eScsJ3Zpc2libGUnLCdpbXBvcnRhbnQnKTt2aWRlby5zdHlsZS5zZXRQcm9wZXJ0eSgnb3BhY2l0eScsJzEnLCdpbXBvcnRhbnQnKTtpZih2aWRlby5wYXVzZWQpdmlkZW8ucGxheSgpO31lbHNle3ZpZGVvLnN0eWxlLnNldFByb3BlcnR5KCd2aXNpYmlsaXR5JywnaGlkZGVuJywnaW1wb3J0YW50Jyk7dmlkZW8uc3R5bGUuc2V0UHJvcGVydHkoJ29wYWNpdHknLCcwJywnaW1wb3J0YW50Jyk7dmlkZW8ucGF1c2UoKX19KX0KdmFyIG9ic2VydmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKHN5bmNWaWRlb1Zpc2liaWxpdHkpO29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WydjbGFzcyddfSk7c2V0VGltZW91dChzeW5jVmlkZW9WaXNpYmlsaXR5LDYwMCk7c2V0VGltZW91dChzeW5jVmlkZW9WaXNpYmlsaXR5LDE1MDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJyxzeW5jVmlkZW9WaXNpYmlsaXR5KX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLGZ1bmN0aW9uKCl7dmFyIHNwbGl0U2xpZGVyUGFnZXM9WzcwMzAsMTAyNyw1NjY3LDU2NjUsNTY2Nl07dmFyIG9uU3BsaXRQYWdlPXNwbGl0U2xpZGVyUGFnZXMuc29tZShmdW5jdGlvbihpZCl7cmV0dXJuIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLmluZGV4T2YoJ3BhZ2UtaWQtJytpZCkhPT0tMX0pO2lmKCFvblNwbGl0UGFnZSlyZXR1cm47ZnVuY3Rpb24gaGFuZGxlVW5pZmllZExheW91dCgpe3ZhciBhY3RpdmVTZWN0aW9uPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tcy1sZWZ0IC5tcy1zZWN0aW9uLmFjdGl2ZScpO2lmKCFhY3RpdmVTZWN0aW9uKXJldHVybjt2YXIgaXNVbmlmaWVkPWFjdGl2ZVNlY3Rpb24uY2xhc3NMaXN0LmNvbnRhaW5zKCdxb2RlZi1tLXNsaWRlLXVuaWZpZWQnKTt2YXIgbXNMZWZ0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tcy1sZWZ0Jyk7dmFyIG1zUmlnaHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1zLXJpZ2h0Jyk7aWYoIW1zTGVmdHx8IW1zUmlnaHQpcmV0dXJuO2lmKGlzVW5pZmllZCl7bXNMZWZ0LnN0eWxlLnNldFByb3BlcnR5KCd3aWR0aCcsJzEwMCUnLCdpbXBvcnRhbnQnKTttc1JpZ2h0LnN0eWxlLnNldFByb3BlcnR5KCd3aWR0aCcsJzUwJScsJ2ltcG9ydGFudCcpO21zUmlnaHQuc3R5bGUuc2V0UHJvcGVydHkoJ29wYWNpdHknLCcwJywnaW1wb3J0YW50Jyk7bXNSaWdodC5zdHlsZS5zZXRQcm9wZXJ0eSgndmlzaWJpbGl0eScsJ2hpZGRlbicsJ2ltcG9ydGFudCcpO21zUmlnaHQuc3R5bGUuc2V0UHJvcGVydHkoJ3BvaW50ZXItZXZlbnRzJywnbm9uZScsJ2ltcG9ydGFudCcpfWVsc2V7bXNMZWZ0LnN0eWxlLnNldFByb3BlcnR5KCd3aWR0aCcsJzUwJScsJ2ltcG9ydGFudCcpO21zUmlnaHQuc3R5bGUuc2V0UHJvcGVydHkoJ3dpZHRoJywnNTAlJywnaW1wb3J0YW50Jyk7bXNSaWdodC5zdHlsZS5zZXRQcm9wZXJ0eSgnb3BhY2l0eScsJzEnLCdpbXBvcnRhbnQnKTttc1JpZ2h0LnN0eWxlLnNldFByb3BlcnR5KCd2aXNpYmlsaXR5JywndmlzaWJsZScsJ2ltcG9ydGFudCcpO21zUmlnaHQuc3R5bGUuc2V0UHJvcGVydHkoJ3BvaW50ZXItZXZlbnRzJywnYXV0bycsJ2ltcG9ydGFudCcpfX0KdmFyIG9ic2VydmVyPW5ldyBNdXRhdGlvbk9ic2VydmVyKGhhbmRsZVVuaWZpZWRMYXlvdXQpO29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WydjbGFzcyddfSk7c2V0VGltZW91dChoYW5kbGVVbmlmaWVkTGF5b3V0LDYwMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLGhhbmRsZVVuaWZpZWRMYXlvdXQpfSk7KGZ1bmN0aW9uKCl7dmFyIHZzc1BhZ2VJZHM9WydwYWdlLWlkLTEwMTU4JywncGFnZS1pZC0xMDQ3NicsJ3BhZ2UtaWQtMTA0NzcnLCdwYWdlLWlkLTEwNDc4J107aWYoIXZzc1BhZ2VJZHMuc29tZShmdW5jdGlvbihpZCl7cmV0dXJuIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGlkKX0pKXJldHVybjt2YXIgdnNzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hdGktdnNzJyk7dmFyIHRyYWNrTGVmdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXRpLXZzcy10cmFjay1pcy1sZWZ0Jyk7dmFyIHRyYWNrUmlnaHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmF0aS12c3MtdHJhY2staXMtcmlnaHQnKTt2YXIgcGFuZWxzVW5pZmllZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYXRpLXZzcy1wYW5lbC1pcy11bmlmaWVkJyk7dmFyIHBhbmVsQ292ZXIxPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5lbGVtZW50b3ItZWxlbWVudC03MzczMDgxJyl8fHBhbmVsc1VuaWZ
121pZWRbMF18fG51bGw7dmFyIHBhbmVsQ292ZXIyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5lbGVtZW50b3ItZWxlbWVudC04ZTQ1MjhhJyl8fG51bGw7aWYoIXZzc3x8IXRyYWNrTGVmdHx8IXRyYWNrUmlnaHQpcmV0dXJuO3ZhciBtcURlc2t0b3A9d2luZG93Lm1hdGNoTWVkaWEoJyhtaW4td2lkdGg6IDEwMjVweCknKTtmdW5jdGlvbiBpc0Rlc2t0b3AoKXtyZXR1cm4gbXFEZXNrdG9wLm1hdGNoZXN9CmZ1bmN0aW9uIGNsZWFySW5saW5lTW90aW9uKCl7W3RyYWNrTGVmdCx0cmFja1JpZ2h0LHBhbmVsQ292ZXIxLHBhbmVsQ292ZXIyXS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXtpZighZWwpcmV0dXJuO2VsLnN0eWxlLnRyYW5zZm9ybT0nJztlbC5zdHlsZS5vcGFjaXR5PScnO2VsLnN0eWxlLnBvaW50ZXJFdmVudHM9Jyd9KTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3dZPScnfQp2YXIgY3VycmVudFNuYXA9MDt2YXIgdG90YWxTbmFwcz1wYW5lbENvdmVyMj8yOjE7dmFyIGlzU25hcHBpbmc9ITE7dmFyIG1vdGlvbkNsZWFyZWQ9ITE7ZnVuY3Rpb24gZ2V0VnNzRG9jVG9wKCl7cmV0dXJuIHZzcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Ard2luZG93LnBhZ2VZT2Zmc2V0fQpmdW5jdGlvbiBlYXNlSW5PdXRDdWJpYyh0KXtyZXR1cm4gdDwwLjU/NCp0KnQqdDoxLU1hdGgucG93KC0yKnQrMiwzKS8yfQpmdW5jdGlvbiB1cGRhdGVQb3NpdGlvbnMoKXtpZighaXNEZXNrdG9wKCkpe2lmKCFtb3Rpb25DbGVhcmVkKXtjbGVhcklubGluZU1vdGlvbigpO21vdGlvbkNsZWFyZWQ9ITB9CnJldHVybn0KbW90aW9uQ2xlYXJlZD0hMTt2YXIgcHJvZ3Jlc3M9TWF0aC5tYXgoMCxNYXRoLm1pbigtdnNzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC93aW5kb3cuaW5uZXJIZWlnaHQsdG90YWxTbmFwcykpO3ZhciBwQT1NYXRoLm1pbihwcm9ncmVzcywxKTt2YXIgcEI9TWF0aC5tYXgoMCxwcm9ncmVzcy0xKTt2YXIgZUE9ZWFzZUluT3V0Q3ViaWMocEEpO3ZhciBlQj1lYXNlSW5PdXRDdWJpYyhwQik7dHJhY2tMZWZ0LnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgwKSc7dHJhY2tSaWdodC5zdHlsZS50cmFuc2Zvcm09J3RyYW5zbGF0ZVkoLTIwMHZoKSc7aWYocGFuZWxDb3ZlcjEpe3BhbmVsQ292ZXIxLnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgnKygoMS1lQSkqMTAwKSsndmgpJztwYW5lbENvdmVyMS5zdHlsZS5vcGFjaXR5PScxJztwYW5lbENvdmVyMS5zdHlsZS5wb2ludGVyRXZlbnRzPShlQT4wLjg1JiZwQjw9MCk/J2F1dG8nOidub25lJ30KaWYocGFuZWxDb3ZlcjIpe3BhbmVsQ292ZXIyLnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgnKygoMS1lQikqMTAwKSsndmgpJztwYW5lbENvdmVyMi5zdHlsZS5vcGFjaXR5PScxJztwYW5lbENvdmVyMi5zdHlsZS5wb2ludGVyRXZlbnRzPWVCPjAuODU/J2F1dG8nOidub25lJ30KaWYocHJvZ3Jlc3M+PS0wLjEmJnByb2dyZXNzPD10b3RhbFNuYXBzKzAuNSl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93WT0naGlkZGVuJ31lbHNle2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvd1k9Jyd9fQpmdW5jdGlvbiBzbmFwVG8oaW5kZXgpe2lmKCFpc0Rlc2t0b3AoKSlyZXR1cm47aWYoaXNTbmFwcGluZylyZXR1cm47aW5kZXg9TWF0aC5tYXgoMCxNYXRoLm1pbih0b3RhbFNuYXBzLGluZGV4KSk7aWYoaW5kZXg9PT1jdXJyZW50U25hcClyZXR1cm47Y3VycmVudFNuYXA9aW5kZXg7aXNTbmFwcGluZz0hMDt2YXIgdmg9d2luZG93LmlubmVySGVpZ2h0O3ZhciB0YXJnZXQ9Z2V0VnNzRG9jVG9wKCkrKGluZGV4KnZoKTt3aW5kb3cuc2Nyb2xsVG8oe3RvcDp0YXJnZXQsYmVoYXZpb3I6J3Ntb290aCd9KTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aXNTbmFwcGluZz0hMTt1cGRhdGVIaW50KCl9LDcwMCl9CnZhciBpc0xvZ2lzdGlxdWUyPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdwYWdlLWlkLTEwNDc3Jyk7dmFyIHZzc0hpbnQ9bnVsbDtpZighaXNMb2dpc3RpcXVlMil7dnNzSGludD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTt2c3NIaW50LmNsYXNzTmFtZT0nc2Nyb2xsLWRvd24taGludCc7dnNzSGludC50ZXh0Q29udGVudD0nU0NST0xMIERPV04nO3Zzc0hpbnQuc3R5bGUub3BhY2l0eT0nMCc7dnNzSGludC5zdHlsZS50cmFuc2l0aW9uPSdvcGFjaXR5IDAuM3MgZWFzZSc7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2c3NIaW50KTt2c3NIaW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe3NuYXBUbyhjdXJyZW50U25hcCsxKX0pfQpmdW5jdGlvbiB1cGRhdGVIaW50KCl7aWYoIXZzc0hpbnQpcmV0dXJuO3ZhciBwcm9ncmVzcz0tdnNzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcC93aW5kb3cuaW5uZXJIZWlnaHQ7dmFyIGluc2lkZVpvbmU9cHJvZ3Jlc3M+LTAuMiYmcHJvZ3Jlc3M8dG90YWxTbmFwcyswLjU7dmFyIG9uTGFzdFNuYXA9cHJvZ3Jlc3M+PXRvdGFsU25hcHMtMC4wNTt2YXIgc2hvdz1pc0Rlc2t0b3AoKSYmaW5zaWRlWm9uZSYmIW9uTGFzdFNuYXA7dmFyIHBhaXI9dnNzSGludC5wYXJlbnROb2RlJiZ2c3NIaW50LnBhcmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdhdGktcGlsbC1wYWlyJyk/dnNzSGludC5wYXJlbnROb2RlOm51bGw7dmFyIGhvc3Q9cGFpcnx8dnNzSGludDtob3N0LnN0eWxlLm9wYWNpdHk9c2hvdz8nMSc6JzAnO2hvc3Quc3R5bGUucG9pbnRlckV2ZW50cz1zaG93PydhdXRvJzonbm9uZSc7aWYocGFpcilwYWlyLmNsYXNzTGlzdC50b2dnbGUoJ2F0aS1waWxsLXBhaXItLXBhaXJlZCcscHJvZ3Jlc3M+PTAuNSk7fQp2YXIgd2hlZWxUaW1lcj1udWxsO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsZnVuY3Rpb24oZSl7aWYoIWlzRGVza3RvcCgpKXJldHVybjt2YXIgcmVjdD12c3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHZoPXdpbmRvdy5pbm5lckhlaWdodDt2YXIgcHJvZ3Jlc3M9LXJlY3QudG9wL3ZoO2lmKHByb2dyZXNzPC0wLjJ8fHByb2dyZXNzPnRvdGFsU25hcHMrMC41KXJldHVybjtlLnByZXZlbn
121REZWZhdWx0KCk7aWYod2hlZWxUaW1lcilyZXR1cm47d2hlZWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2hlZWxUaW1lcj1udWxsfSwxMzApO3NuYXBUbyhlLmRlbHRhWT4wP2N1cnJlbnRTbmFwKzE6Y3VycmVudFNuYXAtMSl9LHtwYXNzaXZlOiExfSk7dmFyIHRvdWNoU3RhcnRZPTA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLGZ1bmN0aW9uKGUpe3RvdWNoU3RhcnRZPWUudG91Y2hlc1swXS5jbGllbnRZfSx7cGFzc2l2ZTohMH0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsZnVuY3Rpb24oZSl7aWYoIWlzRGVza3RvcCgpKXJldHVybjt2YXIgcmVjdD12c3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHZoPXdpbmRvdy5pbm5lckhlaWdodDt2YXIgcHJvZ3Jlc3M9LXJlY3QudG9wL3ZoO2lmKHByb2dyZXNzPC0wLjJ8fHByb2dyZXNzPnRvdGFsU25hcHMrMC41KXJldHVybjt2YXIgZHk9dG91Y2hTdGFydFktZS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZO2lmKE1hdGguYWJzKGR5KTwzMClyZXR1cm47c25hcFRvKGR5PjA/Y3VycmVudFNuYXArMTpjdXJyZW50U25hcC0xKX0se3Bhc3NpdmU6ITB9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoIWlzRGVza3RvcCgpKXJldHVybjt2YXIgcmVjdD12c3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHZoPXdpbmRvdy5pbm5lckhlaWdodDt2YXIgcHJvZ3Jlc3M9LXJlY3QudG9wL3ZoO2lmKHByb2dyZXNzPC0wLjJ8fHByb2dyZXNzPnRvdGFsU25hcHMrMC41KXJldHVybjtpZihlLmtleT09PSdBcnJvd0Rvd24nfHxlLmtleT09PSdQYWdlRG93bid8fGUua2V5PT09JyAnKXtlLnByZXZlbnREZWZhdWx0KCk7c25hcFRvKGN1cnJlbnRTbmFwKzEpfWVsc2UgaWYoZS5rZXk9PT0nQXJyb3dVcCd8fGUua2V5PT09J1BhZ2VVcCcpe2UucHJldmVudERlZmF1bHQoKTtzbmFwVG8oY3VycmVudFNuYXAtMSl9fSk7dmFyIHRpY2tpbmc9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsZnVuY3Rpb24oKXtpZih0aWNraW5nKXJldHVybjt0aWNraW5nPSEwO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt1cGRhdGVQb3NpdGlvbnMoKTt1cGRhdGVIaW50KCk7dGlja2luZz0hMX0pfSx7cGFzc2l2ZTohMH0pO2Z1bmN0aW9uIHN5bmNUb1Njcm9sbFBvc2l0aW9uKCl7aWYoIWlzRGVza3RvcCgpKXtjbGVhcklubGluZU1vdGlvbigpO3JldHVybn0KdmFyIHZoPXdpbmRvdy5pbm5lckhlaWdodDt2YXIgcmVjdD12c3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHByb2dyZXNzPU1hdGgubWF4KDAsLXJlY3QudG9wL3ZoKTtjdXJyZW50U25hcD1NYXRoLnJvdW5kKE1hdGgubWluKHByb2dyZXNzLHRvdGFsU25hcHMpKTt1cGRhdGVQb3NpdGlvbnMoKTt1cGRhdGVIaW50KCl9CmlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtzeW5jVG9TY3JvbGxQb3NpdGlvbigpfWVsc2V7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHN5bmNUb1Njcm9sbFBvc2l0aW9uKX0Kd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsdXBkYXRlUG9zaXRpb25zKTtpZihtcURlc2t0b3AuYWRkRXZlbnRMaXN0ZW5lcil7bXFEZXNrdG9wLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsZnVuY3Rpb24oKXtjdXJyZW50U25hcD0wO2lmKGlzRGVza3RvcCgpKXtzeW5jVG9TY3JvbGxQb3NpdGlvbigpfWVsc2V7Y2xlYXJJbmxpbmVNb3Rpb24oKTt1cGRhdGVIaW50KCl9fSl9fSkoKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxmdW5jdGlvbigpe2lmKCFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygncGFnZS1pZC0xMDIyMicpKXJldHVybjt2YXIgYmFubmVyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xb2RlZi1pbnRlcmFjdGl2ZS1iYW5uZXJzJyk7aWYoIWJhbm5lcilyZXR1cm47dmFyIHdpZGdldENvbnRhaW5lcj1iYW5uZXIuY2xvc2VzdCgnLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyJyk7aWYoIXdpZGdldENvbnRhaW5lcilyZXR1cm47dmFyIGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtjb250YWluZXIuY2xhc3NOYW1lPSdhdGktaG9tZS12aWRlby1jb250YWluZXInO3ZhciB2aWRlbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpO3ZpZGVvLnNyYz0naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOC9ub3V2ZWxsZS12aWRlby1kZS1nYXJkZTQubXA0Jzt2aWRlby5hdXRvcGxheT0hMDt2aWRlby5tdXRlZD0hMDt2aWRlby5sb29wPSEwO3ZpZGVvLnBsYXlzSW5saW5lPSEwO2NvbnRhaW5lci5hcHBlbmRDaGlsZCh2aWRlbyk7d2lkZ2V0Q29udGFpbmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lcil9KQ==" defer></script>
121<style class="wpcode-css-snippet">/* ============================================================ 122 ATI EXPORT - ADDITIONAL CSS 123 Breakpoints: 480px | 768px | 1024px | 1279px | 1280px+ 124 Brand: Yellow #fdec01 | Red #e1312d | Black #000000 125 ------------------------------------------------------------ 126 HOW TO FIND THINGS IN THIS FILE 127 Every rule block carries a [TAG]. Ctrl+F the tag to jump to it. 128 Tag format: [AREA-WHAT] - AREA = page/section, WHAT = the job. 129 130 TAG INDEX 131 [GLOBAL-*] 1. Global / page wrapper 132 [HDR-*] 2. Header desktop 133 [STICKY-*] 3. Header sticky 134 [MOBHDR-*] 4. Header mobile 135 [LANG-*] 5. Language switcher 136 [DEVIS-*] 6. Demande de devis button 137 [BANNER-*] 7. Homepage banner (sector cards) 138 [MARQUEE-*] 8. Logos carousel 139 [HERO-*] 9. Inner page heroes 140 [SPLIT-*] 10. Split slider pages (old stack - delete Phase 7) 141 [QSN-*] 11. Qui Sommes Nous 142 [ICONS-*] 12. Sector pages icon rows 143 [SIDENAV-*] 13. Secteurs sidebar nav 144 [FORM-*] 14. Forms (CF7) 145 [JOBS-*] 15. Recrutement jobs table 146 [FOOTER-*] 16. Footer 147 [ACTU-*] 17. Actualites page 148 [VSS-*] 18. New VSS pages (10158) 149 [VIDHOME-*] 19. Homepage video variant (10222) 150 ============================================================ */ 151 152 153/* ============================================================ 154 1. GLOBAL / PAGE WRAPPER 155 ============================================================ */ 156 157/* [GLOBAL-MINHEIGHT] Fill full viewport to prevent gap at bottom */ 158#qodef-page-wrapper { 159 min-height: 100vh !important; 160} 161 162/* [GLOBAL-GAPFIX] Remove theme gap below inner page hero. 163 NOTE: the 10px here is what VSS must zero out - see [VSS-PADRESET]. */ 164#qodef-page-content { 165 padding-top: 10px !important; 166} 167#qodef-page-inner { 168 padding-top: 0 !important; 169} 170.qodef-page-content-section { 171 padding-top: 0 !important; 172} 173 174/* [GLOBAL-STRETCHFLASH] Fix Elementor full-width section flash on load */ 175.elementor-section.elementor-section-stretched { 176 width: 100vw !important; 177 max-width: 100vw !important; 178 margin-left: calc(-1 * (100vw - 100%) / 2) !important; 179} 180 181/* [GLOBAL-BACKTOTOP] Back to top button - moved to bottom left */ 182#qodef-back-to-top { 183 left: 30px !important; 184 right: auto !important; 185} 186 187 188/* ============================================================ 189 2. HEADER - DESKTOP 190 ============================================================ */ 191 192/* [HDR-HIDETOP] Hide theme top bar and search icon */ 193#qodef-top-area { 194 display: none !important; 195} 196.qodef-header-search-opener, 197.qodef-search-opener, 198#qodef-search-opener { 199 display: none !important; 200} 201 202/* [HDR-INNERFLEX] Header inner: flex row, logo pinned left. 203 Session 38: extended to .qodef-header-sticky-inner too. The sticky header 204 is a separate DOM subtree from the standard one (see [HDR-LOGO-VSS]'s 205 note) and was never given this flex/alignment treatment. Standard is the 206 source of truth here (opposite direction from [DEVIS-BASE]'s Session 38 207 resize, where sticky was the source). CONFIRMED CORRECT AND NECESSARY by 208 live measurement: with this in place, `#qodef-page-header-inner` and 209 `.qodef-header-sticky-inner` measured pixel-identical (same left/width/ 210 display/position). It just wasn't the *whole* fix - see [STICKY-NAVHOME] 211 for the other, separate 26px this session tracked down the same way. */ 212#qodef-page-header-inner, 213.qodef-header-sticky-inner { 214 display: flex !important; 215 align-items: center !important; 216 justify-content: flex-start !important; 217 position: relative !important; 218} 219 220/* [HDR-INNERWIDTH] Fix header width on inner pages (not homepage). 221 Session 38: same extension to .qodef-header-sticky-inner as above. */ 222.page:not(.home) #qodef-page-header-inner, 223.single #qodef-page-header-inner, 224.page:not(.home) .qodef-header-sticky-inner, 225.single .qodef-header-sticky-inner { 226 width: 100% !important; 227 max-width: 100% !important; 228} 229 230/* [HDR-LOGO] Logo sizing and spacing */ 231.qodef-header-logo-link { 232 flex-shrink: 0 !important; 233 margin-right: 30px !important; 234} 235.qodef-header-logo-link img { 236 max-width: 80px !important; 237 height: auto !important; 238} 239.home .qodef-header-logo-link { 240 margin-left: -40px !important; 241} 242/* [HDR-LOGO-VSS] Session 35 - the VSS pages are :not(.home), so they miss the 243 homepage's -40px logo pull and their STANDARD header logo sits 40px too far 244 right. Match the homepage on the 4 VSS pages, plus Mentions Legales 245 (page-id-10926, Session 41). 246 REVERTED a broader `body:not(.home)` version same session, same day - it 247 regressed Supply Chain (page-id-2504) and likely every other normal inner 248 page (Qui Sommes Nous, sector pages, etc.): those pages were NEVER broken 249 without the pull, so ":not(.home)" was the wrong root cause. Whatever 250 actually makes VSS pages + this new page need the pull isn't simply 251 "not home" - most :not(.home) pages are fine without it. Back to an 252 explicit list until the real shared cause is found; add new page IDs here 253 ONE AT A TIME, only after confirming that page's logo is actually 254 crowding its nav, not preemptively. 255 Session 35b: scoped to `#qodef-page-header-inner` (the STANDARD header inner) 256 ONLY. The first version targeted a bare `.qodef-header-logo-link`, which also 257 hit the STICKY header's own logo (a separate `.qodef-header-sticky` subtree, 258 already correctly positioned) and pulled it off the left edge. The sticky
259 header must stay untouched - do not broaden this selector again. */ 260body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478, .page-id-10926) #qodef-page-header-inner .qodef-header-logo-link { 261 margin-left: -40px !important; 262} 263 264/* [HDR-NAV] Navigation container. 265 WARNING: padding-right:400px below is the source of the site-wide 266 66px horizontal overflow. Normally clipped by #qodef-page-wrapper 267 overflow:hidden - but VSS pages remove that, see [VSS-OVERFLOWCLIP]. */ 268.qodef-header-navigation { 269 flex: 1 !important; 270 width: auto !important; 271 box-sizing: border-box !important; 272 padding-right: 175px !important; 273} 274.qodef-header-navigation .menu { 275 display: flex !important; 276 justify-content: flex-end !important; 277 gap: 30px !important; 278 padding: 0 !important; 279 margin: 0 !important; 280 list-style: none !important; 281} 282.qodef-header-navigation .menu > li { 283 flex: 0 0 auto !important; 284 text-align: left !important; 285} 286.qodef-header-navigation .menu > li > a { 287 color: #ffffff !important; 288 opacity: 1 !important; 289} 290.qodef-header-navigation .menu > li > a:hover { 291 color: #fdec01 !important; 292} 293 294/* [HDR-NAVPAD] Inner pages - extra right padding for the extra nav item */ 295#qodef-page-header-inner .qodef-header-navigation { 296 padding-right: 400px !important; 297} 298 299/* [HDR-WIDGETHOLDER] Widget holder - the Devis button + headset icon area */ 300.qodef-widget-holder { 301 display: flex !important; 302 align-items: center !important; 303 gap: 10px !important; 304 position: absolute !important; 305 right: 55px !important; 306 z-index: 10 !important; 307 flex-shrink: 0 !important; 308} 309 310/* [HDR-HEADSET] Headset icon - hide theme's line-bars, inject FA icon */ 311.qodef-side-area-opener--predefined { 312 display: none !important; 313} 314.qodef-side-area-opener--predefined .qodef-lines { 315 display: none !important; 316} 317.qodef-side-area-opener--predefined::before { 318 font-family: "Font Awesome 5 Free" !important; 319 content: "\f590" !important; 320 font-weight: 900 !important; 321 font-size: 20px !important; 322 color: #000000 !important; 323} 324 325/* [HDR-BLACKBG] Header background - black on all pages */ 326#qodef-page-header { 327 background-color: #000000 !important; 328} 329.home #qodef-page-header-inner .qodef-header-navigation { 330 padding-right: 300px !important; 331} 332 333/* [HDR-DROPDOWN] Dropdown arrow + hover colors */ 334.qodef-header-sticky .qodef-menu-arrow { 335 color: #1a1a1a !important; 336} 337.qodef-drop-down-second .menu-item a:hover .qodef-menu-item-text, 338.qodef-drop-down-second .current-menu-item > a .qodef-menu-item-text { 339 color: #e1312d !important; 340} 341 342/* [HDR-SPLITPAGES] Split-slider pages - nav padding + widget holder reset. 343 TO DELETE in Phase 7 once old stack is gone. */ 344body.page-id-7030 #qodef-page-header-inner .qodef-header-navigation, 345body.page-id-1027 #qodef-page-header-inner .qodef-header-navigation, 346body.page-id-5667 #qodef-page-header-inner .qodef-header-navigation, 347body.page-id-5665 #qodef-page-header-inner .qodef-header-navigation, 348body.page-id-5666 #qodef-page-header-inner .qodef-header-navigation { 349 padding-right: 400px !important; 350} 351body.page-id-7030 .qodef-widget-holder, 352body.page-id-1027 .qodef-widget-holder, 353body.page-id-5667 .qodef-widget-holder, 354body.page-id-5665 .qodef-widget-holder, 355body.page-id-5666 .qodef-widget-holder { 356 margin-right: 0 !important; 357} 358 359 360/* ============================================================ 361 3. HEADER - STICKY 362 ============================================================ */ 363 364/* [STICKY-BG] Sticky header background - black */ 365.qodef-header-sticky, 366.qodef-header-sticky-inner { 367 background-color: #000000 !important; 368} 369 370/* [STICKY-NAV] Sticky header nav colors + padding */ 371.qodef-header-sticky .qodef-header-navigation .menu > li > a { 372 color: #ffffff !important; 373} 374.qodef-header-sticky .qodef-header-navigation { 375 padding-right: 400px !important; 376} 377 378/* [STICKY-NAVHOME] Session 38 - the actual, confirmed-by-measurement cause 379 of "sticky header nav sits right of the standard header's": the theme 380 gives every top-level nav <li> `padding: 0 26px` by default, and only the 381 STANDARD header has a theme rule zeroing the first item's padding-left 382 (confirmed live: identical "Accueil" markup in both headers, but computed 383 padding-left was 0 on standard vs 26px on sticky - every other item was
384 byte-identical between the two). That one extra 26px on "Accueil" was the 385 entire gap. Fixes it directly instead of guessing at the container/flex 386 properties again (see [HDR-INNERFLEX]/[HDR-INNERWIDTH], which fixed a 387 real but separate issue earlier this session - the two header containers 388 are now confirmed pixel-identical; this was the one remaining piece). */ 389.qodef-header-sticky .qodef-header-navigation .menu > li:first-child { 390 padding-left: 0 !important; 391} 392 393/* [STICKY-DEVIS] RETIRED Session 38 - the sticky and standard headers now 394 share one .devis-fab size (see [DEVIS-BASE]), so this override became a 395 no-op. Left as a marker in case a future session wants the sticky button 396 smaller again; nothing currently depends on it. */ 397 398/* [STICKY-CONTACTICON] Contact icon shrinks in the sticky header, same 399 treatment as [STICKY-DEVIS] */ 400.qodef-header-sticky .contact-fab { 401 width: 32px !important; 402 height: 32px !important; 403} 404.qodef-header-sticky .contact-fab svg { 405 width: 15px !important; 406 height: 15px !important; 407} 408 409 410/* ============================================================ 411 4. HEADER - MOBILE 412 ============================================================ */ 413 414/* [MOBHDR-BG] Mobile header bar background */ 415#qodef-page-mobile-header { 416 background-color: #000000 !important; 417} 418 419/* [MOBHDR-OPENER] Hamburger opener colors (idle / hover / open) */ 420.qodef-fullscreen-menu-opener { 421 color: #ffffff !important; 422} 423.qodef-fullscreen-menu-opener:hover, 424.qodef-fullscreen-menu-opener:active, 425.qodef-fullscreen-menu-opener.qodef-menu-is-open { 426 color: #fdec01 !important; 427} 428.qodef-fullscreen-menu-opener .qodef-close-icon { 429 color: #000000 !important; 430} 431 432/* [MOBHDR-LINES] Side-area opener line-bars - force black */ 433.qodef-side-area-opener .qodef-line, 434#qodef-page-mobile-header .qodef-line { 435 background-color: #000000 !important; 436} 437 438/* [MOBHDR-PANEL] Open mobile menu panel - white bg, dark text */ 439#qodef-page-mobile-header .qodef-m-inner { 440 background-color: #ffffff !important; 441} 442#qodef-page-mobile-header .qodef-m-inner .qodef-menu-item-inner, 443#qodef-page-mobile-header .qodef-m-inner a { 444 color: #1a1a1a !important; 445} 446#qodef-page-mobile-header .qodef-m-inner .current-menu-item a, 447#qodef-page-mobile-header .qodef-m-inner .current-menu-ancestor > a, 448#qodef-page-mobile-header .qodef-m-inner .current-menu-parent > a { 449 color: #fdec01 !important; 450} 451 452 453/* ============================================================ 454 5. LANGUAGE SWITCHER 455 Injected by Custom JS into desktop, sticky and mobile headers. 456 ============================================================ */ 457 458/* [LANG-BASE] Switcher pill - shared styling */ 459.qodef-lang-switcher { 460 display: flex; 461 align-items: center; 462 gap: 6px; 463 color: #ffffff !important; 464 text-decoration: none !important; 465 font-size: 13px; 466 font-weight: 700; 467 letter-spacing: 1px; 468 cursor: pointer; 469} 470.qodef-lang-switcher span { 471 color: #ffffff !important; 472} 473 474/* [LANG-MOBILE] Mobile placement - sits inline before the hamburger */ 475.qodef-lang-mobile { 476 flex: 1; 477 justify-content: center; 478} 479 480/* [LANG-DESKTOP] Desktop placement - absolute, vertically centred right */ 481.qodef-lang-desktop { 482 position: absolute; 483 top: 50%; 484 transform: translateY(-50%); 485 right: 26px; 486} 487 488/* [LANG-BREAKPOINT] Show one, hide the other - 1024px split */ 489@media (min-width: 1025px) { 490 .qodef-lang-mobile { display: none !important; } 491} 492@media (max-width: 1024px) { 493 .qodef-lang-desktop { display: none !important; } 494} 495 496 497/* ============================================================ 498 6. DEMANDE DE DEVIS BUTTON 499 Injected by Custom JS into every .qodef-widget-holder. 500 ============================================================ */ 501 502/* [DEVIS-BASE] Button - yellow outline, transparent fill. 503 Session 38: resized to match what [STICKY-DEVIS] used to shrink it to in 504 the sticky header (200px/13px/15px padding -> 160px/11px/10px padding) - 505 the two headers now use one size. Requested once the contact icon was 506 added and made the standard header's larger button crowd the nav. */ 507.devis-fab { 508 position: relative !important; 509 bottom: auto !important; 510 right: auto !important; 511 width: 160px !important; 512 height: 45px !important; 513 border-radius: 4px !important; 514 border: 2px solid #fdec01 !important; 515 background-color: transparent !important; 516 color: #ffffff !important; 517 font-size: 11px !important; 518 font-weight: 700 !important; 519 letter-spacing: 0.5px !important; 520 text-decoration: none !important; 521 display: inline-flex !important; 522 align-items: center !important; 523 justify-content: space-between !important; 524 padding: 0 10px !important; 525 box-shadow: none !important; 526 transition: background-color 0.2s ease, color 0.2s ease !important; 527 z-index: 10 !important; 528} 529 530/* [DEVIS-HOVER] Invert on hover - yellow fill, black text */ 531.devis-fab:hover { 532 background-color: #fdec01 !important; 533 color: #000000 !important; 534} 535 536/* [DEVIS-ARROW] Trailing arrow icon. Restored Session 28 - regression: this 537 rule was entirely missing (button had zero icon markup, [DEVIS-BASE]'s 538 justify-content:space-between was pushing against nothing). Same pattern 539 as the working [HDR-HEADSET] icon - requires Font Awesome 5 Free to be 540 enqueued site-wide. DIAGNOSED Session 28: document.styleSheets currently 541 contains ZERO Font Awesome stylesheets - this and [HERO-SCROLLHINT-ARROW] 542 and [HDR-HEADSET] will all stay invisible until that's fixed in wp-admin 543 (check WPCode Code Snippets and Stal Core theme options - qode-optimizer 544 is active site-wide and is the prime suspect for stripping/deferring it 545 as "unused" CSS/JS). This CSS is correct and ready the moment FA loads. */ 546.devis-fab::after { 547 font-family: "Font Awesome 5 Free" !important; 548 font-weight: 900 !important; 549 content: "\f061" !important; 550 font-size: 13px !important; 551} 552 553/* [HDR-CONTACTICON] Session 37 - circular "contact" icon in the header 554 widget holder, injected by [JS-CONTACTICON] right after the Devis button. 555 Links straight to the CF7 form on Qui Sommes Nous, reusing the form's own 556 auto-generated id (#wpcf7-f9472-p2174-o1 - the fragment CF7 already puts 557 in its own <form action> for post-submit scroll-back) instead of adding a 558 new Elementor anchor. Deliberately an inline SVG, not Font Awesome, so it 559 renders regardless of the known site-wide FA loading bug (see Known 560 Gotchas / Pending backlog) - unlike [HDR-HEADSET] and [DEVIS-ARROW], this 561 one doesn't have to wait for that fix. */ 562.contact-fab { 563 display: inline-flex !important; 564 align-items: center !important; 565 justify-content: center !important; 566 width: 38px !important; 567 height: 38px !important; 568 border-radius: 50% !important; 569 border: 2px solid #fdec01 !important; 570 background-color: transparent !important; 571 color: #ffffff !important; 572 flex-shrink: 0 !important; 573 transition: background-color 0.2s ease, color 0.2s ease !important; 574} 575.contact-fab:hover { 576 background-color: #fdec01 !important; 577 color: #000000 !important; 578} 579.contact-fab svg { 580 width: 18px !important; 581 height: 18px !important; 582 display: block !important; 583} 584 585 586/* ============================================================ 587 7. HOMEPAGE BANNER (SECTOR CARDS) 588 Layout is owned by Custom JS ("Homepage interactive banners"), 589 which is gated on body.home - so none of the .home rules below 590 fire on the video-variant clone (10222). See section 19. 591 ============================================================ */ 592 593/* [BANNER-FULLWIDTH] Force banner section to full viewport width */ 594.elementor-element-e542973 { 595 width: 100vw !important; 596 max-width: 100vw !important; 597 left: 0 !important; 598 margin-left: 0 !important; 599 position: relative !important; 600} 601.elementor-element-e542973 .elementor-container { 602 max-width: 100% !important; 603 width: 100% !important; 604} 605.elementor-element-e542973 .elementor-col-100, 606.elementor-element-e542973 .elementor-widget-wrap { 607 width: 100% !important; 608 max-width: 100% !important; 609} 610 611/* [BANNER-HEIGHT] Desktop height = viewport - header(86) - marquee(35).
612 MUST stay in sync with the same formula in Custom JS. */ 613@media (min-width: 1025px) { 614 .home .qodef-interactive-banners, 615 .home .qodef-ib-item, 616 .home .qodef-ib-content-holder { 617 height: calc(100vh - 86px - 35px) !important; 618 } 619} 620 621/* [BANNER-OVERFLOW] Clip the horizontal reel + reset content offset */ 622.elementor-element-e542973, 623.elementor-element-0a4b23f, 624.elementor-element-485c428, 625.home .qodef-interactive-banners { 626 overflow: hidden !important; 627} 628.home .qodef-ib-content-holder { 629 margin-left: 0 !important; 630 left: 0 !important; 631} 632 633/* [BANNER-GRIDLINES] Hide theme grid lines - JS owns the layout */ 634.home .qodef-ib-grid-line { 635 display: none !important; 636} 637 638/* [BANNER-LOGOOVERLAY] Centred ATI logo over the columns (desktop only) */ 639@media (min-width: 1025px) { 640 .home #banner-logo-overlay { 641 position: absolute !important; 642 top: 0 !important; 643 left: 0 !important; 644 width: 100% !important; 645 height: 100% !important; 646 display: flex !important; 647 align-items: center !important; 648 justify-content: center !important; 649 z-index: 50 !important; 650 pointer-events: none !important; 651 box-sizing: border-box !important; 652 } 653} 654#banner-logo-overlay img { 655 width: 2024px; 656 max-width: 160%; 657 height: auto; 658} 659 660/* [BANNER-NAVARROWS] Prev/next circular arrows. 661 NOTE: the live scroll pills are .ib-scroll-pill, styled inline by JS. 662 These .ib-nav-btn rules are the older round-button variant. */ 663.ib-nav-btn { 664 position: absolute; 665 top: 50%; 666 transform: translateY(-50%); 667 z-index: 100; 668 background: rgba(0, 0, 0, 0.65); 669 color: #ffffff; 670 border: none; 671 width: 44px; 672 height: 44px; 673 border-radius: 50%; 674 font-size: 18px; 675 cursor: pointer; 676 display: flex; 677 align-items: center; 678 justify-content: center; 679 transition: background 0.2s ease; 680} 681.ib-nav-btn:hover { 682 background: #fdec01; 683 color: #000000; 684} 685.ib-nav-prev { left: 10px; } 686.ib-nav-next { right: 10px; } 687 688/* [BANNER-CARD] Sector card base - clip + scale origin for hover */ 689.qodef-ib-item { 690 overflow: hidden !important; 691 position: relative !important; 692 transition: transform 0.3s ease !important; 693 transform-origin: bottom center !important; 694} 695 696/* [BANNER-CARDLINK] Whole card is clickable - invisible full-bleed anchor */ 697.qodef-ib-item .qodef-ib-item-btn-holder a { 698 position: absolute !important; 699 inset: 0 !important; 700 z-index: 10 !important; 701 font-size: 0 !important; 702 background: transparent !important; 703} 704 705/* [BANNER-LABELS] Card tag + title chips */ 706.qodef-ib-item-tag { 707 writing-mode: horizontal-tb !important; 708 transform: none !important; 709 text-orientation: mixed !important; 710 background-color: rgba(40, 40, 40, 0.75) !important; 711 padding: 4px 10px !important; 712} 713.qodef-ib-item-title h3 { 714 font-size: 15px !important; 715 white-space: nowrap !important; 716 background-color: rgba(0, 0, 0, 0.85) !important; 717 padding: 4px 12px !important; 718 display: inline-block !important; 719 text-transform: uppercase !important; 720} 721.qodef-ib-item-title h3, 722.qodef-ib-item-tag, 723.qodef-ib-item-inner { 724 font-weight: 900 !important; 725} 726 727/* [BANNER-CARDINNER] Card inner content - pinned near the bottom */ 728.qodef-ib-item-inner { 729 position: absolute !important; 730 left: 0 !important; 731 right: 0 !important; 732 bottom: 20% !important; 733 width: 100% !important; 734 transform: none !important; 735 box-sizing: border-box !important; 736 padding: 0 10px !important; 737 text-align: center !important; 738 margin: 0 auto !important; 739 z-index: 2 !important; 740} 741 742/* [BANNER-DESKTOPHEIGHT] Desktop height again + 86px header offset. 743 Breakpoint 1025px matches the JS bail (innerWidth lte 1024, returns). */ 744@media (min-width: 1025px) { 745 .home .qodef-interactive-banners { 746 height: calc(100vh - 86px - 35px) !important; 747 margin-top: 86px !important; 748 } 749 .home .qodef-ib-item { 750 height: calc(100vh - 86px - 35px) !important; 751 } 752} 753 754/* [BANNER-XL] 1920px+ - scale labels and icons up */ 755@media (min-width: 1920px) { 756 .qodef-ib-item-title h3 { font-size: 28px !important; } 757 .qodef-ib-item-tag { font-size: 16px !important; } 758 .qodef-ib-item-small-image img { width: 90px !important; height: 90px !important; } 759} 760 761/* [BANNER-STACK] Tablet/mobile - stack cards vertically, kill the reel */ 762@media (max-width: 1024px) { 763 .home .qodef-interactive-banners { 764 display: flex !important; 765 flex-direction: column !important; 766 height: auto !important; 767 min-height: unset !important; 768 overflow: visible !important; 769 } 770 .home .qodef-ib-content-holder { 771 display: flex !important; 772 flex-direction: column !important; 773 width: 100% !important; 774 transform: none !important; 775 transition: none !important; 776 } 777 .home .qodef-ib-item { 778 width: 100% !important; 779 height: 280px !important; 780 overflow: hidden !important; 781 } 782 .home .qodef-ib-image-holder-responsive { 783 background-position: center center !important; 784 background-size: cover !important; 785 } 786 .home .ib-nav-btn { 787 display: none !important; 788 } 789 #banner-logo-overlay { 790 display: none !important; 791 } 792 .qodef-ib-item-inner { 793 left: -10px !important; 794 } 795} 796 797/* [BANNER-MOBILEOFFSET] Mobile - push banner below the fixed header */ 798@media (max-width: 768px) { 799 .home .elementor-widget-container:has(.qodef-interactive-banners
799) { 800 margin-top: 86px !important; 801 } 802 .home .qodef-ib-item-inner { 803 transform: none !important; 804 left: 0 !important; 805 } 806} 807 808/* [BANNER-PILLANIM] Keyframes for the yellow SCROLL pills (JS-injected) */ 809@keyframes scrollBounceLeft { 810 0%, 100% { transform: translateY(-50%) translateX(0); } 811 50% { transform: translateY(-50%) translateX(-10px); } 812} 813@keyframes scrollBounceRight { 814 0%, 100% { transform: translateY(-50%) translateX(0); } 815 50% { transform: translateY(-50%) translateX(10px); } 816} 817 818 819/* ============================================================ 820 8. LOGOS CAROUSEL (homepage) 821 Current component = .ati-marquee-band (pure CSS marquee, Session 21). 822 .elementor-element-c2e32ee is the RETIRED Swiper carousel it replaced. 823 ============================================================ */ 824 825/* [MARQUEE-LOGOS] Logo images inside the band - fixed 35px height */ 826.ati-marquee-band img { 827 height: 35px !important; 828 width: auto !important; 829} 830 831/* [MARQUEE-CONTAINER] Elementor container holding the marquee - zero padding */ 832.elementor-element-7355d69 { 833 padding: 0 !important; 834} 835.elementor-element-7355d69 > .e-con-inner { 836 padding: 0 !important; 837} 838 839/* [MARQUEE-FULLWIDTH] Break the band out of the 1100px content grid */ 840.ati-marquee-band { 841 width: 100vw !important; 842 max-width: 100vw !important; 843 margin-left: calc(-1 * (100vw - 100%) / 2) !important; 844 position: relative !important; 845} 846 847/* [MARQUEE-OLDSWIPER] Retired Swiper carousel (c2e32ee) - kept in case the 848 element still renders anywhere. Safe to delete once confirmed unused. */ 849.elementor-element-c2e32ee { 850 width: 100vw !important; 851 max-width: 100vw !important; 852 margin-left: calc(-1 * (100vw - 100%) / 2) !important; 853 position: relative !important; 854 height: 35px !important; 855 overflow: hidden !important; 856} 857.elementor-element-c2e32ee.elementor-widget, 858.elementor-element-c2e32ee .elementor-widget-container { 859 padding: 0 !important; 860 margin: 0 !important; 861} 862.elementor-element-c2e32ee .elementor-widget-container, 863.elementor-element-c2e32ee img { 864 height: 35px !important; 865 object-fit: contain !important; 866} 867.elementor-element-c2e32ee .swiper-wrapper, 868.elementor-element-c2e32ee .swiper-slide, 869.elementor-element-c2e32ee .swiper { 870 height: 35px !important; 871 align-items: center !important; 872} 873.elementor-element-c2e32ee .qodef-e-title { 874 display: none !important; 875} 876.elementor-element-c2e32ee .qodef-e-inner, 877.elementor-element-c2e32ee .qodef-e-images-holder, 878.elementor-element-c2e32ee .qodef-e-main-image { 879 padding: 0 !important; 880 margin: 0 !important; 881 background: transparent !important; 882} 883.elementor-element-c2e32ee .swiper-slide { 884 width: 200px !important; 885} 886 887/* [MARQUEE-WRAPPER] Outer wrapper container - zero vertical padding so the 888 band sits flush against the banner above it */ 889.elementor-element-4263672 > .e-con-inner { 890 padding: 0 !important; 891} 892.elementor-element-4263672 { 893 padding-top: 0 !important; 894 padding-bottom: 0 !important; 895} 896.elementor-element-4263672 > .e-con-inner { 897 padding-top: 0 !important; 898 padding-bottom: 0 !important; 899} 900 901/* [ACTU-BADGE] "Notre Actualite" floating badge/button - homepage only. 902 DISABLED Session 27 - client pulled the button (didn't like the pale 903 accent-outline pixel visible in the source PNG at bottom-right - that 904 pixel is genuine artwork, not a bug, see the pixel-scan in that 905 session's log). Kept commented, not deleted - client is known to 906 change their mind. Widget markup also still lives in 907 actu-badge-widget.html; the actual Elementor HTML widget instance was 908 removed from the live homepage, so uncommenting this alone is not 909 enough to bring it back - the widget must be re-added in Elementor too. 910 911 Links to /actualites/. Whole flattened image, animated as ONE unit. 912 SOURCE FILE: boutton-actualite.png is 1563x1563 but the actual art 913 (measured via canvas pixel-scan) only occupies a band at 914 x:[10.2%,89.8%] y:[34.4%,65.6%] - ~80% wide, ~31% tall, aspect ~2.55:1. 915 Wrapper is overflow:hidden at that aspect ratio; the img is rendered 916 oversized and shifted with negative top/left so only the art band 917 shows. If this PNG is ever replaced, re-run the pixel-scan console 918 script (see session-log.md) and redo these numbers. 919 Positioned to intentionally hang off the right edge of the viewport. */ 920/* 921body.home .ati-actu-badge { 922 position: absolute; 923 right: calc(-16px - (100vw - 100%) / 2); 924 bottom: calc(100% + 40px); 925 width: 200px; 926 height: 90px; 927 overflow: hidden; 928 display: block; 929 z-index: 5; 930 cursor: pointer; 931} 932body.home .ati-actu-badge-img { 933 position: absolute; 934 top: -69px; 935 left: -14px; 936 width: 228px; 937 height: 228px; 938 animation: ati-actu-float 3.4s ease-in-out infinite; 939} 940@keyframes ati-actu-float { 941 0%, 100% { transform: translate(0, 0); } 942 50% { transform: translate(10px, 14px); } 943} 944@media (max-width: 768px) { 945 body.home .ati-actu-badge { width: 136px; height: 61px; } 946 body.home .ati-actu-badge-img { width: 155px; height: 155px; top: -47px; left: -10px; } 947} 948*/ 949 950 951/* ============================================================ 952 9. INNER PAGE HEROES 953 ============================================================ */ 954 955/* [HERO-HEADER] Theme's single-page header block - 80vh tall */ 956.qodef-single-page-header { 957 min-height: 80vh !important; 958 margin-bottom: 10px !important; 959} 960.qodef-single-page-header .qodef-m-image { 961 height: 100% !important; 962 position: absolute !important; 963 top: 0 !important; 964 left: 0 !important; 965 width: 100% !important; 966} 967.qodef-single-page-header .qodef-m-image img { 968 width: 100% !important; 969 height: 100% !important; 970 object-fit: cover !important; 971} 972 973/* [HERO-TITLE] Page titles uppercase */ 974.qodef-m-title.entry-title { 975 text-transform: uppercase !important; 976} 977 978/* [HERO-VIDEO] Qui Sommes Nous (5366) - full-bleed video hero */ 979.hero-video-container { 980 width: 100% !important; 981 position: relative !important; 982 height: calc(100vh - 86px) !important; 983 overflow: hidden !important; 984 margin-top: -10px !important; 985} 986.hero-video-container video.e-self-hosted-video-base { 987 width: 100% !important; 988 height: 100% !important; 989 object-fit: cover !important; 990 display: block !important; 991} 992 993/* [HERO-QSNRESET] QSN (5366) - kill theme top padding so video sits flush */ 994.page-id-5366 #qodef-page-content, 995.page-id-5366 #qodef-page-inner, 996.page-id-5366 .qodef-page-content-section { 997 padding-top: 0 !important; 998 margin-top: 0 !important; 999} 1000 1001/* [HERO-SCROLLHINT] Yellow SCROLL DOWN pill (JS-injected on 1027/7030/5667/2174) */ 1002.scroll-down-hint { 1003 position: fixed; 1004 bottom: 30px; 1005 left: 50%; 1006 transform: translateX(-50%); 1007 text-align: center; 1008 color: #000 !important; 1009 background: #fdec01; 1010 padding: 10px 28px; 1011 border-radius: 50px; 1012 letter-spacing: 2px; 1013 font-size: 11px; 1014 font-weight: 700; 1015 z-index: 999; 1016 text-shadow: none; 1017 animation: scrollBounce 0.9s ease-in-out infinite; 1018 white-space: nowrap; 1019 cursor: pointer; 1020 display: inline-flex !important; 1021 align-items: center !important; 1022 gap: 8px !important; 1023} 1024/* [HERO-SCROLLHINT-ARROW] Trailing down-chevron. Same regression + same fix 1025 as [DEVIS-ARROW] - see that comment for the Font Awesome diagnosis. */ 1026.scroll-down-hint::after { 1027 font-family: "Font Awesome 5 Free" !important; 1028 font-weight: 900 !important; 1029 content: "\f107" !important; 1030} 1031@keyframes scrollBounce { 1032 0%, 100% { transform: translateX(-50%) translateY(0); } 1033 50% { transform: translateX(-50%) translateY(10px); } 1034} 1035 1036/* [HERO-SUPPLYCHAIN] Supply chain (2504) - hide title, size the video */ 1037body.page-id-2504 .qodef-page-title { 1038 display: none !important; 1039} 1040.elementor-element-bd5485f video { 1041 height: 80vh !important; 1042 width: auto !important; 1043 display: block; 1044 margin: 0 auto; 1045} 1046 1047 1048/* ============================================================ 1049 10. SPLIT SLIDER PAGES (Sourcing, Logistique, etc.) 1050 OLD STACK - multiscroll.js + stal-core. ALL OF SECTION 10 1051 IS TO BE DELETED in VSS Phase 7. Pages: 7030/1027/5665/5667/5666. 1052 ============================================================ */ 1053 1054/* [SPLIT-NAVDOTS] Hide multiscroll's nav dots */ 1055#multiscroll-nav { 1056 display: none !important; 1057} 1058 1059/* [SPLIT-LOGISTIQUE] Logistique (5665) - slide background sizing */ 1060.page-id-5665 .qodef-m-slide-image.ms-section { 1061 background-position: center 75px !important; 1062 background-size: 85% auto !important; 1063 background-repeat: no-repeat !important; 1064} 1065
1066/* [SPLIT-LOGISTIQUERIGHT] Logistique (5665) - right panel image + offset */ 1067.page-id-5665 .ms-right .qodef-m-slide-image { 1068 background-size: 98% !important; 1069 background-color: transparent !important; 1070 background-position: center center !important; 1071} 1072.page-id-5665 .ms-right { 1073 right: 0 !important; 1074} 1075 1076/* [SPLIT-SOURCINGPARTNERS] Sourcing (1027) - NOS PARTENAIRES image position */ 1077.page-id-1027 .ms-right .qodef-m-slide-image[style*="NOS-PARTENAIRES"] { 1078 background-position: center 40px !important; 1079 background-size: 85% auto !important; 1080 background-repeat: no-repeat !important; 1081} 1082 1083/* [SPLIT-SOURCINGRIGHT] Sourcing (1027) - right panel text top padding */ 1084.page-id-1027 .ms-right .ms-tableCell { 1085 padding-top: 90px !important; 1086 vertical-align: top !important; 1087} 1088 1089/* [SPLIT-VIDEOBORDER] Sourcing - kill right-panel offset + video inline gap */ 1090.ms-right { 1091 right: 0 !important; 1092} 1093.qodef-m-slide-image video { 1094 display: block; 1095} 1096 1097/* [SPLIT-SOURCINGLEFT] Sourcing (1027) - left panel vertical alignment */ 1098.page-id-1027 .ms-left .qodef-m-slide-content { 1099 padding-top: -70px !important; 1100 justify-content: flex-start !important; 1101 align-items: flex-start !important; 1102} 1103.page-id-1027 .ms-left .elementor-element-960a9d9 { 1104 align-items: flex-start !important; 1105 padding-bottom: 80px !important; 1106} 1107 1108/* [SPLIT-MOBILE] Tablet/mobile - hide ms panels, show theme's vss-responsive */ 1109@media (max-width: 1024px) { 1110 .qodef-ib-image-holder-responsive { 1111 background-size: contain !important; 1112 background-repeat: no-repeat !important; 1113 background-position: center !important; 1114 } 1115 .qodef-vertical-split-slider .ms-left, 1116 .qodef-vertical-split-slider .ms-right { 1117 display: none !important; 1118 } 1119 .qodef-vss-responsive { 1120 display: block !important; 1121 height: auto !important; 1122 width: 100% !important; 1123 } 1124 .qodef-vss-responsive .qodef-m-slide-content { 1125 display: block !important; 1126 height: auto !important; 1127 width: 100% !important; 1128 } 1129 .qodef-vss-responsive .qodef-m-slide-image { 1130 height: 350px !important; 1131 background-size: contain !important; 1132 background-repeat: no-repeat !important; 1133 background-position: center top !important; 1134 display: block !important; 1135 width: 100% !important; 1136 } 1137 .qodef-vss-responsive .elementor-absolute { 1138 position: relative !important; 1139 width: 100% !important; 1140 height: auto !important; 1141 top: 0 !important; 1142 left: 0 !important; 1143 } 1144 .qodef-vss-responsive, 1145 .qodef-m-slide-content { 1146 height: auto !important; 1147 min-height: 0 !important; 1148 } 1149} 1150 1151/* [SPLIT-MOBILESCROLL] Tablet - undo multiscroll's scroll trap on the wrapper */ 1152@media (max-width: 1024px) { 1153 #qodef-page-wrapper { 1154 overflow: visible !important; 1155 height: auto !important; 1156 } 1157} 1158 1159 1160/* ============================================================ 1161 11. QUI SOMMES NOUS PAGE 1162 ============================================================ */ 1163 1164/* [QSN-FORMANCHOR] Session 38 - the header contact icon's target 1165 (#wpcf7-f9472-p2174-o1, the CF7 form) was landing in the wrong scroll 1166 position - past the form, at the footer when arriving from another page, 1167 or near the form's bottom when already on this page. Confirmed via a live 1168 fetch that the id is genuinely unique on the page (not a duplicate-id 1169 bug) - the real cause is Chrome's default CSS Scroll Anchoring, which 1170 keeps nudging the scroll position to compensate as content above the fold 1171 (this page has an autoplaying hero video) finishes loading/reflowing 1172 *after* the browser's native fragment jump already fired. The more that 1173 loads after the jump, the further the drift - which is exactly why a 1174 fresh cross-page arrival (nothing loaded yet) overshot further than a 1175 same-page click (video already settled). This turns that feature off for 1176 the whole document; see [JS-CONTACTSCROLL] in Custom-JS.js for the 1177 explicit scroll that replaces the native jump. scroll-margin-top clears 1178 the ~86px fixed header so the form's first field isn't hidden under it. */ 1179html, body {
1180 overflow-anchor: none !important; 1181} 1182#wpcf7-f9472-p2174-o1 { 1183 scroll-margin-top: 100px !important; 1184} 1185 1186/* [QSN-CLIENTS] Clients carousel - band height + logo sizing */ 1187.elementor-element-959f90c .qodef-qi-clients-slider { 1188 height: 85px; 1189} 1190.elementor-element-959f90c .qodef-e-main-image img { 1191 height: 70px; 1192 width: auto; 1193 max-width: none; 1194 object-fit: contain; 1195} 1196 1197/* [QSN-MOBILE] Mobile - text width + force Swiper icons to wrap into a grid. 1198 Swiper owns width/transform inline, so .swiper-wrapper must be targeted. */ 1199@media (max-width: 1024px) { 1200 .page-id-2174 .e-paragraph-base { 1201 width: 100% !important; 1202 max-width: 100% !important; 1203 box-sizing: border-box !important; 1204 padding: 0 30px !important; 1205 } 1206 .page-id-2174 [data-id="5128616"] .swiper-slide { 1207 width: 50% !important; 1208 max-width: 50% !important; 1209 flex-shrink: 0 !important; 1210 } 1211 .page-id-2174 [data-id="5128616"] .swiper-wrapper { 1212 flex-wrap: wrap !important; 1213 transform: none !important; 1214 height: auto !important; 1215 justify-content: center !important; 1216 } 1217} 1218 1219 1220/* ============================================================ 1221 12. SECTOR PAGES - CUSTOM ICON ROWS 1222 ============================================================ */ 1223 1224/* [ICONS-ROW] Icon row container - evenly spaced flex row */ 1225.custom-icons-row { 1226 display: flex; 1227 justify-content: space-between; 1228 align-items: flex-start; 1229 padding: 30px 0; 1230 gap: 10px; 1231 margin-top: -40px; 1232} 1233 1234/* [ICONS-ITEM] Single icon card - white tile, centred content */ 1235.custom-icon-item { 1236 flex: 1; 1237 display: flex; 1238 flex-direction: column; 1239 align-items: center; 1240 text-align: center; 1241 gap: 12px; 1242 background: #ffffff; 1243 padding: 20px 10px; 1244 border-radius: 4px; 1245} 1246.custom-icon-item img { 1247 width: 70px; 1248 height: auto; 1249} 1250.custom-icon-item p { 1251 font-size: 13px; 1252 font-weight: 600; 1253 color: #1a1a1a; 1254 margin: 0; 1255 line-height: 1.4; 1256} 1257 1258/* [ICONS-MOBILE] 768px - 2 per row. 480px - 1 per row. */ 1259@media (max-width: 768px) { 1260 .custom-icons-row { 1261 flex-wrap: wrap; 1262 justify-content: center; 1263 margin-top: 80px !important; 1264 } 1265 .custom-icon-item { 1266 flex: 0 0 45%; 1267 max-width: 45%; 1268 } 1269} 1270@media (max-width: 480px) { 1271 .custom-icon-item { 1272 flex: 0 0 100%; 1273 max-width: 100%; 1274 } 1275} 1276 1277 1278/* ============================================================ 1279 13. SECTEURS SIDEBAR NAV 1280 ============================================================ */ 1281 1282/* [SIDENAV-CURRENT] Hide the page you're already on from the list */ 1283#nav_menu-3 .current-menu-item { 1284 display: none !important; 1285} 1286 1287/* [SIDENAV-MENU] Menu as a wrapping row of pill links */ 1288#nav_menu-3 .menu { 1289 list-style: none !important; 1290 padding: 0 !important; 1291 display: flex !important; 1292 flex-wrap: wrap !important; 1293 gap: 10px !important; 1294} 1295#nav_menu-3 .menu li { 1296 padding: 0 !important; 1297 background: none !important; 1298} 1299#nav_menu-3 .menu li::before { 1300 display: none !important; 1301} 1302 1303/* [SIDENAV-PILL] Pill link styling + yellow hover */ 1304#nav_menu-3 .menu li a { 1305 display: inline-block !important; 1306 padding: 6px 16px !important; 1307 border: 1px solid #cccccc !important; 1308 border-radius: 4px !important; 1309 font-size: 12px !important; 1310 font-weight: 700 !important; 1311 letter-spacing: 1px !important; 1312 text-transform: uppercase !important; 1313 color: #1a1a1a !important; 1314 text-decoration: none !important; 1315 background: transparent !important; 1316} 1317#nav_menu-3 .menu li a:hover { 1318 background: #fdec01 !important; 1319 border-color: #fdec01 !important; 1320} 1321 1322/* [SIDENAV-LOGOS] Sidebar logos - 2-column grid of grey tiles */ 1323#sidebar-logos-section { 1324 margin-bottom: 30px; 1325} 1326#sidebar-logos-grid { 1327 display: grid; 1328 grid-template-columns: 1fr 1fr; 1329 gap: 12px; 1330 margin-top: 15px; 1331} 1332.sidebar-logo-item { 1333 background: #f1f3f5; 1334 border-radius: 4px; 1335 padding: 10px; 1336 display: flex; 1337 align-items: center; 1338 justify-content: center; 1339} 1340.sidebar-logo-item img { 1341 max-width: 100%; 1342 max-height: 50px; 1343 object-fit: contain; 1344 height: auto; 1345} 1346 1347/* [PARTNERS-BROCHURE] Session 38 - "Télécharger la brochure" button, added 1348 by [JS-BROCHURE] to every "Nos partenaires" section on the sector pages. 1349 Session 38 2nd follow-up: solid yellow idle / solid black hover, matching 1350 what the user asked for explicitly (not the transparent-outline pattern 1351 devis-fab/contact-fab use) - black text idle, white text on hover. Kept 1352 the earlier un-stretch fix (`align-self`+`width:fit-content` - the 1353 Elementor container it lands in is a flex row/column that stretches a 1354 lone child to fill the cross-axis by default). */ 1355.brochure-btn { 1356 display: inline-flex !important; 1357 align-self: center !important; 1358 width: fit-content !important; 1359 align-items: center !important; 1360 gap: 6px !important; 1361 margin: 20px 0 0 !important; 1362 padding: 0 14px !important; 1363 height: 36px !important; 1364 border-radius: 4px !important; 1365 border: 2px solid #fdec01 !important; 1366 background-color: #fdec01 !important; 1367 color: #1a1a1a !important; 1368 font-size: 11px !important; 1369 font-weight: 700 !important; 1370 letter-spacing: 0.5px !important; 1371 text-decoration: none !important; 1372 text-transform: uppercase !important; 1373 transition: background-color 0.2s ease, color 0.2s ease !important; 1374} 1375.brochure-btn:hover { 1376 background-color: #000000 !important; 1377 color: #ffffff !important; 1378} 1379.brochure-btn svg { 1380 width: 14px !important; 1381 height: 14px !important; 1382 flex-shrink: 0 !important; 1383} 1384 1385/* [PARTNERS-BROCHURE-COVER] Sourcing (10476) - the "SCROLL DOWN" + brochure 1386 pill pair on cover 1. 1387 1388 Session 38 4th follow-up: REWRITTEN as one wrapper holding both pills, 1389 replacing three failed rounds of positioning them as two independent 1390 elements (guessed offset -> runtime-measured offset -> opposing centerline 1391 anchors + equal min-widths). Every one of those shared the same root flaw:
1392 two separately-positioned elements each running their OWN copy of the 1393 bounce animation can never stay in phase, because each animation starts 1394 whenever its element gets the property - and the two are created by 1395 different scripts at different times. That permanent phase drift is what 1396 read as "the 3D position is not the same / scroll down looks more out of 1397 the screen". No amount of matching their sizes or offsets could have fixed 1398 it; it isn't a sizing bug. 1399 1400 The wrapper fixes four separate reported problems at once, by construction 1401 rather than by tuning: 1402 1. PHASE - one animation on one element, so both pills move as one solid 1403 unit. Desync is now structurally impossible. 1404 2. CENTERING - flexbox centers the GROUP. Nothing has to know the other 1405 pill's width, so both keep their natural width (no `min-width` 1406 padding them out - that's the "still too wide" complaint) and the 1407 pair stays balanced whether one pill is showing or both. 1408 3. THE FLASH on scrolling past cover 1 - the hint used to be re-centered 1409 the instant it stopped being "paired", which happened while it was 1410 still mid-fade, so you saw it jump back to center before vanishing. 1411 Now the hint never moves at all: it sits in normal flow inside the 1412 wrapper, and only the wrapper's opacity animates. 1413 4. Panel-transform coupling - the pair is `position:fixed` on <body>, 1414 no longer absolutely positioned inside the transformed VSS panel. 1415 1416 Uses [HERO-SCROLLHINT]'s existing `scrollBounce` keyframes, which already 1417 carry the `translateX(-50%)` this wrapper needs for centering. 1418 1419 â ï¸ Do NOT put `transform: none !important` on the wrapper. An `!important` 1420 author declaration outranks a running animation's value for the same 1421 property, so the keyframes would keep playing while moving nothing - that 1422 silently killed the bounce once already this session. */ 1423.ati-pill-pair { 1424 position: fixed !important; 1425 left: 50% !important; 1426 bottom: 30px !important; 1427 display: flex !important; 1428 align-items: center !important; 1429 justify-content: center !important; 1430 gap: 12px !important; 1431 z-index: 999 !important; 1432 opacity: 0; 1433 transition: opacity 0.3s ease; 1434 /* Centering fallback for if the animation never applies (reduced-motion, 1435 etc). Left non-!important on purpose: a running animation outranks a 1436 normal declaration, so scrollBounce's own translateX(-50%) still wins 1437 whenever it is playing. */ 1438 transform: translateX(-50%); 1439 animation: scrollBounce 0.9s ease-in-out infinite; 1440} 1441 1442/* Both children drop to normal flow - the wrapper owns position and motion. 1443 The hint in particular has to give up [HERO-SCROLLHINT]'s fixed 1444 positioning, centering transform and its own bounce, or it would fight the 1445 wrapper for all three. */ 1446.ati-pill-pair .scroll-down-hint, 1447.ati-pill-pair .brochure-btn--cover { 1448 position: static !important; 1449 left: auto !important; 1450 right: auto !important; 1451 bottom: auto !important; 1452 margin: 0 !important; 1453 transform: none !important; 1454 animation: none !important; 1455} 1456 1457/* The brochure pill only exists on cover 1, so it stays out of the flow 1458 until [JS-VSS-HINT] marks the pair as being on that slide. `display` (not 1459 `visibility`) so the wrapper re-centers around the lone hint on slide 1. */ 1460.ati-pill-pair .brochure-btn--cover { 1461 display: none !important; 1462 padding: 10px 28px !important; 1463 border-radius: 50px !important; 1464 border: none !important; 1465 font-size: 11px !important; 1466 font-weight: 700 !important; 1467 letter-spacing: 2px !important; 1468 background-color: #fdec01 !important; 1469 color: #000000 !important; 1470 white-space: nowrap !important; 1471} 1472.ati-pill-pair--paired .brochure-btn--cover { 1473 display: inline-flex !important; 1474} 1475.ati-pill-pair .brochure-btn--cover:hover { 1476 background-color: #000000 !important; 1477 color: #ffffff !important; 1478} 1479 1480/* [SIDENAV-HIDEFAMILLE] Session 37 - "Famille de produit" category dropdown 1481 in the sector-page sidebar (widget id categories-2, "main-sidebar" widget 1482 area), commented out (hidden, not deleted) per the marketing team's 1483 "famille produits a retirer" decision on 3 rows of the client feedback 1484 sheet. Kept reversible - this client revisits decisions - instead of 1485 removing the widget in wp-admin. #categories-2 is a stable per-instance 1486 widget id, unique to this one widget, so no page-id scoping is needed. */ 1487#categories-2 { 1488 display: none !important; 1489} 1490 1491 1492/* ============================================================ 1493 14. FORMS (CF7) 1494 ============================================================ */ 1495 1496/* [FORM-ROW] Two-up field rows (Devis form) */ 1497.wpcf7 .dv-form-row { 1498 display: flex; 1499 gap: 16px; 1500 margin-bottom: 16px; 1501} 1502.wpcf7 .dv-form-row .wpcf7-form-control-wrap { 1503 flex: 1; 1504 display: block; 1505} 1506.wpcf7 .dv-form-row input { 1507 width: 100% !important; 1508} 1509
1510/* [FORM-FIELDS] All CF7 inputs - shared border/padding/background */ 1511.wpcf7 input[type="text"], 1512.wpcf7 input[type="tel"], 1513.wpcf7 input[type="email"], 1514.wpcf7 textarea { 1515 width: 100% !important; 1516 border: 1px solid #888 !important; 1517 border-radius: 6px !important; 1518 padding: 16px !important; 1519 font-size: 15px !important; 1520 background: #ffffff !important; 1521 color: #333 !important; 1522 box-sizing: border-box !important; 1523 display: block !important; 1524} 1525.wpcf7 textarea { 1526 height: 160px !important; 1527 resize: vertical !important; 1528 margin-top: 16px !important; 1529 margin-bottom: 16px !important; 1530} 1531 1532/* [FORM-CONTACTBOX] Contact form white card wrapper */ 1533.elementor-element-85ec075 .wpcf7-form { 1534 background: #ffffff !important; 1535 margin-top: 20px !important; 1536 padding: 20px !important; 1537} 1538 1539/* [FORM-MOBILE] Stack two-up rows on mobile */ 1540@media (max-width: 767px) { 1541 .wpcf7 .dv-form-row { 1542 flex-direction: column !important; 1543 } 1544} 1545 1546/* [FORM-RECRUTEMENT] Recrutement form - rows, fields, file input */ 1547.recrutement-form .form-row { 1548 display: flex !important; 1549 gap: 20px !important; 1550} 1551.recrutement-form .form-row .wpcf7-form-control-wrap { 1552 flex: 1 !important; 1553}
1554.recrutement-form .wpcf7-form-control-wrap input, 1555.recrutement-form .wpcf7-form-control-wrap textarea, 1556.recrutement-form input[type="text"], 1557.recrutement-form input[type="email"], 1558.recrutement-form input[type="tel"], 1559.recrutement-form textarea { 1560 border: 1px solid #cccccc !important; 1561 border-radius: 4px !important; 1562 padding: 12px 15px !important; 1563 width: 100% !important; 1564 background: #ffffff !important; 1565} 1566.recrutement-form .wpcf7-file { 1567 margin-bottom: 20px !important; 1568} 1569 1570/* [FORM-BUTTONTEXT] Theme button label colors (black, white on hover) */ 1571.qodef-button .qodef-m-text, 1572.qodef-button span.qodef-m-text { 1573 color: #000000 !important; 1574 font-family: inherit !important; 1575} 1576.qodef-button:hover .qodef-m-text, 1577.qodef-button:hover span.qodef-m-text { 1578 color: #ffffff !important; 1579 font-family: inherit !important; 1580} 1581 1582 1583/* ============================================================ 1584 15. RECRUTEMENT PAGE - JOBS TABLE 1585 ============================================================ */ 1586 1587/* [JOBS-TABLE] Table shell */ 1588.jobs-table { width: 100%; border: 1px solid #e0e0e0; border-radius: 4px; overflow: hidden; } 1589 1590/* [JOBS-HEADER] Header row - grey band, uppercase labels */ 1591.jobs-header { display: grid; grid-template-columns: 2fr 1fr 1fr 150px; padding: 15px 20px; background: #f5f5f5; font-weight: 700; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; border-bottom: 1px solid #e0e0e0; } 1592 1593/* [JOBS-ROW] Data row - same grid template as the header */ 1594.jobs-row { display: grid; grid-template-columns: 2fr 1fr 1fr 150px; padding: 25px 20px; border-bottom: 1px solid #e0e0e0; align-items: center; } 1595.jobs-row:last-child { border-bottom: none; } 1596.jobs-cell p { margin: 5px 0 0; font-size: 14px; color: #666; } 1597 1598/* [JOBS-BUTTON] Apply button - yellow pill, red on hover */ 1599.jobs-btn { background: #fdec01; color: #000; padding: 10px 25px; border-radius: 50px; font-weight: 700; text-decoration: none; font-size: 14px; } 1600.jobs-btn:hover { background: #e1312d; color: #fdec01; } 1601 1602 1603/* ============================================================ 1604 16. FOOTER 1605 ============================================================ */ 1606 1607/* [FOOTER-SPACING] Top area padding + widget margin resets */ 1608#qodef-page-footer-top-area #qodef-page-footer-top-area-inner { 1609 padding: 20px 0 20px !important; 1610} 1611#qodef-page-footer-top-area .textwidget p { 1612 margin-bottom: 3px !important; 1613} 1614#qodef-page-footer-top-area .textwidget { 1615 margin-bottom: 0 !important; 1616} 1617#qodef-page-footer-top-area .widget { 1618 padding-top: 0 !important; 1619 margin-top: 0 !important; 1620 margin-bottom: 0 !important; 1621} 1622#qodef-page-footer-top-area .qodef-grid-item { 1623 padding-top: 0 !important; 1624 margin-top: 0 !important; 1625} 1626#qodef-page-footer-top-area h3 { 1627 margin-top: 0 !important; 1628 margin-bottom: 15px !important; 1629} 1630 1631/* [FOOTER-LOGO] Footer logo max width */ 1632#qodef-page-footer-top-area img { 1633 max-width: 100px !important; 1634 height: auto !important; 1635} 1636 1637/* [FOOTER-TITLES] Widget titles - yellow, uppercase, tracked */ 1638#qodef-page-footer-top-area .qodef-widget-title { 1639 color: #fdec01 !important; 1640 font-size: 14px !important; 1641 letter-spacing: 2px !important; 1642 margin-top: 0 !important; 1643 margin-bottom: 15px !important; 1644 text-transform: uppercase !important; 1645} 1646 1647/* [FOOTER-GRID] Footer columns align to the top */ 1648#qodef-page-footer-top-area .qodef-grid-inner { 1649 display: flex !important; 1650 align-items: flex-start !important; 1651 flex-wrap: wrap !important; 1652} 1653 1654/* [FOOTER-NAV] Footer menu - strip theme bullets, white links */ 1655#nav_menu-2 .menu li::before, 1656#nav_menu-2 .menu li::after { 1657 display: none !important; 1658 content: "" !important; 1659} 1660#nav_menu-2 ul.menu { 1661 list-style: none !important; 1662 padding-left: 0 !important; 1663} 1664#nav_menu-2 ul.menu li { 1665 list-style: none !important; 1666 padding-left: 0 !important; 1667 background: none !important; 1668} 1669#nav_menu-2 ul.menu li a { 1670 color: #ffffff !important; 1671} 1672 1673/* [FOOTER-CONTACT] Contact column - white text + links */ 1674#stal_core_icon_list_item-2 .qodef-e-title-text, 1675#stal_core_icon_list_item-3 .qodef-e-title-text, 1676#stal_core_icon_list_item-4 .qodef-e-title-text { 1677 color: #ffffff !important; 1678} 1679#stal_core_icon_list_item-2 a, 1680#stal_core_icon_list_item-3 a, 1681#stal_core_icon_list_item-4 a { 1682 color: #ffffff !important; 1683} 1684 1685/* ------------------------------------------------------------ 1686 NOTE: the rules below were historically parked in section 16 1687 but are NOT footer rules. Left in place to avoid churn; they
1688 belong to Achat Industriel / Sourcing. 1689 ------------------------------------------------------------ */ 1690 1691/* [FOOTER-ACHATIMG] MISPLACED - Achat Industriel body image sizing */ 1692.elementor-element-98fcabf img { 1693 width: 75% !important; 1694 height: auto !important; 1695 display: block !important; 1696 margin: 20px auto 0 auto !important; 1697} 1698 1699/* [FOOTER-SOURCINGSTRIP] MISPLACED - Sourcing (1027) white strip fix at the 1700 top of the ms-right video panel. Superseded once 1027 moves to new VSS. */ 1701.page-id-1027 .elementor-widget-stal_vertical_split_slider { 1702 margin-top: -15px !important; 1703} 1704 1705/* [FOOTER-SOURCINGTPL] MISPLACED - Sourcing (1027) unified slide template 1706 9421: force full height + centre its content. Irrelevant post-Phase 7. */ 1707.page-id-1027 [data-elementor-id="9421"] { 1708 height: 100% !important; 1709 min-height: 100% !important; 1710} 1711.page-id-1027 [data-elementor-id="9421"] .e-con, 1712.page-id-1027 [data-elementor-id="9421"] .elementor-section { 1713 height: 100% !important; 1714 min-height: 100% !important; 1715} 1716.page-id-1027 [data-elementor-id="9421"] .e-con { 1717 display: flex !important; 1718 align-items: center !important; 1719 justify-content: center !important; 1720} 1721@media (min-width: 1440px) { 1722 .page-id-1027 [data-elementor-id="9421"] .elementor-widget-html div:first-child { 1723 max-width: 900px !important; 1724 padding: 40px 80px !important; 1725 } 1726 .page-id-1027 [data-elementor-id="9421"] h2 { 1727 font-size: 42px !important; 1728 } 1729 .page-id-1027 [data-elementor-id="9421"] p, 1730 .page-id-1027 [data-elementor-id="9421"] li { 1731 font-size: 18px !important; 1732 } 1733} 1734 1735 1736/* ============================================================ 1737 17. ACTUALITES PAGE 1738 Template: wp-content/themes/stal/ati-actualites-template.php 1739 (we have a local copy: ati-actualites-template.php in this folder) 1740 1741 Session 30: all styling for this page (hero image, subtitle position, 1742 card redesign) lives DIRECTLY in that template file's own inline 1743 <style> block now, not here. The template is a real PHP file we can 1744 edit and deploy (via Hostinger File Manager's file editor - re-uploading 1745 the file does NOT persist, per the template's own header comment), so 1746 there's no need to fight the cascade with !important overrides from a 1747 separate file. Nothing to see here on purpose - check the template file. 1748 ============================================================ */ 1749 1750 1751/* ============================================================ 1752 18. NEW VSS PAGES - Achat Industriel 2 (page-id-10158) + 1753 Session 31 clones: Sourcing2 (10476), Logistique2 (10477), 1754 Export international2 (10478). All 4 page IDs are grouped via 1755 `body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478)` 1756 throughout this section - a plain comma-list would have broken 1757 every rule with a descendant combinator after it (Session 31 bug, 1758 caught and reverted before deploy - see session log). 1759 The 3 clones were made via Elementor's page-duplicate action, 1760 which copies element IDs as-is (unlike copy/paste of individual 1761 elements) - so [VSS-L1BG]/[VSS-R-ORDER]/etc keep matching by the 1762 SAME hardcoded IDs on all 4 pages with no remapping needed. If a 1763 future clone is made differently and a panel goes visually wrong, 1764 re-verify content-per-ID before assuming this still holds. 1765 ------------------------------------------------------------ 1766 Layout is CSS. Motion is JS ([JS-VSS] block in Custom JS). 1767 Nothing here sets `transform` on the TRACKS at runtime - JS owns 1768 that. The one CSS transform below ([VSS-INITIALPOS]) is the 1769 pre-JS starting state only, and its value MUST match what JS 1770 parks the right track at. 1771 1772 STRUCTURE AS BUILT (Phase 4 - verified in DOM): 1773 .ati-vss 300vh, the scroll runway 1774 .ati-vss-viewport sticky, 100vh, overflow hidden 1775 .ati-vss-track-is-left 50% wide, 300vh [L1, L3] 1776 .ati-vss-track-is-right 50% wide, 300vh [R3, R2-blank, R1] 1777 .ati-vss-panel-is-unified ABSOLUTE, 100vw x 100vh, z-index 10 1778 -- sibling of both tracks, NOT inside 1779 either. Slides up over them. 1780 1781 PANEL COUNTS ARE ASYMMETRIC AND THAT IS FINE: 1782 left = 2 real panels (L1, L3) in a 300vh track 1783 right = 3 real panels (Devenir-fournisseur, R2-blank, R1) in a 300vh track 1784 Both tracks stay 300vh so they share ONE coordinate system driven 1785 by one `progress` value. 1786 DO NOT set the left track to height:auto - that decouples the two 1787 tracks and desyncs every transform. (This was the Session 26 bug.) 1788 1789 MOTION CONTRACT with [JS-VSS] - keep these in lockstep. RISE-TO-COVER STACK 1790 (Session 32 - tracks NEVER move, only cover panels animate; a track-slide 1791 attempt this session produced an opposite-direction split motion and was 1792 reverted - see CLAUDE.md Motion Law history): 1793 progress = clamp(-vssRect.top / vh, 0, 2) 1794 pA = clamp(progress,0,1); pB = clamp(progress-1,0,1); easeInOutCubic -> eA,eB 1795 left track : translateY(0) <- NEVER moves 1796 right track : translateY(-200vh) <- NEVER moves 1797 cover 1 (logos, .elementor-element-7373081) : translateY((1-eA)*100vh), 1798 opacity 1, z-index 10 - rises progress 0->1 1799 cover 2 (slide 3, .elementor-element-8e4528a, Sourcing2 only so far) : 1800 translateY((1-eB)*100vh), opacity 1, z-index 11 (ABOVE cover 1) - 1801 rises progress 1->2, see [VSS-COVER2] 1802 Both covers share the class .ati-vss-panel-is-unified (inherit this rule's 1803 positioning), so [JS-VSS] finds them by their distinct elementor-element 1804 IDs, not by class. L3 / R2-blank / the 3rd right-track panel are still 1805 never revealed inside the TRACKS - their content was moved OUT into cover 2 1806 instead (Session 32). [VSS-L3-BG]/[VSS-R2-BG] remain defensive-only leftovers 1807 on the (now empty) track panels. Right track's -200vh keeps its at-rest 1808 child in view; [VSS-INITIALPOS] below MUST equal that -200vh. 1809 1810 THE STICKY TRAP - read before touching anything here: 1811 position:sticky dies if ANY ancestor is a scroll container, or has 1812 transform / filter / contain / will-change / perspective set. 1813 Clip horizontal bleed on the html element, NEVER on body or the wrapper. 1814 1815 REAL DOM CLASSES (Elementor Navigator labels lie - verified in DOM): 1816 left track : .ati-vss-panel (L1) / .ati-vss-panel (L3) 1817 right track : .ati-vss-panel (R3) / .ati-vss-panel-is-blank (R2) / 1818 .ati-vss-panel (R1) 1819 sibling : .ati-vss-panel-is-unified (L2) 1820 L1 and L3 share .ati-vss-panel, so L1 is targeted by its Elementor 1821 element id .elementor-element-05b1eea - see [VSS-L1BG]. 1822 ============================================================ */ 1823 1824/* [VSS-STICKYBODY] Sticky prerequisite #1 - theme sets body{overflow-y:auto}, 1825 which makes body a scroll box, so sticky binds to body not the window. */ 1826body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) { 1827 overflow: visible !important; 1828 overflow-y: visible !important; 1829} 1830 1831/* [VSS-STICKYWRAPPER] Sticky prerequisite #2 - theme sets the wrapper to 1832 overflow:hidden with !important. Specificity alone loses; must be !important. */ 1833body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-wrapper { 1834 overflow: visible !important; 1835} 1836 1837/* [VSS-PADRESET] Sticky prerequisite #3 - the global gap fix in section 1 1838 adds 10px top padding here, which offsets every panel inside the tracks 1839 and desyncs the layout from the transform math. See [GLOBAL-GAPFIX]. */ 1840body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-content { 1841 padding-top: 0 !important; 1842} 1843 1844/* [VSS-WRAPPER] Outer wrapper - its height IS the scroll distance. 1845 300vh = 100vh to traverse slide 1, 100vh for the unified panel to 1846 slide up and cover, 100vh of hold. Also breaks out of the theme's 1847 1100px content grid. */ 1848body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss { 1849 position: relative !important; 1850 height: 300vh; 1851 width: 100% !important; 1852 max-width: 100% !important; 1853 padding: 0 !important; /* kill Elementor's default 10px container padding - 1854 it insets the viewport + both tracks by 10px, opening 1855 a blank sliver left of L1 and right of R1, and shifting 1856 the absolute unified panel 10px right (Session 31). */ 1857} 1858 1859/* [VSS-VIEWPORT] The pinned window. sticky + top:0 holds it at the window 1860 top for as long as .ati-vss (300vh) still has height scrolling past. 1861 position:relative is NOT needed and must NOT be added - sticky already 1862 establishes the containing block for [VSS-UNIFIED-SLOT]'s absolute panel. */ 1863body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-viewport { 1864 position: sticky; 1865 top: 0; 1866 height: 100vh; /* exactly one screen tall, never more */ 1867 overflow: hidden; /* clips the 300vh tracks inside it */ 1868 padding: 0 !important; /* Elementor container default - must be zero */ 1869} 1870 1871/* [VSS-TRACKS] Both tracks. Comma-grouped because Elementor's Atomic 1872 Classes field flattens multi-word classes - they share no base class. 1873 BOTH are 300vh regardless of how many real panels they hold. Do not 1874 "optimise" one down to its content height - see the header note. */ 1875body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left, 1876body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right { 1877 width: 50%; /* half the viewport each */ 1878 height: 300vh !important; /* the full reel that JS slides past the viewport */ 1879 min-height: 300vh !important; 1880 flex-shrink: 0; /* stop flexbox squashing it into the 100vh viewport */ 1881 gap: 0;
1881 /* math assumes exact 100vh steps - no gaps */ 1882 padding: 0 !important; 1883 will-change: transform; /* GPU compositing - smoother scroll motion */ 1884 /* No z-index: tracks are non-positioned and STATIC. The unified panel 1885 (positioned, z-index:10) paints above them and rises to cover - see 1886 [VSS-UNIFIED-SLOT]. (Doors-reveal briefly put tracks above; reverted.) */ 1887} 1888 1889/* [VSS-R-ORDER] Pin right-track visual order by stable Elementor ID, NOT DOM 1890 order. flex `order` makes this immune to reordering/content edits in the 1891 Elementor editor - whichever ID actually holds the image always renders 1892 last / at rest, regardless of DOM position. 1893 VERIFIED Session 28: DOM order was found reversed - fixed via `order`. 1894 VERIFIED Session 29 (later same day): the IMAGE ITSELF had moved to a 1895 different element ID - elementor-element-3355159 (originally R1) now 1896 holds a debug label ("Ati-vss-panel-right-2") - deliberately placed 1897 there to visually identify which panel is on screen, for catching 1898 exactly this kind of panel-identity bug - while elementor-element-ccb21ab 1899 (originally R3, "empty, never seen") now holds the handshake image. 1900 Mapping below reflects the CURRENT real content, not the original 1901 build - if R1 goes blank again, re-run the ID/content scan from that 1902 session's log before assuming this mapping is still right. */ 1903body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right { 1904 display: flex !important; 1905 flex-direction: column !important; 1906} 1907body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-3355159 { 1908 order: 1 !important; /* debug label panel - keep out of view in the reel */ 1909} 1910body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-335fbf4 { 1911 order: 2 !important; /* R2-blank */ 1912} 1913body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab { 1914 order: 3 !important; /* holds the handshake image now - render LAST */ 1915} 1916 1917/* [VSS-PANELS] The four in-track panels. Each exactly one screen tall. 1918 NOTE: .ati-vss-panel-is-unified is deliberately NOT in this list - 1919 it lives outside both tracks and is sized by [VSS-UNIFIED-SLOT]. */ 1920body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left > .ati-vss-panel, 1921body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right > .ati-vss-panel, 1922body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right > .ati-vss-panel-is-blank { 1923 height: 100vh !important; 1924 flex: 0 0 100vh !important; /* fixed - never grow or shrink */ 1925 width: 100%; /* fill the track's 50% column */ 1926 margin: 0; 1927 display: flex; 1928 align-items: center; 1929 justify-content: center; 1930} 1931 1932/* [VSS-GRIDBREAK] Kill the theme's 1100px content grid on this page. 1933 #qodef-page-inner carries margin: 0 82.33px, and 1934 .qodef-page-content-section adds 15px padding each side. 1935 Both must be zeroed or the slider can never reach full viewport width. */ 1936body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-inner { 1937 margin-left: 0 !important; 1938 margin-right: 0 !important; 1939 max-width: 100% !important; 1940 width: 100% !important; 1941} 1942body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-content { 1943 width: 100% !important; 1944 max-width: 100% !important; 1945} 1946body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .qodef-page-content-section { 1947 padding-left: 0 !important; 1948 padding-right: 0 !important; 1949 width: 100% !important; 1950 max-width: 100% !important; 1951} 1952/* [VSS-GRIDINNER] Zero the theme grid-gutter negative margin on 1953 .qodef-grid-inner. Measured at width 1310 / left -15 on a 1280 window; 1954 every descendant inherits it via width:100%, pushing the slider's right 1955 edge ~15px past the viewport - the "handshake sliver" on the far right. */ 1956body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .qodef-grid-inner { 1957 margin-left: 0 !important; 1958 margin-right: 0 !important; 1959 max-width: 100% !important; 1960 width: 100% !important; 1961} 1962 1963/* [VSS-BEHINDHEADER] Pull content up so the slider sits BEHIND the 86px 1964 header, matching the old split-slider pages. */ 1965body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-content { 1966 margin-top: -86px !important; 1967} 1968 1969/* [VSS-HIDETITLE] Hide the theme's page title block */ 1970body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .qodef-page-title { 1971 display: none !important; 1972} 1973 1974/* [VSS-L1BG] L1 (left, slide 1) - dark bg + network overlay. 1975 Targeted by Elementor id because L1 and L3 share .ati-vss-panel. 1976 The PNG is a WHITE pattern on transparent - it is invisible without 1977 the background-color underneath it. Do not remove the color. 1978 Top padding 120px clears the overlapping header. */ 1979body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea { 1980 background-color: #0a0a0a !important;
1981 background-image: url('https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2020/02/vertical-split-slider-stars-img.png') !important; 1982 background-size: cover !important; 1983 background-position: center !important; 1984 padding: 120px 60px 60px 60px !important; 1985} 1986 1987/* [VSS-L1TITLE] L1 heading - pulled up, spaced away from the body copy */ 1988body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea h1 { 1989 margin-top: -30px !important; 1990} 1991body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea h1, 1992body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea h2 { 1993 margin-bottom: 40px !important; 1994} 1995 1996/* [VSS-OVERFLOWCLIP] Removing overflow:hidden from body and the wrapper 1997 (required for sticky) exposes a pre-existing 66px horizontal overflow. 1998 Sources: [HDR-NAV] padding-right:400px, and the theme's off-canvas 1999 .qodef-side-area parked off-screen right. 2000 Clip on the html element - it's the scroll container, so this contains the bleed 2001 WITHOUT creating a scroll container between the sticky element and the 2002 window. Clipping body or the wrapper would re-break sticky. */ 2003body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) { 2004 max-width: 100vw; 2005} 2006html:has(body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478)) { 2007 overflow-x: hidden; 2008} 2009 2010/* [VSS-R1IMAGE] R1 right panel - kill container padding so image fills edge 2011 to edge. The 10px Elementor default here was the white strip above R1. */ 2012body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .ati-vss-panel { 2013 padding: 0 !important; 2014} 2015body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .ati-vss-panel img { 2016 width: 100% !important; 2017 height: 100% !important; 2018 object-fit: cover !important; 2019 display: block !important; 2020} 2021body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .ati-vss-panel .elementor-widget-image { 2022 height: 100% !important; 2023 padding: 0 !important; 2024 margin: 0 !important; 2025} 2026body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .ati-vss-panel .elementor-widget-container { 2027 height: 100% !important; 2028 padding: 0 !important; 2029 margin: 0 !important; 2030} 2031 2032/* [VSS-R1VIDEO] R1 (elementor-element-ccb21ab) holds a hosted VIDEO widget on 2033 Sourcing2, which the img-only rules in [VSS-R1IMAGE] above never match. 2034 Elementor wraps a hosted video in `.e-hosted-video` and locks it to 2035 `aspect-ratio: 1/1` (verified via console, Session 32). That square fills the 2036 panel width but, on tall viewports (e.g. 1920x1080 -> R1 panel 960w x 1080h), 2037 can't reach the panel's height - leaving a blank strip below the video. Kill 2038 the ratio lock and force the whole chain (widget -> .e-hosted-video wrapper 2039 -> <video>) to fill the panel and cover-crop. Scoped to R1's stable id; on 2040 pages where R1 is still an image there's no video/.e-hosted-video to match, 2041 so this is a harmless no-op there. */ 2042body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-ccb21ab .elementor-widget, 2043body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-ccb21ab .elementor-wrapper, 2044body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-ccb21ab .e-hosted-video { 2045 width: 100% !important; 2046 height: 100% !important; 2047 aspect-ratio: auto !important; 2048 padding: 0 !important; 2049 margin: 0 !important; 2050} 2051body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-ccb21ab video { 2052 width: 100% !important; 2053 height: 100% !important; 2054 object-fit: cover !important; 2055 display: block !important; 2056} 2057 2058/* [VSS-INITIALPOS] Right track's starting position, set in CSS so the 2059 correct panel is painted before JS parses - prevents flash on load. 2060 VALUE MUST MATCH the JS parking position: (trackProgress - 2) * vh
2061 at trackProgress 0 = -200vh. If you change one, change both. 2062 JS overwrites this on first updatePositions(), so no runtime conflict. */ 2063body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right { 2064 transform: translateY(-200vh); 2065} 2066 2067/* [VSS-UNIFIED-SLOT] The unified panel (L2) is a SIBLING of both tracks, 2068 not a child of either. position:absolute lifts it out of the viewport's 2069 flex flow so it ignores the tracks' 50% width and spans the full screen. 2070 Containing block = .ati-vss-viewport (sticky counts as positioned). 2071 RISE-TO-COVER MODEL: this panel is opaque and rises from below the fold to 2072 cover the (static) split slide 1. It sits ABOVE the tracks - z-index:10 on 2073 this positioned element paints over the non-positioned, static tracks. 2074 Parked at translateY(100vh) pre-JS: if JS never runs, the panel sits below 2075 the fold and slide 1 stays visible. JS drives translateY 100vh -> 0. */ 2076body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified { 2077 position: absolute !important; 2078 top: 0 !important; 2079 left: 0 !important; 2080 width: 100vw !important; 2081 height: 100vh !important; 2082 flex: none !important; /* it is not a flex item any more */ 2083 margin: 0 !important; 2084 padding: 0 !important; 2085 z-index: 10; /* ABOVE the non-positioned static tracks - it covers them */ 2086 transform: translateY(100vh); /* parked below the fold; JS raises it to 0 */ 2087 opacity: 1; /* opaque - revealed by position, not fade */ 2088 background-color: #fff; /* Session 31: opaque backdrop for the panel BOX itself - 2089 `opacity:1` above only means this element isn't see-through 2090 on its own, it does NOT paint a fill color. Content that 2091 doesn't cover 100% of the box (e.g. an object-fit:contain 2092 image, which letterboxes on mismatched aspect ratios) needs 2093 this or the tracks underneath show through the gaps. */ 2094 pointer-events: none; /* JS flips to auto once it covers */ 2095 will-change: transform; /* GPU compositing */ 2096 overflow-y: scroll; /* infographic may be taller than 100vh */ 2097 scrollbar-width: none; /* Firefox - hide scrollbar visually */ 2098 -ms-overflow-style: none; /* IE/Edge - hide scrollbar visually */ 2099} 2100body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified::-webkit-scrollbar { 2101 display: none; /* Chrome/Safari - hide scrollbar visually */ 2102} 2103 2104/* [VSS-UNIFIED-IMAGE] Session 31 - some clone pages (Sourcing2 etc.) put a plain 2105 Elementor Image widget directly in the unified panel instead of the HTML 2106 infographic. The panel is fluid (100vw x 100vh, [VSS-UNIFIED-SLOT]) but an 2107 <img> defaults to its own natural/cropped pixel size - it will never match 2108 a fluid box on its own. object-fit:contain scales the WHOLE image to fit 2109 inside the panel with nothing cropped (may letterbox on mismatched aspect 2110 ratios - accepted tradeoff, see session log). This does NOT fix a 2111 server-side hard crop - the Elementor widget's "Image Resolution" must be 2112 set to Full/Original, not Custom, or the missing pixels are already gone 2113 before this CSS ever runs. */ 2114body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image, 2115body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image .elementor-widget-container { 2116 width: 100% !important; 2117 height: 100% !important; 2118} 2119body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image img { 2120 width: 100% !important; 2121 height: 100% !important; 2122 object-fit: contain !important; 2123 display: block !important; 2124} 2125 2126/* [VSS-COVER-HEADERCLEAR] Session 32 - the whole VSS section sits BEHIND the 2127 fixed header on purpose ([VSS-BEHINDHEADER] pulls it up -86px), so the top 2128 of every full-bleed cover panel is covered by the opaque header bar. L1 2129 already compensates for exactly this with its own 120px top padding (see 2130 [VSS-L1BG]) - the cover panels never got the same treatment, so anything 2131 near the top of their content (an infographic's title, a heading) renders 2132 underneath the header and looks cut off. 2133 MUST come AFTER [VSS-UNIFIED-SLOT], which sets `padding:0 !important` - 2134 same specificity, so the later rule wins. 2135 box-sizing is forced to border-box so the 120px comes OUT of the panel's 2136 100vh rather than adding to it (which would overflow the viewport). 2137 120px matches [VSS-L1BG]'s value; if the header height ever changes, measure 2138 it with: document.querySelector('#qodef-page-header').getBoundingClientRect().height 2139 and update both this and [VSS-L1BG] together. */ 2140body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified { 2141 /* Session 33: promoted to a custom property so [VSS-FLUID] can subtract the 2142 exact same value when sizing the infographic. Hard-coding 120px in two 2143 places is how they drift apart - change it here only. Mobile/tablet zero 2144 this out in [VSS-FLOW] (the header stops overlapping once the section 2145 leaves sticky/behind-header mode). */ 2146 --vss-header-clear: 120px; 2147 box-sizing: border-box !important;
2148 padding-top: var(--vss-header-clear) !important; 2149} 2150 2151/* [VSS-UNIFIED-IMGFULL] Session 35 - the unified panels now hold IMAGES (the 2152 infographic, the partner-logos grid, etc. exported as images). Two effects 2153 for image panels only: 2154 1. TOP BLANK (issue: "too much blank above NOS PARTENAIRES; push it up"). 2155 The 120px clearance above is sized for a TEXT cover; an image with 2156 `object-fit:contain` also gets vertically centred, so any slack piles up 2157 as a blank band above the picture. Fixes: (a) drop the clearance to just 2158 past the ~86px header (reclaims ~30px), and (b) `object-position: center 2159 top` so the image sits at the TOP of its box - any contain slack now 2160 falls to the BOTTOM instead of above the title. Together this pushes the 2161 picture up without pulling its title behind the opaque header (which 2162 padding-top:0 WOULD do - the titles sit at the image's top edge). 2163 2. The picture also uses the reclaimed height, so it is marginally larger. 2164 `:has(> .elementor-widget-image)` matches only panels whose DIRECT child is 2165 an Image widget - so the HTML infographic still on 10478, and cover 2's 2166 "Devenir fournisseur" text, keep their normal 120px clearance. 2167 NOTE (issue 1, user chose to keep whole image): the residual LEFT/RIGHT 2168 margins on a wide desktop are the aspect gap - images are ~1.5:1, the panel 2169 is ~2:1, and `contain` letterboxes that without cropping. Edge-to-edge would 2170 need the images re-exported at ~2:1; user opted to keep the whole image. */ 2171body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified:has(> .elementor-widget-image) { 2172 padding-top: 90px !important; /* was 120px - just clears the ~86px header */ 2173} 2174body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified:has(> .elementor-widget-image) .elementor-widget-image img { 2175 object-position: center top !important; 2176} 2177 2178/* [VSS-10158-IMGCOVER] Session 39 - TRIED AND REVERTED, same session. 2179 10158 got a NEW infographic image (Achat-industriel-infographic.png, 2180 ~1.6:1) and cover was tried to fill the panel edge-to-edge with no white 2181 side margins. Reverted because the panel is a fixed 100vh and very wide 2182 (2:1+) on a large desktop screen - cover has to scale the image up until 2183 it fills that width, and at that scale the image (proportionally taller 2184 than the panel) overflows the 100vh height by more than one full content 2185 row ("Nos engagements" + its 5 icons), which cover then silently crops 2186 away rather than showing. Confirmed live: the row was not just trimmed 2187 at the edges, it was entirely gone below the fold with no way to scroll 2188 to it. That's strictly worse than the letterbox tradeoff this was meant 2189 to fix, so 10158 is back on the same shared [VSS-UNIFIED-IMAGE] contain 2190 behavior as the other 3 VSS pages - see that rule and 2191 [VSS-UNIFIED-IMGFULL] above for the current (accepted) side-margin 2192 tradeoff. If edge-to-edge fill is wanted again, the real fix is 2193 re-exporting the image closer to the panel's own aspect ratio (~2:1), 2194 not forcing cover on a taller image. */ 2195 2196/* [VSS-COVER2] Session 32 - the user built a 3rd cover panel (slide 3) by 2197 duplicating the logos panel and dragging the L3 image + "Devenir 2198 fournisseur" widget into it as 2 columns. It shares the SAME class 2199 (.ati-vss-panel-is-unified) as the logos panel, so it inherits all of 2200 [VSS-UNIFIED-SLOT]'s positioning/sizing for free - only 2 things need 2201 overriding here, targeted by its stable elementor-element ID (also used 2202 by [JS-VSS] to tell the two same-class panels apart): 2203 1. z-index higher than the logos panel, so it visibly rises ABOVE it. 2204 2. Elementor auto-generated flex-direction:column for this panel's 2205 children (verified via console, Session 32) - overridden to 2206 row-reverse so the widgets render in the visual order the user wants 2207 (image left, text right) - the DOM order is [text, image] because the 2208 Navigator labels ("panel3right"/"panel3left") reflect where each 2209 widget ORIGINALLY lived (right track / left track), not where they 2210 render now; row-reverse flips DOM order to visual order without 2211 needing to touch Elementor's own widget order. 2212 3. Vertically center each column's content - a plain height:100% box 2213 left-aligns content to its own top by default, which combined with 2214 point 4 below caused the HTML widget's title to clip and left a gap 2215 at the bottom. 2216 4. The image needs object-fit:cover (not the shared [VSS-UNIFIED-IMAGE] 2217 contain rule, which is correct for the logo grid but wrong for a 2218 single photo - contain letterboxes on a mismatched aspect ratio, 2219 showing empty space around the photo). Targeted via a more specific 2220 selector so it doesn't affect cover 1's logo image. */ 2221body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a { 2222 z-index: 11 !important; 2223 flex-direction: row-reverse !important; 2224 /* Session 34: drive the "Devenir fournisseur" HTML widget's fluid unit. 2225 Everything in devenir-fournisseur.html is calc(var(--u,1px)*N); this 2226 makes --u track the viewport so the text GROWS on a large monitor 2227 instead of sitting tiny in a huge panel (the "html too small on large 2228 PC" report). 100vw/1220 = ~1.05px at the 1280 dev machine (â original 2229 size) rising to the 2px cap at ~2440px wide. The image column ignores 2230 --u, so this is harmless to it. Mobile overrides --u in [VSS-FLOW]. */ 2231 --u: clamp(1.05px, 100vw / 1220, 2px); 2232 /* Session 34: cancel [VSS-COVER-HEADERCLEAR]'s 120px top padding for THIS 2233 panel only. That padding is right for a text/infographic cover, but here 2234 it insets the photo 120px from the top, leaving a blank band above the 2235 handshake instead of letting it bleed edge-to-edge behind the header the 2236 way slide 1's R1 image does. The text column is vertically centered, so 2237 it still clears the (opaque) header without the padding. */ 2238 padding-top: 0 !important; 2239} 2240body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a > * { 2241 width: 50% !important; 2242 flex: 1 1 50% !important; 2243 height: 100% !important; 2244 display: flex !important; 2245 align-items: center !important; 2246 justify-content: center !important; 2247} 2248body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-element-24f5448 { 2249 padding: 0 !important; 2250 margin: 0 !important; 2251 width: 100% !important; 2252 height: 100% !important; 2253} 2254body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-widget-image { 2255 width: 100% !important; 2256 height: 100% !important; 2257 padding: 0 !important; 2258 margin: 0 !important; 2259} 2260body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-widget-container { 2261 width: 100% !important; 2262 height: 100% !important; 2263 padding: 0 !important; 2264 margin: 0 !important; 2265} 2266body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-widget-image img { 2267 width: 100% !important; 2268 height: 100% !important; 2269 object-fit: cover !important; 2270 display: block !important; 2271} 2272 2273/* [VSS-SNAPSCROLL] Prevent browser native scroll-behavior fighting JS snap */ 2274body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) { 2275 scroll-behavior: auto !important; 2276} 2277 2278/* [VSS-NOBACKTOTOP] The theme's floating "back to top" button
2279 (#qodef-back-to-top, site-wide via the qodef-back-to-top--enabled body 2280 class) doesn't belong on the VSS pages - the whole point of these pages 2281 is JS-driven snap scroll, not a manual jump-to-top control, and it sits 2282 on top of the cover panels' content (Session 32: seen overlapping the 2283 slide-3 panel). Hidden here rather than disabled site-wide in theme 2284 settings, since it's still wanted on every other page. */ 2285body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-back-to-top { 2286 display: none !important; 2287} 2288 2289/* [VSS-L3-BG] L3 (empty panel) gets same dark background as L1 2290 so if it briefly appears during snap transit it looks identical to L1. 2291 Session 32: scoped to `.ati-vss-track-is-left .elementor-element-24f5448` 2292 specifically (was a bare page-wide selector) - on Sourcing2 the user 2293 dragged this exact element (still carrying its original ID; Elementor 2294 doesn't reassign IDs on a drag, only on duplication) out of the left 2295 track into cover 2's slide-3 panel. The old unscoped rule followed it 2296 there, painting L1's dark background + network pattern behind the 2297 relocated photo. Scoping to the track means this rule naturally stops 2298 applying once the element is no longer inside it - no cover2-specific 2299 override needed, and pages where it's still in place (10158/10477/10478) 2300 are unaffected. */ 2301body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left .elementor-element-24f5448 { 2302 background-color: #0a0a0a !important; 2303 background-image: url('https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2020/02/vertical-split-slider-stars-img.png') !important; 2304 background-size: cover !important; 2305 background-position: center !important; 2306} 2307 2308/* [VSS-R2-BG] R2-blank gets same image as R1 so it looks identical during transit */ 2309body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-335fbf4 { 2310 padding: 0 !important; 2311 background-color: #000 !important; 2312} 2313body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-335fbf4::after { 2314 content: ''; 2315 display: block; 2316 width: 100%; 2317 height: 100%; 2318 position: absolute; 2319 inset: 0; 2320 background-image: url('https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/collaboration-suppliers-manufacturers-ensure-smooth-operations-communication.jpg'); 2321 background-size: cover; 2322 background-position: center; 2323} 2324 2325/* ---- DEAD CODE WARNING (Session 33) -------------------------------------- 2326 Every [VSS-L2-*] rule from here to the end of section 18 is INERT. These 2327 are plain (non-!important) declarations, and the infographic sizes itself 2328 with inline styles, which beat them - so none of this has had any effect 2329 for several sessions. Worse, the values here have silently drifted away 2330 from the ones that actually render (this block says the map is 200px tall 2331 and the eyebrow 22px; the widget really uses 105 and 14 units). Reading 2332 these numbers to understand the current design will mislead you. 2333 2334 The live sizing model is: infographic_unified.html (inline calc()) + 2335 [VSS-FLUID] in section 18b, which owns --u. Change sizes there. 2336 2337 Left in place rather than deleted because removing ~140 lines is churn 2338 unrelated to this session's task and none of it is doing harm today. 2339 Flagged in CLAUDE.md's backlog for deletion. 2340 -------------------------------------------------------------------------- */ 2341 2342/* [VSS-L2-WRAP] Infographic sized to fill exactly 100vh (632px on this screen). 2343 flex column + justify:space-between pushes top/bottom sections to edges. 2344 overflow:hidden clips anything that doesn't fit. */ 2345body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .vss-l2-infographic { 2346 width: 100%; 2347 height: 100vh; 2348 padding: 20px 40px 16px; 2349 box-sizing: border-box; 2350 background: #ffffff; 2351 display: flex; 2352 flex-direction: column; 2353 justify-content: space-between; 2354 overflow: hidden; 2355} 2356 2357/* [VSS-L2-TOP] Top section doesn't grow - only takes what it needs */ 2358body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-top { 2359 flex: 0 0 auto; 2360} 2361 2362/* [VSS-L2-BOTTOM] Bottom section doesn't grow either */ 2363body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-bottom { 2364 flex: 0 0 auto; 2365 margin-top: 10px; 2366} 2367 2368/* [VSS-L2-COMPACT] Tuned to fit 632px viewport without scroll */ 2369body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-eyebrow { font-size: 14px; margin: 0 0 2px; } 2370body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-title { font-size: 17px; line-height: 1.2; margin: 0 0 10px; } 2371body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-rows { gap: 8px; } 2372body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row { gap: 12px; } 2373body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon { flex: 0 0 32px; width: 32px; height: 32px; } 2374body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon svg { width: 14px; height: 14px; } 2375body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text { padding-left: 10px; } 2376body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text strong { font-size: 12px; } 2377body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text span { font-size: 10px; } 2378body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-map { max-height: 200px; } 2379body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-engagements-title { font-size: 13px; margin: 0 0 8px; padding-bottom: 4px; } 2380body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-cards { gap: 8px; } 2381body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card { padding: 10px 8px; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); } 2382body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card-icon { width: 28px; height: 28px; margin: 0 auto 6px; } 2383body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card h4 { font-size: 9px; margin: 0 0 4px; padding-bottom: 3px; } 2384body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card p { font-size: 9px; line-height: 1.3; } 2385 2386/* [VSS-L2-TOP] Top row: text left, map right */ 2387body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-top { 2388 display: flex; 2389 gap: 40px; 2390 align-items: flex-start; 2391} 2392body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-left { flex: 0 0 46%; } 2393body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-right { flex: 1; min-width: 0; } 2394 2395/* [VSS-L2-TITLE] Eyebrow + red headline */ 2396body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-eyebrow { 2397 font-size: 22px; 2398 font-weight: 800; 2399 color: #111; 2400 margin: 0 0 6px; 2401} 2402body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-title { 2403 font-size: 26px; 2404 font-weight: 800; 2405 line-height: 1.25;
2406 color: #e30613; 2407 margin: 0 0 30px; 2408} 2409 2410/* [VSS-L2-ROWS] Four icon rows */ 2411body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-rows { display: flex; flex-direction: column; gap: 20px; } 2412body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row { display: flex; align-items: center; gap: 18px; } 2413body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon { 2414 flex: 0 0 48px; 2415 width: 48px; 2416 height: 48px; 2417 border-radius: 50%; 2418 border: 2px solid #e30613; 2419 color: #e30613; 2420 display: flex; 2421 align-items: center; 2422 justify-content: center; 2423} 2424body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon svg { width: 22px; height: 22px; } 2425body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text { display: flex; flex-direction: column; padding-left: 14px; border-left: 2px solid #e5e5e5; } 2426body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text strong { color: #e30613; font-size: 16px; font-weight: 800; letter-spacing: 0.3px; } 2427body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-row-text span { color: #111; font-size: 13px; font-weight: 600; } 2428 2429/* [VSS-L2-MAP] Inline SVG world map with arcs */ 2430body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-map { width: 100%; height: auto; display: block; } 2431body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-arcs .arc.red { stroke: #e30613; } 2432body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-arcs .arc.orange { stroke: #f7941d; } 2433 2434/* [VSS-L2-BOTTOM] Engagements section */ 2435body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-bottom { margin-top: 40px; } 2436body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-engagements-title { 2437 font-size: 22px; 2438 font-weight: 800; 2439 color: #f7941d; 2440 margin: 0 0 20px; 2441 padding-bottom: 8px; 2442 border-bottom: 2px solid #f7941d; 2443 display: inline-block; 2444} 2445 2446/* [VSS-L2-CARDS] Five engagement cards - notched corners via clip-path */ 2447body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-cards { 2448 display: grid; 2449 grid-template-columns: repeat(5, 1fr); 2450 gap: 18px; 2451} 2452body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card { 2453 border: 1.5px solid #e5e5e5; 2454 padding: 24px 16px; 2455 text-align: center; 2456 clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px)); 2457} 2458body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card-icon { 2459 width: 46px; 2460 height: 46px; 2461 margin: 0 auto 16px; 2462 color: #e30613; 2463} 2464body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card-icon svg { width: 100%; height: 100%; } 2465body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card:nth-child(2) .vss-l2-card-icon, 2466body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card:nth-child(5) .vss-l2-card-icon { color: #f7941d; } 2467body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card h4 { 2468 font-size: 13px; 2469 font-weight: 800; 2470 color: #111; 2471 margin: 0 0 10px; 2472 padding-bottom: 6px; 2473 border-bottom: 2px solid #e5e5e5; 2474 display: inline-block; 2475} 2476body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-card p { 2477 font-size: 12px; 2478 color: #444; 2479 margin: 0; 2480 line-height: 1.4; 2481} 2482 2483 2484/* ============================================================ 2485 18b. VSS RESPONSIVE (Session 33) 2486 ------------------------------------------------------------ 2487 Everything in section 18 above this point was written against ONE 2488 screen: the 1280x632 dev window. This subsection makes the four VSS 2489 pages work from a 360px phone up to a 4K monitor. Three jobs: 2490 2491 [VSS-FLUID] >=1025px - the infographic scales WITH the viewport 2492 instead of sitting at a fixed 9px inside a giant 2493 panel (the "too small on big screens" report). 2494 [VSS-BIGSCREEN] >=1600px - L1's typography and padding scale too, so 2495 the split slide doesn't go sparse on a large monitor. 2496 [VSS-FLOW] <=1024px - the entire scroll-hijack / split-track 2497 model is switched OFF and every panel becomes an 2498 ordinary stacked full-width section. 2499 2500 ORDER MATTERS: this subsection must stay LAST in section 18. Several 2501 rules below deliberately re-declare properties set earlier at equal 2502 specificity and win only by source order. 2503 ============================================================ */ 2504 2505/* [VSS-FLUID] One fluid unit driving the whole infographic. 2506 2507 THE BUG THIS FIXES: every size in infographic_unified.html is an inline 2508 style, and inline styles are invisible to @media queries - so the design 2509 was frozen at the window it was tuned on. On a 1440px-tall monitor the 2510 panel grew to fill the screen while the type stayed at 9px, leaving the 2511 blank space the client reported. 2512 2513 THE MECHANISM: those inline styles are now written as 2514 `calc(var(--u,1px) * N)`, where N is the original reference pixel value. 2515 A custom property CAN be changed by a media query, and an inline calc() 2516 re-evaluates when it does - so we get full responsive control of an 2517 inline-styled element without fighting specificity at all. To rescale 2518 the whole infographic for a breakpoint, change --u here; never edit the 2519 numbers in the widget. 2520 2521 THE MATH - do not change one of these without the other: 2522 panel height = 100vh
2523 panel reserves = var(--vss-header-clear) (fixed header) 2524 so infographic height H = 100vh - var(--vss-header-clear) 2525 The reference design held 532px of content between 10px top and 10px 2526 bottom padding = a 552-unit budget. So u = H / 552, and the content 2527 fills H EXACTLY at every viewport height: no blank space, no overflow, 2528 at any screen size. That exact-fit property is why there is no clamp() 2529 or cap on --u - capping it would reintroduce blank space, which is the 2530 very thing being fixed. 2531 2532 `height` is forced here rather than left to the widget's inline 2533 `height:100%` because 100% would depend on every Elementor wrapper in 2534 between also being 100% tall, which is not guaranteed. Setting the 2535 computed height directly is immune to that chain; the inline 100% 2536 stays as the no-CSS fallback. */ 2537@media (min-width: 1025px) { 2538 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-infographic { 2539 --u: calc((100vh - var(--vss-header-clear, 120px)) / 552); 2540 height: calc(100vh - var(--vss-header-clear, 120px)) !important; 2541 width: 100% !important; 2542 } 2543} 2544 2545/* [VSS-BIGSCREEN] L1's copy is Elementor-managed and sized in fixed px, so on 2546 anything wider than the dev machine the dark panel reads as mostly empty 2547 space around small text ("no writing gets bigger" report). This scales the 2548 heading, body copy AND padding continuously with viewport width. 2549 2550 Session 34: threshold lowered 1600 -> 1281. The 1600 gate was the actual 2551 bug behind "no writing gets bigger" - a typical "Large PC" is 1440-1536 2552 wide, i.e. BELOW 1600, so the rule never fired on the exact screens the 2553 client was looking at. 1281 keeps the 1280 dev-machine baseline untouched 2554 (it is `min-width`, so =1280 is excluded) while catching every larger 2555 screen. The clamp() vw terms do the smooth growth; the floors sit at/above 2556 the previous values so nothing shrinks. */ 2557@media (min-width: 1281px) { 2558 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea { 2559 padding: clamp(120px, 9vh, 200px) clamp(60px, 4vw, 120px) clamp(60px, 6vh, 110px) !important; 2560 } 2561 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea h1, 2562 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea h2, 2563 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea .elementor-heading-title { 2564 font-size: clamp(36px, 3vw, 66px) !important; 2565 line-height: 1.15 !important; 2566 } 2567 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea p, 2568 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea li { 2569 font-size: clamp(17px, 1.3vw, 27px) !important; 2570 line-height: 1.6 !important; 2571 } 2572} 2573 2574/* [VSS-FLOW] TABLET + MOBILE - the VSS mechanism is switched OFF entirely. 2575 2576 WHY OFF, not "made smaller". Three things break below ~1025px and none of 2577 them is a sizing problem: 2578 1. Two 50%-wide tracks give ~195px columns on a 390px phone. The L1 copy 2579 is unreadable at that width no matter how the type is tuned. 2580 2. Scroll hijacking fights touch momentum scrolling and the mobile 2581 address bar's show/hide (which changes 100vh mid-gesture). It is also 2582 an accessibility problem - it removes the user's control of the page. 2583 3. 100vh is unreliable on mobile browsers for the same address-bar 2584 reason, and the entire motion model is built on 100vh steps. 2585 So below 1025px every panel becomes an ordinary full-width block in normal 2586 document flow, scrolled natively, in this order: 2587 L1 (dark copy) -> R1 (image/video) -> cover 1 -> cover 2 2588 2589 [JS-VSS] is gated to >=1025px (Session 33) so nothing drives transforms 2590 here. That gate is what makes `transform:none` safe below - see the JS 2591 Principles note in CLAUDE.md warning never to set it while the JS is
2592 still driving the tracks. The !important also means a stale inline 2593 transform left behind by a desktop->mobile resize cannot survive. */ 2594@media (max-width: 1024px) { 2595 2596 /* 1. Runway collapses - there is no scroll distance to consume any more */ 2597 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss { 2598 height: auto !important; 2599 min-height: 0 !important; 2600 } 2601 2602 /* 2. Un-pin the sticky viewport */ 2603 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-viewport { 2604 position: static !important; 2605 height: auto !important; 2606 min-height: 0 !important; 2607 overflow: visible !important; 2608 display: block !important; 2609 } 2610 2611 /* 3. Tracks: full width, natural height, no transform. 2612 display:block also retires [VSS-R-ORDER]'s flex `order` here - that 2613 is intentional and safe, because the only right-track child left 2614 visible below is the one holding real content (see 5). */ 2615 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left, 2616 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right { 2617 display: block !important; 2618 width: 100% !important; 2619 height: auto !important; 2620 min-height: 0 !important; 2621 transform: none !important; 2622 will-change: auto !important; 2623 } 2624 2625 /* 4. In-track panels stop being exactly one screen tall */ 2626 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left > .ati-vss-panel, 2627 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right > .ati-vss-panel, 2628 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right > .ati-vss-panel-is-blank { 2629 width: 100% !important; 2630 height: auto !important; 2631 min-height: 0 !important; 2632 flex: none !important; 2633 } 2634 2635 /* 5. Hide the never-seen filler panels. On desktop these are parked 2636 off-screen by the transform; with the transform gone they would 2637 render as large empty coloured blocks in the middle of the page. 2638 The L3 selector is scoped to .ati-vss-track-is-left ON PURPOSE - on 2639 Sourcing2 that same element ID was dragged into cover 2, and Elementor 2640 does not reassign IDs on drag, so an unscoped rule would hide real 2641 content there. Same trap that bit [VSS-L3-BG] in Session 32. */ 2642 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-left .elementor-element-24f5448, 2643 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-3355159, 2644 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-335fbf4 { 2645 display: none !important; 2646 } 2647 2648 /* 6. Cover panels rejoin normal flow instead of being absolutely 2649 positioned and parked below the fold by JS. */ 2650 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified { 2651 --vss-header-clear: 0px; /* nothing overlaps once we leave sticky mode */ 2652 position: static !important; 2653 transform: none !important; 2654 opacity: 1 !important; 2655 pointer-events: auto !important; 2656 width: 100% !important; 2657 height: auto !important; 2658 min-height: 0 !important; 2659 z-index: auto !important; 2660 overflow: visible !important; 2661 will-change: auto !important; 2662 padding-top: 0 !important; 2663 } 2664 2665 /* 7. The section no longer sits behind the fixed header, so undo the 2666 negative pull - otherwise L1's first lines start underneath it. */ 2667 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) #qodef-page-content { 2668 margin-top: 0 !important; 2669 } 2670 2671 /* 8. Belt-and-braces: [JS-VSS] hides the page scrollbar with an inline 2672 style while inside the VSS zone. The JS gate means it should never 2673 run here, but an !important rule guarantees the page can always be 2674 scrolled even if a stale inline value survives a resize. */ 2675 html:has(body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478)) { 2676 overflow-y: auto !important; 2677 } 2678 2679 /* 9. L1 - desktop's 120px/60px padding is far too generous on a phone */ 2680 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea { 2681 padding: 56px 24px 48px !important; 2682 min-height: 0 !important; 2683 } 2684 2685 /* 10. R1 (image on most pages, hosted video on Sourcing2). Session 34: use 2686 NATURAL height, not an aspect-ratio box. 2687 WHY THE CHANGE: the first version gave the panel aspect-ratio:16/10 2688 and told the media height:100%. But height:100% only resolves if 2689 EVERY wrapper between the panel and the <img>/<video> is also 2690 height:100% - the Elementor widget wrappers are not, so the media 2691 collapsed to its natural height, shorter than the 16/10 box, leaving
2692 a white strip below the image (the reported bug). Letting the media 2693 set its own height makes the container wrap it exactly - a blank 2694 below is then structurally impossible, and cropping a photo on mobile 2695 was never needed anyway. `display:block` drops the panel's desktop 2696 flex-centering; the aspect-ratio/height/object-fit resets undo the 2697 global [VSS-R1IMAGE]/[VSS-R1VIDEO] sizing for this breakpoint. */ 2698 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab { 2699 display: block !important; 2700 height: auto !important; 2701 aspect-ratio: auto !important; 2702 } 2703 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab .elementor-widget, 2704 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab .elementor-widget-container, 2705 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab .elementor-wrapper, 2706 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab .e-hosted-video { 2707 height: auto !important; 2708 aspect-ratio: auto !important; 2709 display: block !important; 2710 } 2711 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab img, 2712 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab video { 2713 width: 100% !important; 2714 height: auto !important; 2715 aspect-ratio: auto !important; 2716 object-fit: initial !important; 2717 display: block !important; 2718 } 2719 2720 /* 11. A plain Image widget in a cover panel (the logo grid, the Export & 2721 Transport infographic) is height:100% + object-fit:contain on 2722 desktop. In auto-height flow that collapses, so let it size to its 2723 own aspect ratio instead. Side effect worth noting: this also makes 2724 the desktop letterboxing question moot on mobile - at natural 2725 aspect there are no side margins to fill. */ 2726 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image, 2727 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image .elementor-widget-container { 2728 height: auto !important; 2729 display: block !important; 2730 } 2731 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-panel-is-unified .elementor-widget-image img { 2732 width: 100% !important; 2733 height: auto !important; 2734 object-fit: initial !important; /* natural height = container wraps it, no gap */ 2735 display: block !important; 2736 } 2737 2738 /* 12. Cover 2 (Sourcing2) - desktop uses row-reverse to get image-left / 2739 text-right out of a [text, image] DOM order. column-REVERSE keeps 2740 that same reading order stacked: image on top, text beneath. 2741 --u drops to a fixed readable base here (the desktop value is 2742 viewport-derived and would be tiny at phone width); ~1.15 lands the 2743 28px title near 32px and 13-14px body near 15-16px. Image uses 2744 natural height for the same no-blank reason as rule 10. */ 2745 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a { 2746 flex-direction: column-reverse !important; 2747 height: auto !important; 2748 gap: 0 !important; 2749 --u: 1.15px; 2750 } 2751 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-element-24f5448, 2752 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-element-24f5448 .elementor-widget-container { 2753 width: 100% !important; 2754 height: auto !important; 2755 aspect-ratio: auto !important; 2756 display: block !important; 2757 } 2758 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-8e4528a .elementor-element-24f5448 img { 2759 width: 100% !important; 2760 height: auto !important; 2761 object-fit: initial !important; 2762 display: block !important; 2763 } 2764 2765 /* 13. The infographic stops being a fill-the-screen layout and becomes a 2766 normal stacked document. --u switches from viewport-derived to a 2767 fixed readable base: 9px reference text lands at ~14px, which is 2768 the minimum comfortable body size on a phone. */ 2769 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-infographic { 2770 --u: 1.55px; 2771 display: block !important; 2772 height: auto !important; 2773 width: 100% !important; 2774 padding: 32px 20px 40px !important; 2775 overflow: visible !important; 2776 } 2777 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-top { 2778 display: block !important; 2779 } 2780 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-left { 2781 flex: none !important; 2782 width: 100% !important; 2783 } 2784 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-right { 2785 margin-top: 26px !important; 2786 } 2787 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-map { 2788 max-height: none !important; 2789 width: 100% !important; 2790 } 2791 /* Icons are the one thing that should NOT scale with --u here - at 1.55 2792 a 32-unit circle lands near 50px, which crowds the row on a phone. */ 2793 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon { 2794 flex: 0 0 40px !important; 2795 width: 40px !important; 2796 height: 40px !important; 2797 } 2798 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-icon svg { 2799 width: 18px !important; 2800 height: 18px !important; 2801 } 2802 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-cards { 2803 grid-template-columns: repeat(2, 1fr) !important; 2804 gap: 12px !important; 2805 } 2806} 2807 2808/* [VSS-FLOW-PHONE] Below 600px the 2-up engagement cards get too narrow for 2809 their headings (several are two words on two lines already). */ 2810@media (max-width: 600px) { 2811 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-cards { 2812 grid-template-columns: 1fr !important; 2813 } 2814 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .vss-l2-infographic { 2815 --u: 1.5px; 2816 padding: 28px 16px 32px !important; 2817 } 2818 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .elementor-element-05b1eea { 2819 padding: 48px 18px 40px !important; 2820 } 2821 body:is(.page-id-10158, .page-id-10476, .page-id-10477, .page-id-10478) .ati-vss-track-is-right .elementor-element-ccb21ab { 2822 aspect-ratio: 4 / 3; 2823 } 2824} 2825 2826 2827/* ============================================================ 2828 19. HOMEPAGE VIDEO VARIANT - clone (page-id-10222) 2829 ------------------------------------------------------------ 2830 Client preview: homepage with a video instead of the interactive 2831 columns. The clone is NOT .home, so every .home rule in section 7 2832 (heights, logo overlay, nav hiding) simply never fires here - 2833 that's also why Secteurs d'activite shows in its header naturally. 2834 Video is injected by Custom JS; CSS owns the sizing. 2835 ============================================================ */ 2836 2837/* [VIDHOME-HIDECOLUMNS] Remove the interactive columns widget */ 2838body.page-id-10222 .qodef-interactive-banners { 2839 display: none !important; 2840} 2841 2842/* [VIDHOME-SECTIONBOX] Section = viewport - header(86) - marquee(35), 2843 pushed below the header. Same formula as [BANNER-HEIGHT]. */ 2844body.page-id-10222 .elementor-element-e542973 { 2845 min-height: calc(100vh - 86px - 35px) !important; 2846 height: calc(100vh - 86px - 35px) !important; 2847 margin-top: 86px !important; 2848} 2849 2850/* [VIDHOME-FILL] Column/widget/container must stretch to the section's full 2851 height - otherwise the video centres with empty bands above and below. */ 2852body.page-id-10222 .elementor-element-0a4b23f, 2853body.page-id-10222 .elementor-element-485c428, 2854body.page-id-10222 .elementor-element-485c428 > .elementor-widget-container, 2855body.page-id-10222 .ati-home-video-container { 2856 height: 100% !important; 2857 align-self: stretch !important; 2858} 2859 2860/* [VIDHOME-CONTAINER] Video container - clips the cover-cropped video */ 2861body.page-id-10222 .ati-home-video-container { 2862 width: 100%; 2863 overflow: hidden; 2864 position: relative; 2865} 2866 2867/* [VIDHOME-VIDEO] The video itself - fills and crops to the container. 2868 To change the video, edit the src in the Custom JS block, not here. */ 2869body.page-id-10222 .ati-home-video-container video { 2870 width: 100%; 2871 height: 100%; 2872 object-fit: cover; 2873 display: block; 2874} 2875 2876/* [COUNTER-TONNAGE] Session - the "Nos Services" counter row (Clients/Pays/ 2877 Tonnes de marchandise/Fournisseurs) writes each label vertically. Client 2878 wants "TONNES DE MARCHANDISE" (2 words) where the other 3 counters have 1, 2879 and can't use a manual line break in the field, so it wraps and crowds the 2880 number ("30000") next to it. 2881 2882 TWO WRONG GUESSES BEFORE THIS, both confirmed dead live via console 2883 (getComputedStyle + getBoundingClientRect on the real page) - this is a 2884 Stal theme widget (stal_core_counter), not a native Elementor counter, so 2885 .elementor-counter-title/.elementor-counter-number-wrapper - the classes 2886 that seemed obvious - don't exist on it at all. Never landed, on either 2887 attempt. Console dump of the widget's real descendants found the actual 2888 structure: 2889 p.qodef-m-title <- the vertical label 2890 div.qodef-m-digit-wrapper <- the number 2891 The label is `position:absolute; left:-20px; writing-mode:vertical-rl; 2892 transform:matrix(-1,0,0,-1,0,0)` (a 180deg flip), positioned relative to 2893 its parent .qodef-m-digit-wrapper (position:relative). Measured rects: 2894 title box right edge 983.9px, digit-wrapper left edge 961.6px - the label 2895 was overlapping 22.3px INTO the number, which is what "flush against the 2896 number" actually was. 2897 FIX: `left` is a normal layout offset applied before the rotation 2898 transform (the flip is centered on the box's own center via 2899 transform-origin, so it doesn't change where `left` puts that center) - 2900 moving it further negative reliably shifts the whole label left, still 2901 rotated the same way. -50px (from -20px) cleared the FR overlap. 2902 2903 FOLLOW-UP: the EN translation ("TONNES OF GOODS", 3 words vs FR's 2) 2904 wraps to more vertical-text lines, making the label box wider - at the 2905 same -50px it still measured a live 13.375px overlap into the number 2906 (getBoundingClientRect: titleRight 975.02px vs digitLeft 961.65px). 2907 -50px was tuned for FR's box width, not EN's. Since left offset is 2908 language-independent (both languages render through the same 2909 #counter-tonnage element/CSS, TranslatePress swaps only the text node), 2910 one value has to clear the widest-rendered label across every language
2911 this site's translated into - pushed to -71px (13.375 + 8px breathing 2912 room, same margin used for the original FR fix). Re-check other active 2913 languages here too if any get added later. 2914 Verify what's actually left of this counter (the PAYS widget) isn't 2915 crowded - not checked at the new offset. */ 2916#counter-tonnage .qodef-m-title { 2917 left: -71px !important; 2918} 2919</style><link rel="preconnect" href="https://fonts.googleapis.com"> 2920<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin> 2921<meta name="generator" content="Powered by Slider Revolution 6.7.40 - responsive, Mobile-Friendly Slider Plugin for WordPress with comfortable drag and drop interface." /> 2922<style class='wp-fonts-local' type='text/css'>@font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:fallback;src:url(https://goldenrod-pigeon-420491.hostingersite.com/wp-content/plugins/woocommerce/assets/fonts/Inter-VariableFont_slnt,wght.woff2) format('woff2');font-stretch:normal}@font-face{font-family:Cardo;font-style:normal;font-weight:400;font-display:fallback;src:url(https://goldenrod-pigeon-420491.hostingersite.com/wp-content/plugins/woocommerce/assets/fonts/cardo_normal_400.woff2) format('woff2')}</style> 2923<link rel="icon" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1-32x32.webp" sizes="32x32" /> 2924<link rel="icon" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1-192x192.webp" sizes="192x192" /> 2925<link rel="apple-touch-icon" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1-180x180.webp" /> 2926<meta name="msapplication-TileImage" content="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1-270x270.webp" />
2927<script data-optimized="1" src="data:text/javascript;base64,d2luZG93Ll90cHQ/Pz17fTt3aW5kb3cuU1I3Pz89e307X3RwdC5SPz89e307X3RwdC5SLmZvbnRzPz89e307X3RwdC5SLmZvbnRzLmN1c3RvbUZvbnRzPz89e307U1I3LmRldk1vZGU9ITE7U1I3LkY/Pz17fTtTUjcuRz8/PXt9O1NSNy5MSUI/Pz17fTtTUjcuRT8/PXt9O1NSNy5FLmdBZGRvbnM/Pz17fTtTUjcuRS5waHA/Pz17fTtTUjcuRS5ub25jZT0nNzRhNDdmMmMwZSc7U1I3LkUuYWpheHVybD0naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCc7U1I3LkUucmVzdHVybD0naHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1qc29uLyc7U1I3LkUuc2x1Z19wYXRoPSdyZXZzbGlkZXIvcmV2c2xpZGVyLnBocCc7U1I3LkUuc2x1Zz0ncmV2c2xpZGVyJztTUjcuRS5wbHVnaW5fdXJsPSdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvJztTUjcuRS53cF9wbHVnaW5fdXJsPSdodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy8nO1NSNy5FLnJldmlzaW9uPSc2LjcuNDAnO1NSNy5FLmZvbnRCYXNlVXJsPScnO1NSNy5HLmJyZWFrUG9pbnRzPVsxMjQwLDEwMjQsNzc4LDQ4MF07U1I3LkcuZlNVVlc9ITE7U1I3LkUubW9kdWxlcz1bJ21vZHVsZScsJ3BhZ2UnLCdzbGlkZScsJ2xheWVyJywnZHJhdycsJ2FuaW1hdGUnLCdzcnRvb2xzJywnY2FudmFzJywnZGVmYXVsdHMnLCdjYXJvdXNlbCcsJ25hdmlnYXRpb24nLCdtZWRpYScsJ21vZGlmaWVycycsJ21pZ3JhdGlvbiddO1NSNy5FLmxpYnM9WydXRUJHTCddO1NSNy5FLmNzcz1bJ2Nzc2xwJywnY3NzYnRucycsJ2Nzc2ZpbHRlcnMnLCdjc3NuYXYnLCdjc3NtZWRpYSddO1NSNy5FLnJlc291cmNlcz17fTtTUjcuRS55dG5jPSExO1NSNy5KU09OPz89e307Ci8qISBTbGlkZXIgUmV2b2x1dGlvbiA3LjAgLSBQYWdlIFByb2Nlc3NvciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7d2luZG93LlNSNz8/PXt9LHdpbmRvdy5fdHB0Pz89e30sU1I3LnZlcnNpb249IlNsaWRlciBSZXZvbHV0aW9uIDYuNy4xNiIsX3RwdC5nZXRNb2JpbGVab29tPSgpPT5fdHB0LmlzX21vYmlsZT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgvd2luZG93LmlubmVyV2lkdGg6MSxfdHB0LmdldFdpbkRpbT1mdW5jdGlvbih0KXtfdHB0LnNjcmVlbkhlaWdodFdpdGhVcmxCYXI/Pz13aW5kb3cuaW5uZXJIZWlnaHQ7bGV0IGU9U1I3LkY/Lm1vZGFsPy52aXNpYmxlJiZTUjcuTVtTUjcuRi5tb2R1bGUuZ2V0SWRCeUFsaWFzKFNSNy5GLm1vZGFsLnJlcXVlc3RlZCldO190cHQuc2Nyb2xsQmFyPXdpbmRvdy5pbm5lcldpZHRoIT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxlJiZ3aW5kb3cuaW5uZXJXaWR0aCE9PWUuYy5tb2R1bGUuY2xpZW50V2lkdGgsX3RwdC53aW5XPV90cHQuZ2V0TW9iaWxlWm9vbSgpKndpbmRvdy5pbm5lcldpZHRoLShfdHB0LnNjcm9sbEJhcnx8InByZXBhcmUiPT10P190cHQuc2Nyb2xsQmFyVz8/X3RwdC5tZXN1cmVTY3JvbGxCYXIoKTowKSxfdHB0Lndpbkg9X3RwdC5nZXRNb2JpbGVab29tKCkqd2luZG93LmlubmVySGVpZ2h0LF90cHQud2luV0FsbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9LF90cHQuZ2V0UmVzcG9uc2l2ZUxldmVsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFNSNy5HLmZTVVZXP190cHQuY2xvc2VzdEdFKHQsd2luZG93LmlubmVyV2lkdGgpOl90cHQuY2xvc2VzdEdFKHQsX3RwdC53aW5XQWxsKX0sX3RwdC5tZXN1cmVTY3JvbGxCYXI9ZnVuY3Rpb24oKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5jbGFzc05hbWU9IlJTc2Nyb2xsYmFyLW1lYXN1cmUiLHQuc3R5bGUud2lkdGg9IjEwMHB4Iix0LnN0eWxlLmhlaWdodD0iMTAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUudG9wPSItOTk5OXB4Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpLF90cHQuc2Nyb2xsQmFyVz10Lm9mZnNldFdpZHRoLXQuY2xpZW50V2lkdGgsZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxfdHB0LnNjcm9sbEJhcld9LF90cHQubG9hZENTUz1hc3luYyBmdW5jdGlvbih0LGUscyl7cmV0dXJuIHM/X3RwdC5SLmZvbnRzLnJlcXVpcmVkW2VdLnN0YXR1cz0xOihfdHB0LlJbZV0/Pz17fSxfdHB0LlJbZV0uc3RhdHVzPTEpLG5ldyBQcm9taXNlKCgoaSxuKT0+e2lmKF90cHQuaXNTdHlsZXNoZWV0TG9hZGVkKHQpKXM/X3RwdC5SLmZvbnRzLnJlcXVpcmVkW2VdLnN0YXR1cz0yOl90cHQuUltlXS5zdGF0dXM9MixpKCk7ZWxzZXtjb25zdCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtvLnJlbD0ic3R5bGVzaGVldCI7bGV0IGw9InRleHQiLHI9ImNzcyI7by50eXBlPWwrIi8iK3Isby5ocmVmPXQsby5vbmxvYWQ9KCk9PntzP190cHQuUi5mb250cy5yZXF1aXJlZFtlXS5zdGF0dXM9MjpfdHB0LlJbZV0uc3RhdHVzPTIsaSgpfSxvLm9uZXJyb3I9KCk9PntzP190cHQuUi5mb250cy5yZXF1aXJlZFtlXS5zdGF0dXM9MzpfdHB0LlJbZV0uc3RhdHVzPTMsbihuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIENTUzogJHt0fWApKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChvKX19KSl9LF90cHQuYWRkQ29udGFpbmVyPWZ1bmN0aW9uKHQpe2NvbnN0e3RhZzplPSJkaXYiLGlkOnMsY2xhc3M6aSxkYXRhczpuLHRleHRDb250ZW50Om8saUhUTUw6bH09dCxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7aWYocyYmIiIhPT1zJiYoci5pZD1zKSxpJiYiIiE9PWkmJihyLmNsYXNzTmFtZT1pKSxuKWZvcihjb25zdFt0LGVdb2YgT2JqZWN0LmVud
2927HJpZXMobikpInN0eWxlIj09dD9yLnN0eWxlLmNzc1RleHQ9ZTpyLnNldEF0dHJpYnV0ZShgZGF0YS0ke3R9YCxlKTtyZXR1cm4gbyYmKHIudGV4dENvbnRlbnQ9byksbCYmKHIuaW5uZXJIVE1MPWwpLHJ9LF90cHQuY29sbGVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJue2ZyYWdtZW50Om5ldyBEb2N1bWVudEZyYWdtZW50LGFkZCh0KXt2YXIgZT1fdHB0LmFkZENvbnRhaW5lcih0KTtyZXR1cm4gdGhpcy5mcmFnbWVudC5hcHBlbmRDaGlsZChlKSxlfSxhcHBlbmQodCl7dC5hcHBlbmRDaGlsZCh0aGlzLmZyYWdtZW50KX19fSxfdHB0LmlzU3R5bGVzaGVldExvYWRlZD1mdW5jdGlvbih0KXtsZXQgZT10LnNwbGl0KCI/IilbMF07cmV0dXJuIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXSwgbGlua1tyZWw9InByZWxvYWQiXScpKS5zb21lKCh0PT50LmhyZWYuc3BsaXQoIj8iKVswXT09PWUpKX0sX3RwdC5wcmVsb2FkZXI9e3JlcXVlc3RzOm5ldyBNYXAscHJlbG9hZGVyVGVtcGxhdGVzOm5ldyBNYXAsc2hvdzpmdW5jdGlvbih0LGUpe2lmKCFlfHwhdClyZXR1cm47Y29uc3R7dHlwZTpzLGNvbG9yOml9PWU7aWYoczwwfHwib2ZmIj09cylyZXR1cm47Y29uc3Qgbj1gcHJlbG9hZGVyXyR7c31gO2xldCBvPXRoaXMucHJlbG9hZGVyVGVtcGxhdGVzLmdldChuKTtvfHwobz10aGlzLmJ1aWxkKHMsaSksdGhpcy5wcmVsb2FkZXJUZW1wbGF0ZXMuc2V0KG4sbykpLHRoaXMucmVxdWVzdHMuaGFzKHQpfHx0aGlzLnJlcXVlc3RzLnNldCh0LHtjb3VudDowfSk7Y29uc3QgbD10aGlzLnJlcXVlc3RzLmdldCh0KTtjbGVhclRpbWVvdXQobC50aW1lciksbC5jb3VudCsrLDE9PT1sLmNvdW50JiYobC50aW1lcj1zZXRUaW1lb3V0KCgoKT0+e2wucHJlbG9hZGVyQ2xvbmU9by5jbG9uZU5vZGUoITApLGwuYW5pbSYmbC5hbmltLmtpbGwoKSx2b2lkIDAhPT1fdHB0LmdzYXA/bC5hbmltPV90cHQuZ3NhcC5mcm9tVG8obC5wcmVsb2FkZXJDbG9uZSwxLHtvcGFjaXR5OjB9LHtvcGFjaXR5OjF9KTpsLnByZWxvYWRlckNsb25lLmNsYXNzTGlzdC5hZGQoInNyNy1mYWRlLWluIiksdC5hcHBlbmRDaGlsZChsLnByZWxvYWRlckNsb25lKX0pLDE1MCkpfSxoaWRlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLnJlcXVlc3RzLmhhcyh0KSlyZXR1cm47Y29uc3QgZT10aGlzLnJlcXVlc3RzLmdldCh0KTtlLmNvdW50LS0sZS5jb3VudDwwJiYoZS5jb3VudD0wKSxlLmFuaW0mJmUuYW5pbS5raWxsKCksMD09PWUuY291bnQmJihjbGVhclRpbWVvdXQoZS50aW1lciksZS5wcmVsb2FkZXJDbG9uZSYmKGUucHJlbG9hZGVyQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgic3I3LWZhZGUtaW4iKSxlLmFuaW09X3RwdC5nc2FwLnRvKGUucHJlbG9hZGVyQ2xvbmUsLjMse29wYWNpdHk6MCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7ZS5wcmVsb2FkZXJDbG9uZS5yZW1vdmUoKX19KSkpfSxzdGF0ZTpmdW5jdGlvbih0KXtpZighdGhpcy5yZXF1ZXN0cy5oYXModCkpcmV0dXJuITE7cmV0dXJuIHRoaXMucmVxdWVzdHMuZ2V0KHQpLmNvdW50PjB9LGJ1aWxkOih0LGU9IiNmZmZmZmYiLHM9IiIpPT57aWYodDwwfHwib2ZmIj09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT1wYXJzZUludCh0KTtpZih0PSJwcmx0IitpLGlzTmFOKGkpKXJldHVybiBudWxsO2lmKF90cHQubG9hZENTUyhTUjcuRS5wbHVnaW5fdXJsKyJwdWJsaWMvY3NzL3ByZWxvYWRlcnMvdCIraSsiLmNzcyIsInByZWxvYWRlcl8iK3QpLGlzTmFOKGkpfHxpPDYpe2NvbnN0IG49YGJhY2tncm91bmQtY29sb3I6JHtlfWAsbz0xPT09aXx8Mj09aT9uOiIiLGw9Mz09PWl8fDQ9PWk/bjoiIixyPV90cHQuY29sbGVjdG9yKCk7WyJkb3QxIiwiZG90MiIsImJvdW5jZTEiLCJib3VuY2UyIiwiYm91bmNlMyJdLmZvckVhY2goKHQ9PnIuYWRkKHt0YWc6ImRpdiIsY2xhc3M6dCxkYXRhczp7c3R5bGU6bH19KSkpO2NvbnN0IGQ9X3RwdC5hZGRDb250YWluZXIoe3RhZzoic3I3LXBybCIsY2xhc3M6YCR7dH0gJHtzfWAsZGF0YXM6e3N0eWxlOm99fSk7cmV0dXJuIHIuYXBwZW5kKGQpLGR9e2xldCBuPXt9O2lmKDc9PT1pKXtsZXQgdDtlLnN0YXJ0c1dpdGgoIiMiKT8odD1lLnJlcGxhY2UoIiMiLCIiKSx0PWByZ2JhKCR7cGFyc2VJbnQodC5zdWJzdHJpbmcoMCwyKSwxNil9LCAke3BhcnNlSW50KHQuc3Vic3RyaW5nKDIsNCksMTYpfSwgJHtwYXJzZUludCh0LnN1YnN0cmluZyg0LDYpLDE2KX0sIGApOmUuc3RhcnRzV2l0aCgicmdiIikmJih0PWUuc2xpY2UoZS5pbmRleE9mKCIoIikrMSxlLmxhc3RJbmRleE9mKCIpIikpLnNwbGl0KCIsIikubWFwKCh0PT50LnRyaW0oKSkpLHQ9YHJnYmEoJHt0WzBdfSwgJHt0WzFdfSwgJHt0WzJdfSwgYCksdCYmKG4uc3R5bGU9YGJvcmRlci10b3AtY29sb3I6ICR7dH0wLjY1KTsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHt0fTAuMTUpOyBib3JkZXItbGVmdC1jb2xvcjogJHt0fTAuNjUpOyBib3JkZXItcmlnaHQtY29sb3I6ICR7dH0wLjE1KWApfWVsc2UgMTI9PT1pJiYobi5zdHlsZT1gYmFja2dyb3VuZDoke2V9YCk7Y29uc3Qgbz1bMTAsMCw0LDIsNSw5LDAsNCw0LDJdW2ktNl0sbD1fdHB0LmNvbGxlY3RvcigpLHI9bC5hZGQoe3RhZzoiZGl2IixjbGFzczoic3I3LXBybC1pbm5lciIsZGF0YXM6bn0pO0FycmF5LmZyb20oe2xlbmd0aDpvfSkuZm9yRWFjaCgoKCk9PnIuYXBwZW5kQ2hpbGQobC5hZGQoe3RhZzoic3BhbiIsZGF0YXM6e3N0eWxlOmBiYWNrZ3JvdW5kOiR7ZX1gfX0pKSkpO2NvbnN0IGQ9X3RwdC5hZGRDb250YWluZXIoe3RhZzoic3I3LXBybCIsY2xhc3M6YCR7dH0gJHtzfWB9KTtyZXR1cm4gbC5hcHBlbmQoZCksZH19fSxTUjcucHJlTG9hZGVyPXtzaG93Oih0LGUpPT57Im9mZiIhPT0oU1I3Lk1bdF0/LnNldHRpbmdzPy5wTG9hZGVyPy50eXBlPz8ib2ZmIikmJl90cHQucHJlbG9hZGVyLnNob3coZXx8U1I3Lk1bdF0uYy5tb2R1bGUsU1I3Lk1bdF0/LnNldHRpbmdzPy5wTG9hZGVyPz97Y29sb3I6IiNmZmYiLHR5cGU6MTB9KX0saGlkZToodCxlKT0+eyJvZmYiIT09KFNSNy5NW3RdPy5zZXR0aW5ncz8ucExvYWRlcj8udHlwZT8/Im9mZiIpJiZfdHB0LnByZWxvYWRlci5oaWRlKGV8fFNSNy5NW3RdLmMubW9kdWxlKX0sc3RhdGU6KHQsZSk9Pl90cHQucHJlbG9hZGVyLnN0YXRlKGV8fFNSNy5NW3RdLmMubW9kdWxlKX0sX3RwdC5wcmVwYXJlTW9kdWxlSGVpZ2h0PWZ1bmN0aW9uKHQpe3dpbmRvdy5TUjcuTT8/PXt9LHdpbmRvdy5TUjcuTVt0LmlkXT8/PXt9LCJpZ25vcmUiPT10Lmdvb2dsZUZvbnQmJihTUjcuRS5pZ25vcmVHb29nbGVGb250PSEwKTtsZXQgZT13aW5kb3cuU1I3Lk1bdC5pZF07aWYobnVsbD09X3RwdC5zY3JvbGxCYXJXJiZfdHB0Lm1lc3VyZVNjcm9sbEJhcigpLGUuYz8/PXt9LGUuc3RhdGVzPz89e30sZS5zZXR0aW5ncz8/PXt9LGUuc2V0dGluZ3Muc2l6ZT8/PXt9LHQuZml4ZWQmJihlLnNldHRpbmdzLmZpeGVkPSEwKSxlLmMubW9kdWxlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNyNy1tb2R1bGUjIit0LmlkKSxlLmMuYWRqdXN0ZXI9ZS5jLm1vZHVsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3I3LWFkanVzdGVyIilbMF0sZS5jLmNvbnRlbnQ9ZS5jLm1vZHVsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3I3LWNvbnRlbnQiKVswXSwiY2Fyb3VzZWwiPT10LnR5cGUmJihlLmMuY2Fyb3VzZWw9ZS5jLmNvbnRlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNyNy1jYXJvdXNlbCIpWzBdKSxudWxsPT1lLmMubW9kdWxlfHxudWxsPT1lLmMubW9kdWxlKXJldHVybjt0LnBsVHlwZSYmdC5wbENvbG9yJiYoZS5zZXR0aW5ncy5wTG9hZGVyPXt0eXBlOnQucGxUeXBlLGNvbG9yOnQucGxDb2xvcn0pLHZvaWQgMD09PXQucGxUeXBlfHwib2ZmIj09PXQucGxUeXBlfHxTUjcucHJlTG9hZGVyLnN0YXRlKHQuaWQpJiZTUjcucHJlTG9hZGVyLnN0YXRlKHQuaWQsZS5jLm1vZHVsZSl8fFNSNy5wcmVMb2FkZXIuc2hvdyh0LmlkLGUuYy5tb2R1bGUpLF90cHQud2luV3x8X3RwdC5nZXRXaW5EaW0oInByZXBhcmUiKSxfdHB0LmdldFdpbkRpbSgpO2xldCBzPSIiK2UuYy5tb2R1bGUuZGF0YXNldD8ubW9kYWw7Im1vZGFsIj09c3x8InRydWUiPT1zfHwidW5kZWZpbmVkIiE9PXMmJiJmYWxzZSIhPT1zfHwoZS5zZXR0aW5ncy5zaXplLmZ1bGxXaWR0aD10LnNpemUuZnVsbFdpZHRoLGUuTEVWPz89X3RwdC5nZXRSZXNwb25zaXZlTGV2ZWwod2luZG93LlNSNy5HLmJyZWFrUG9pbnRzLHQuaWQpLHQudnB0PV90cHQuZmlsbEFycmF5KHQudnB0LDUpLGUuc2V0dGluZ3MudlBvcnQ9dC52cHRbZS5MRVZdLHZvaWQgMCE9PXQuZWwmJiI3MjAiPT10LmVsWzRdJiZ0LmdoWzRdIT09dC5lbFs0XSYmIjk2MCI9PXQuZWxbM10mJnQuZ2hbM10hPT10LmVsWzNdJiYiNzY4Ij09dC5lbFsyXSYmdC5naFsyXSE9PXQuZWxbMl0mJmRlbGV0ZSB0LmVsLGUuc2V0dGluZ3Muc2l6ZS5oZWlnaHQ9bnVsbD09dC5lbHx8bnVsbD09dC5lbFtlLkxFVl18fDA9PXQuZWxbZS5MRVZdfHwiYXV0byI9PXQuZWxbZS5MRVZdP190c
2927HQuZmlsbEFycmF5KHQuZ2gsNSwtMSk6X3RwdC5maWxsQXJyYXkodC5lbCw1LC0xKSxlLnNldHRpbmdzLnNpemUud2lkdGg9X3RwdC5maWxsQXJyYXkodC5ndyw1LC0xKSxlLnNldHRpbmdzLnNpemUubWluSGVpZ2h0PV90cHQuZmlsbEFycmF5KHQubWg/P1swXSw1LC0xKSxlLmNhY2hlU2l6ZT17ZnVsbFdpZHRoOmUuc2V0dGluZ3Muc2l6ZT8uZnVsbFdpZHRoLGZ1bGxIZWlnaHQ6ZS5zZXR0aW5ncy5zaXplPy5mdWxsSGVpZ2h0fSx2b2lkIDAhPT10Lm9mZiYmKHQub2ZmPy50JiYoZS5zZXR0aW5ncy5zaXplLm0/Pz17fSkmJihlLnNldHRpbmdzLnNpemUubS50PXQub2ZmLnQpLHQub2ZmPy5iJiYoZS5zZXR0aW5ncy5zaXplLm0/Pz17fSkmJihlLnNldHRpbmdzLnNpemUubS5iPXQub2ZmLmIpLHQub2ZmPy5sJiYoZS5zZXR0aW5ncy5zaXplLnA/Pz17fSkmJihlLnNldHRpbmdzLnNpemUucC5sPXQub2ZmLmwpLHQub2ZmPy5yJiYoZS5zZXR0aW5ncy5zaXplLnA/Pz17fSkmJihlLnNldHRpbmdzLnNpemUucC5yPXQub2ZmLnIpLGUub2Zmc2V0UHJlcGFyZWQ9ITApLF90cHQudXBkYXRlUE1IZWlnaHQodC5pZCx0LCEwKSl9LF90cHQudXBkYXRlUE1IZWlnaHQ9KHQsZSxzKT0+e2xldCBpPVNSNy5NW3RdO3ZhciBuPWkuc2V0dGluZ3Muc2l6ZS5mdWxsV2lkdGg/X3RwdC53aW5XOmkuYy5tb2R1bGUucGFyZW50Tm9kZS5vZmZzZXRXaWR0aDtuPTA9PT1ufHxpc05hTihuKT9fdHB0Lndpblc6bjtsZXQgbz1pLnNldHRpbmdzLnNpemUud2lkdGhbaS5MRVZdfHxpLnNldHRpbmdzLnNpemUud2lkdGhbaS5MRVYrK118fGkuc2V0dGluZ3Muc2l6ZS53aWR0aFtpLkxFVi0tXXx8bixsPWkuc2V0dGluZ3Muc2l6ZS5oZWlnaHRbaS5MRVZdfHxpLnNldHRpbmdzLnNpemUuaGVpZ2h0W2kuTEVWKytdfHxpLnNldHRpbmdzLnNpemUuaGVpZ2h0W2kuTEVWLS1dfHwwLHI9aS5zZXR0aW5ncy5zaXplLm1pbkhlaWdodFtpLkxFVl18fGkuc2V0dGluZ3Muc2l6ZS5taW5IZWlnaHRbaS5MRVYrK118fGkuc2V0dGluZ3Muc2l6ZS5taW5IZWlnaHRbaS5MRVYtLV18fDA7aWYobD0iYXV0byI9PWw/MDpsLGw9cGFyc2VJbnQobCksImNhcm91c2VsIiE9PWUudHlwZSYmKG4tPXBhcnNlSW50KGUub253Pz8wKXx8MCksaS5NUD0haS5zZXR0aW5ncy5zaXplLmZ1bGxXaWR0aCYmbjxvfHxfdHB0Lndpblc8bz9NYXRoLm1pbigxLG4vbyk6MSxlLnNpemUuZnVsbFNjcmVlbnx8ZS5zaXplLmZ1bGxIZWlnaHQpe2xldCB0PXBhcnNlSW50KGUuZmhvKXx8MCxzPSgiIitlLmZobykuaW5kZXhPZigiJSIpPi0xO2UubmV3aD1fdHB0LndpbkgtKHM/X3RwdC53aW5IKnQvMTAwOnQpfWVsc2UgZS5uZXdoPWkuTVAqTWF0aC5tYXgobCxyKTtpZihlLm5ld2grPShwYXJzZUludChlLm9uaD8/MCl8fDApKyhwYXJzZUludChlLmNhcm91c2VsPy5wdCl8fDApKyhwYXJzZUludChlLmNhcm91c2VsPy5wYil8fDApLHZvaWQgMCE9PWUuc2xpZGVkdXJhdGlvbiYmKGUubmV3aD1NYXRoLm1heChlLm5ld2gscGFyc2VJbnQoZS5zbGlkZWR1cmF0aW9uKS8zKSksZS5zaGR3JiZfdHB0LmJ1aWxkU2hhZG93KGUuaWQsZSksaS5jLmFkanVzdGVyLnN0eWxlLmhlaWdodD1lLm5ld2grInB4IixpLmMubW9kdWxlLnN0eWxlLmhlaWdodD1lLm5ld2grInB4IixpLmMuY29udGVudC5zdHlsZS5oZWlnaHQ9ZS5uZXdoKyJweCIsaS5zdGF0ZXMuaGVpZ2h0UHJlcGFyZWQ9ITAsaS5kaW1zPz89e30saS5kaW1zLm1vZHVsZVJlY3Q9aS5jLm1vZHVsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpLmMuY29udGVudC5zdHlsZS5sZWZ0PSItIitpLmRpbXMubW9kdWxlUmVjdC5sZWZ0KyJweCIsIWkuc2V0dGluZ3Muc2l6ZS5mdWxsV2lkdGgpcmV0dXJuIHMmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntuIT09aS5jLm1vZHVsZS5wYXJlbnROb2RlLm9mZnNldFdpZHRoJiZfdHB0LnVwZGF0ZVBNSGVpZ2h0KGUuaWQsZSl9KSksdm9pZCBfdHB0LmJnU3R5bGUoZS5pZCxlLHdpbmRvdy5pbm5lcldpZHRoPT1fdHB0LndpblcsITApO190cHQuYmdTdHlsZShlLmlkLGUsd2luZG93LmlubmVyV2lkdGg9PV90cHQud2luVywhMCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3MmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntuIT09aS5jLm1vZHVsZS5wYXJlbnROb2RlLm9mZnNldFdpZHRoJiZfdHB0LnVwZGF0ZVBNSGVpZ2h0KGUuaWQsZSl9KSl9KSksaS5lYXJseVJlc2l6ZXJGdW5jdGlvbnx8KGkuZWFybHlSZXNpemVyRnVuY3Rpb249ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7X3RwdC5nZXRXaW5EaW0oKSxfdHB0Lm1vZHVsZURlZmF1bHRzKGUuaWQsZSksX3RwdC51cGRhdGVTbGlkZUJnKHQsITApfSkpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixpLmVhcmx5UmVzaXplckZ1bmN0aW9uKSl9LF90cHQuYnVpbGRTaGFkb3c9ZnVuY3Rpb24odCxlKXtsZXQgcz1TUjcuTVt0XTtudWxsPT1zLmMuc2hhZG93JiYocy5jLnNoYWRvdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcjctbW9kdWxlLXNoYWRvdyIpLHMuYy5zaGFkb3cuY2xhc3NMaXN0LmFkZCgic3I3LXNoZHctIitlLnNoZHcpLHMuYy5jb250ZW50LmFwcGVuZENoaWxkKHMuYy5zaGFkb3cpKX0sX3RwdC5iZ1N0eWxlPWFzeW5jKHQsZSxzLGksbik9Pntjb25zdCBvPVNSNy5NW3RdO2lmKChlPWU/P28uc2V0dGluZ3MpLmZpeGVkJiYhby5jLm1vZHVsZS5jbGFzc0xpc3QuY29udGFpbnMoInNyNy10b3AtZml4ZWQiKSYmKG8uYy5tb2R1bGUuY2xhc3NMaXN0LmFkZCgic3I3LXRvcC1maXhlZCIpLG8uYy5tb2R1bGUuc3R5bGUucG9zaXRpb249ImZpeGVkIixvLmMubW9kdWxlLnN0eWxlLndpZHRoPSIxMDAlIixvLmMubW9kdWxlLnN0eWxlLnRvcD0iMHB4IixvLmMubW9kdWxlLnN0eWxlLmxlZnQ9IjBweCIsby5jLm1vZHVsZS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixvLmMubW9kdWxlLnN0eWxlLnpJbmRleD01ZTMsby5jLmNvbnRlbnQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIpLG51bGw9PW8uYy5iZ2NhbnZhcyl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3I3LW1vZHVsZS1iZyIpLGw9ITE7aWYoInN0cmluZyI9PXR5cGVvZiBlPy5iZz8uY29sb3ImJmU/LmJnPy5jb2xvci5pbmNsdWRlcygieyIpKWlmKF90cHQuZ3JhZGllbnQmJl90cHQuZ3NhcCllLmJnLmNvbG9yPV90cHQuZ3JhZGllbnQuY29udmVydChlLmJnLmNvbG9yKTtlbHNlIHRyeXtsZXQgdD1KU09OLnBhcnNlKGUuYmcuY29sb3IpOyh0Py5vcmlnfHx0Py5zdHJpbmcpJiYoZS5iZy5jb2xvcj1KU09OLnBhcnNlKGUuYmcuY29sb3IpKX1jYXRjaCh0KXtyZXR1cm59bGV0IHI9InN0cmluZyI9PXR5cGVvZiBlPy5iZz8uY29sb3I/ZT8uYmc/LmNvbG9yfHwidHJhbnNwYXJlbnQiOmU/LmJnPy5jb2xvcj8uc3RyaW5nPz9lPy5iZz8uY29sb3I/Lm9yaWc/P2U/LmJnPy5jb2xvcj8uY29sb3I/PyJ0cmFuc3BhcmVudCI7aWYodC5zdHlsZVsiYmFja2dyb3VuZCIrKFN0cmluZyhyKS5pbmNsdWRlcygiZ3JhZCIpPyIiOiJDb2xvciIpXT1yLCgidHJhbnNwYXJlbnQiIT09cnx8bikmJihsPSEwKSxvLm9mZnNldFByZXBhcmVkJiYodC5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKSxlPy5iZz8uaW1hZ2U/LnNyYyYmKHQuc3R5bGUuYmFja2dyb3VuZEltYWdlPWB1cmwoJHtlPy5iZz8uaW1hZ2Uuc3JjfSlgLHQuc3R5bGUuYmFja2dyb3VuZFNpemU9IiI9PShlLmJnLmltYWdlPy5zaXplPz8iIik/ImNvdmVyIjplLmJnLmltYWdlLnNpemUsdC5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb249ZS5iZy5pbWFnZS5wb3NpdGlvbix0LnN0eWxlLmJhY2tncm91bmRSZXBlYXQ9IiI9PWUuYmcuaW1hZ2UucmVwZWF0fHxudWxsPT1lLmJnLmltYWdlLnJlcGVhdD8ibm8tcmVwZWF0IjplLmJnLmltYWdlLnJlcGVhdCxsPSEwKSwhbClyZXR1cm47by5jLmJnY2FudmFzPXQsZS5zaXplLmZ1bGxXaWR0aD90LnN0eWxlLndpZHRoPV90cHQud2luVy0ocyYmX3RwdC53aW5IPGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0P190cHQuc2Nyb2xsQmFyVzowKSsicHgiOmkmJih0LnN0eWxlLndpZHRoPW8uYy5tb2R1bGUub2Zmc2V0V2lkdGgrInB4IiksZS5zYnQ/LnVzZT9vLmMuY29udGVudC5hcHBlbmRDaGlsZChvLmMuYmdjYW52YXMpOm8uYy5tb2R1bGUuYXBwZW5kQ2hpbGQoby5jLmJnY2FudmFzKX1vLmMuYmdjYW52YXMuc3R5bGUuaGVpZ2h0PXZvaWQgMCE9PWUubmV3aD9lLm5ld2grInB4IjooImNhcm91c2VsIj09ZS50eXBlP28uZGltcy5tb2R1bGUuaDpvLmRpbXMuY29udGVudC5oKSsicHgiLG8uYy5iZ2NhbnZhcy5zdHlsZS5sZWZ0PSFzJiZlLnNidD8udXNlfHxvLmMuYmdjYW52YXMuY2xvc2VzdCgiU1I3LUNPTlRFTlQiKT8iMHB4IjoiLSIrKG8/LmRpbXM/Lm1vZHVsZVJlY3Q/LmxlZnQ/PzApKyJweCJ9LF90cHQudXBkYXRlU2xpZGVCZz1mdW5jdGlvbih0LGUpe2NvbnN0IHM9U1I3Lk1bdF07bGV0IGk9cy5zZXR0aW5ncztzPy5jPy5iZ2NhbnZhcyYmKGkuc2l6ZS5mdWxsV2lkdGg/cy5jLmJnY2FudmFzLnN0eWxlLndpZHRoPV90cHQud2luVy0oZSYmX3RwdC53aW5IPGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0P190cHQuc2Nyb2xsQmFyVzowKSsicHgiOnByZXBhcmluZyYmKHMuYy5iZ2NhbnZhcy5zdHlsZS53aWR0aD1zLmMubW9kdWxlLm9mZnNldFdpZHRoKyJweCIpKX0sX3RwdC5tb2R1bGVEZWZhdWx0cz0odCxlKT0+e2xldCBzPVNSNy5NW3RdO251bGwhPXMmJm51bGwhPXMuYyYmbnVsbCE9cy5jLm1vZHVsZSYmKHMuZGltcz8/PXt9LHMuZGltcy5tb2R1bGVSZWN0PXMuYy5tb2R1bGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscy5jLmNvbnRlbnQuc3R5bGUubGVmdD0iLSIrcy5kaW1zLm1vZHVsZVJlY3QubGVmdCsicHgiLHMuYy5jb250ZW50LnN0eWxlLndpZHRoPV90cHQud2luVy1fdHB0LnNjcm9sbEJhclcrInB4IiwiY2Fyb3VzZWwiPT1lLnR5cGUmJihzLmMubW9kdWxlLnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIiksX3RwdC5iZ1N0eWxlKHQsZSx3aW5kb3cuaW5uZXJXaWR0aD09X3RwdC53aW5XKSl9LF90cHQuZ2V0T2Zmc2V0PXQ9Pnt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHM9d2luZG93LnBhZ2VYT2Zmc2V0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxpPXdpbmRvdy5wYWdlWU9mZnNldHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtyZXR1cm57dG9wOmUudG9wK2ksbGVmdDplLmxlZnQrc319LF90cHQuZmlsbEFycmF5PWZ1bmN0aW9uKHQsZSl7bGV0IHMsaTt0PUFycmF5LmlzQXJyYXkodCk/dDpbdF07bGV0IG49QXJyYXkoZSksbz10Lmxlbmd0aDtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKW5baSsoZS1vKV09dFtpXSxudWxsPT1zJiYiIyIhPT10W2ldJiYocz10W2ldKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXZvaWQgMCE9PW5bdF0mJiIjIiE9blt0XXx8KG5bdF09cykscz1uW3RdO3JldHVybiBufSxfdHB0LmNsb3Nlc3RHRT1mdW5jdGlvbih0LGUpe2xldCBzPU51bWJlci5NQVhfVkFMVUUsaT0tMTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl0W25dLTE+PWUmJnRbbl0tMS1lPHMmJihzPXRbbl0tMS1lLGk9bik7cmV0dXJuKytpfX0oKQ==" defer></script>
2927 2928</head> 2929<body class="wp-singular page-template page-template-page-full-width page-template-page-full-width-php page page-id-2174 wp-custom-logo wp-theme-stal theme-stal qode-framework-1.2.6 woocommerce-no-js translatepress-fr_FR qodef-qi--no-touch qi-addons-for-elementor-1.11.1 stal-core-1.7 qode-optimizer-1.2.2 stal-1.7 qodef-back-to-top--enabled qodef-content-grid-1100 qodef-header--standard qodef-header-appearance--sticky qodef-mobile-header--standard qodef-mobile-header-appearance--sticky qodef-drop-down-second--full-width qodef-drop-down-second--animate-height qodef-header-standard--right qodef-search--on-side elementor-default elementor-kit-9 elementor-page elementor-page-2174" itemscope itemtype="https://schema.org/WebPage"> 2930 <div id="qodef-page-wrapper" class=""> 2931 <header id="qodef-page-header"> 2932 <div id="qodef-page-header-inner" > 2933 <a itemprop="url" class="qodef-header-logo-link qodef-height--set " href="https://goldenrod-pigeon-420491.hostingersite.com/" style="height:120px;color:#ffffff;" rel="home"> 2934 <img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--main" alt="logo main" /><img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--dark" alt="logo dark" /><img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--light" alt="logo main" /></a> <nav class="qodef-header-navigation" role="navigation" aria-label="Top Menu"> 2935 <ul id="qodef-main-navigation-menu" class="menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-10362"><a href="https://goldenrod-pigeon-420491.hostingersite.com/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Accueil</span></span></a></li> 2936<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2174 current_page_item menu-item-has-children menu-item-5366 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Qui Sommes Nous</span></span></a><span class="qodef-menu-arrow"></span> 2937<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2938 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10668"><a href="https://goldenrod-pigeon-420491.hostingersite.com/actualites/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Actualités</span></span></a></li> 2939</ul></div></div> 2940</li> 2941<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-5597 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/nos-services/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Nos Services</span></span></a><span class="qodef-menu-arrow"></span> 2942<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2943 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10657"><a href="https://goldenrod-pigeon-420491.hostingersite.com/sourcing/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Sourcing</span></span></a></li> 2944 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10659"><a href="https://goldenrod-pigeon-420491.hostingersite.com/achat-industriel/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Achat Industriel</span></span></a></li> 2945 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10656"><a href="https://goldenrod-pigeon-420491.hostingersite.com/logistique/"><span class="qodef-menu-item-inner">
2945<span class="qodef-menu-item-text">Logistique</span></span></a></li> 2946 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/export-international-transport/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Transport/Export International</span></span></a></li> 2947 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5677"><a href="https://goldenrod-pigeon-420491.hostingersite.com/supply-chain/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Supply Chain</span></span></a></li> 2948</ul></div></div> 2949</li> 2950<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8148 qodef-menu-item--narrow"><a href="#"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Secteurs d’activité</span></span></a><span class="qodef-menu-arrow"></span> 2951<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2952 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5587"><a href="https://goldenrod-pigeon-420491.hostingersite.com/agroalimentaire/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Agroalimentaire</span></span></a></li> 2953 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5654"><a href="https://goldenrod-pigeon-420491.hostingersite.com/btp/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">BTP</span></span></a></li> 2954 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5653"><a href="https://goldenrod-pigeon-420491.hostingersite.com/minier/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Minier</span></span></a></li> 2955 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5652"><a href="https://goldenrod-pigeon-420491.hostingersite.com/petrolier/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Pétrolier</span></span></a></li> 2956 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/energie/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Ãnergie</span></span></a></li> 2957 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6317"><a href="https://goldenrod-pigeon-420491.hostingersite.com/automobile/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Automobile</span></span></a></li> 2958 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6316"><a href="https://goldenrod-pigeon-420491.hostingersite.com/aeronautique/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Aéronautique</span></span></a></li> 2959 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6318"><a href="https://goldenrod-pigeon-420491.hostingersite.com/ferroviaire/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Ferroviaire</span></span></a></li> 2960</ul></div></div> 2961</li> 2962<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10366"><a href="https://goldenrod-pigeon-420491.hostingersite.com/recrutement/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Recrutement</span></span></a></li> 2963</ul> </nav> 2964<div class="qodef-widget-holder"> 2965 <div class="widget widget_stal_core_side_area_opener" data-area="search-dark-skin"> <a itemprop="url" class="qodef-side-area-opener qodef-side-area-opener--predefined" href="#"> 2966 <span class="qodef-lines"><span class="qodef-line qodef-line-1"></span><span class="qodef-line qodef-line-2"></span><span class="qodef-line qodef-line-3"></span><span class="qodef-line qodef-line-4"></span><span class="qodef-line qodef-line-5"></span></span> </a> 2967 </div></div> 2968 </div> 2969 <div class="qodef-header-sticky"> 2970 <div class="qodef-header-sticky-inner "> 2971 <a itemprop="url" class="qodef-header-logo-link qodef-height--set " href="https://golde
2971nrod-pigeon-420491.hostingersite.com/" style="height:120px;color:#ffffff;" rel="home"> 2972 <img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--main" alt="logo main" /><img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--dark" alt="logo dark" /><img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--light" alt="logo main" /></a> <nav class="qodef-header-navigation" role="navigation" aria-label="Top Menu"> 2973 <ul id="qodef-sticky-navigation-menu" class="menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-10362"><a href="https://goldenrod-pigeon-420491.hostingersite.com/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Accueil</span></span></a></li> 2974<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2174 current_page_item menu-item-has-children menu-item-5366 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Qui Sommes Nous</span></span></a><span class="qodef-menu-arrow"></span> 2975<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2976 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10668"><a href="https://goldenrod-pigeon-420491.hostingersite.com/actualites/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Actualités</span></span></a></li> 2977</ul></div></div> 2978</li> 2979<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-5597 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/nos-services/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Nos Services</span></span></a><span class="qodef-menu-arrow"></span> 2980<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2981 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10657"><a href="https://goldenrod-pigeon-420491.hostingersite.com/sourcing/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Sourcing</span></span></a></li> 2982 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10659"><a href="https://goldenrod-pigeon-420491.hostingersite.com/achat-industriel/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Achat Industriel</span></span></a></li> 2983 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10656"><a href="https://goldenrod-pigeon-420491.hostingersite.com/logistique/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Logistique</span></span></a></li> 2984 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/export-international-transport/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Transport/Export International</span></span></a></li> 2985 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5677"><a href="https://goldenrod-pigeon-420491.hostingersite.com/supply-chain/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Supply Chain</span></span></a></li> 2986</ul></div></div> 2987</li> 2988<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8148 qodef-menu-item--narrow"><a href="#"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Secteurs d’activité</span></span></a><span class="qodef-menu-arrow"></span> 2989<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 2990 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5587">
2990<a href="https://goldenrod-pigeon-420491.hostingersite.com/agroalimentaire/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Agroalimentaire</span></span></a></li> 2991 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5654"><a href="https://goldenrod-pigeon-420491.hostingersite.com/btp/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">BTP</span></span></a></li> 2992 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5653"><a href="https://goldenrod-pigeon-420491.hostingersite.com/minier/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Minier</span></span></a></li> 2993 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5652"><a href="https://goldenrod-pigeon-420491.hostingersite.com/petrolier/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Pétrolier</span></span></a></li> 2994 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/energie/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Ãnergie</span></span></a></li> 2995 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6317"><a href="https://goldenrod-pigeon-420491.hostingersite.com/automobile/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Automobile</span></span></a></li> 2996 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6316"><a href="https://goldenrod-pigeon-420491.hostingersite.com/aeronautique/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Aéronautique</span></span></a></li> 2997 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6318"><a href="https://goldenrod-pigeon-420491.hostingersite.com/ferroviaire/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Ferroviaire</span></span></a></li> 2998</ul></div></div> 2999</li> 3000<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10366"><a href="https://goldenrod-pigeon-420491.hostingersite.com/recrutement/"><span class="qodef-menu-item-inner"><span class="qodef-menu-item-text">Recrutement</span></span></a></li> 3001</ul> </nav> 3002 <div class="qodef-widget-holder"> 3003 <div id="stal_core_side_area_opener-4" class="widget widget_stal_core_side_area_opener qodef-sticky-right"> <a itemprop="url" class="qodef-side-area-opener qodef-side-area-opener--predefined" href="#"> 3004 <span class="qodef-lines"><span class="qodef-line qodef-line-1"></span><span class="qodef-line qodef-line-2"></span><span class="qodef-line qodef-line-3"></span><span class="qodef-line qodef-line-4"></span><span class="qodef-line qodef-line-5"></span></span> </a> 3005 </div> </div> 3006 3007 </div> 3008</div></header><header id="qodef-page-mobile-header"> 3009 <div id="qodef-page-mobile-header-inner"> 3010 <a itemprop="url" class="qodef-mobile-header-logo-link " href="https://goldenrod-pigeon-420491.hostingersite.com/" style="height:120px;" rel="home"> 3011 <img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--main" alt="logo main" /> <img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--dark" alt="logo dark" /><img loading="lazy" width="512" height="512" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/cropped-Nouveau-logo-ATI-Export-1.webp" class="qodef-header-logo-image qodef--light" alt="logo light" /></a><a id="qodef-mobile-header-opener" href="#"> 3012 <span class="qodef-lines"> 3013 <span class="qodef-line qodef-line-1"></span> 3014 <span class="qodef-line qodef-line-2"></span> 3015 <span class="qodef-line qodef-line-3"></span> 3016 <span class="qodef-line qodef-line-4"></span> 3017 <span class="qodef-line qodef-line-5"></span> 3018 </span> 3019</a> <nav id="qodef-mobile-header-navigation" class="qodef-m" role="navigation" aria-label="Mobile Menu"> 3020 <div class="qodef-m-inner"><ul id="qodef-mobile-header-navigation-menu" class="qodef-content-grid"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-10362">
3020<a href="https://goldenrod-pigeon-420491.hostingersite.com/"><span class="qodef-menu-item-inner">Accueil</span></a></li> 3021<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2174 current_page_item menu-item-has-children menu-item-5366 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/"><span class="qodef-menu-item-inner">Qui Sommes Nous</span></a><span class="qodef-menu-arrow"></span> 3022<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 3023 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10668"><a href="https://goldenrod-pigeon-420491.hostingersite.com/actualites/"><span class="qodef-menu-item-inner">Actualités</span></a></li> 3024</ul></div></div> 3025</li> 3026<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-5597 qodef-menu-item--narrow"><a href="https://goldenrod-pigeon-420491.hostingersite.com/nos-services/"><span class="qodef-menu-item-inner">Nos Services</span></a><span class="qodef-menu-arrow"></span> 3027<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 3028 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10657"><a href="https://goldenrod-pigeon-420491.hostingersite.com/sourcing/"><span class="qodef-menu-item-inner">Sourcing</span></a></li> 3029 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10659"><a href="https://goldenrod-pigeon-420491.hostingersite.com/achat-industriel/"><span class="qodef-menu-item-inner">Achat Industriel</span></a></li> 3030 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10656"><a href="https://goldenrod-pigeon-420491.hostingersite.com/logistique/"><span class="qodef-menu-item-inner">Logistique</span></a></li> 3031 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/export-international-transport/"><span class="qodef-menu-item-inner">Transport/Export International</span></a></li> 3032 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5677"><a href="https://goldenrod-pigeon-420491.hostingersite.com/supply-chain/"><span class="qodef-menu-item-inner">Supply Chain</span></a></li> 3033</ul></div></div> 3034</li> 3035<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8148 qodef-menu-item--narrow"><a href="#"><span class="qodef-menu-item-inner">Secteurs d’activité</span></a><span class="qodef-menu-arrow"></span> 3036<div class="qodef-drop-down-second"><div class="qodef-drop-down-second-inner"><ul class="sub-menu"> 3037 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5587"><a href="https://goldenrod-pigeon-420491.hostingersite.com/agroalimentaire/"><span class="qodef-menu-item-inner">Agroalimentaire</span></a></li> 3038 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5654"><a href="https://goldenrod-pigeon-420491.hostingersite.com/btp/"><span class="qodef-menu-item-inner">BTP</span></a></li> 3039 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5653"><a href="https://goldenrod-pigeon-420491.hostingersite.com/minier/"><span class="qodef-menu-item-inner">Minier</span></a></li> 3040 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5652"><a href="https://goldenrod-pigeon-420491.hostingersite.com/petrolier/"><span class="qodef-menu-item-inner">Pétrolier</span></a></li> 3041 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5655"><a href="https://goldenrod-pigeon-420491.hostingersite.com/energie/"><span class="qodef-menu-item-inner">Ãnergie</span></a></li> 3042 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6317"><a href="https://goldenrod-pigeon-420491.hostingersite.com/automobile/"><span class="qodef-menu-item-inner">Automobile</span></a></li> 3043 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6316">
3043<a href="https://goldenrod-pigeon-420491.hostingersite.com/aeronautique/"><span class="qodef-menu-item-inner">Aéronautique</span></a></li> 3044 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6318"><a href="https://goldenrod-pigeon-420491.hostingersite.com/ferroviaire/"><span class="qodef-menu-item-inner">Ferroviaire</span></a></li> 3045</ul></div></div> 3046</li> 3047<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10366"><a href="https://goldenrod-pigeon-420491.hostingersite.com/recrutement/"><span class="qodef-menu-item-inner">Recrutement</span></a></li> 3048</ul></div> </nav> 3049 </div> 3050 </header> <div id="qodef-page-outer"> 3051 <div id="qodef-page-inner" class="qodef-content-full-width"><main id="qodef-page-content" class="qodef-grid qodef-layout--template "> 3052 <div class="qodef-grid-inner clear"> 3053 <div class="qodef-grid-item qodef-page-content-section qodef-col--12"> 3054 <div data-elementor-type="wp-page" data-elementor-id="2174" class="elementor elementor-2174"> 3055 <div class="elementor-element elementor-element-288a2cb e-con e-atomic-element e-flexbox-base e-974ac12 " data-id="288a2cb" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="288a2cb"> 3056 <video 3057 data-id="d2ba59f" data-interaction-id="d2ba59f" 3058 data-e-type="e-self-hosted-video" data-interactions="null" 3059 3060 class="e-self-hosted-video-base" 3061 3062 class="e-self-hosted-video-base" 3063 autoplay controls playsinline controlslist="nodownload" preload="metadata" 3064 > 3065 <source src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/0625-15.mp4#t=0"> 3066 </video> 3067 3068</div> 3069<div class="elementor-element elementor-element-598c9fd e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="598c9fd" data-element_type="container" data-e-type="container"> 3070 <div class="e-con-inner"> 3071 <h2 data-interaction-id="f12de95" class="e-f12de95-dc64618 e-heading-base"><strong>ATI EXPORT : VOTRE SERVICE ACHAT EXTERNALISÃ</strong></h2> 3072 </div> 3073 </div> 3074 <div class="elementor-element elementor-element-1cd09d8 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="1cd09d8" data-element_type="container" data-e-type="container"> 3075 <div class="e-con-inner"> 3076 <h2 data-interaction-id="5acf539" class="e-heading-base"></h2> 3077 </div> 3078 </div> 3079 <div class="elementor-element elementor-element-2a90658 e-con e-atomic-element e-flexbox-base e-2a90658-7ed9d1e " data-id="2a90658" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="2a90658"> 3080 <p class="e-db821b1-70031c8 e-paragraph-base" data-interaction-id="db821b1">Fondée en 2009 et implantée à La Salle (71260) - FRANCE, ATI Export vous accompagne dans la recherche, lâapprovisionnement et l'importation de pièces de rechange, fournitures industrielles et équipements techniques destinés à tous les secteurs dâactivité.</p> 3081 3082</div> 3083<div class="elementor-element elementor-element-4029f72 e-con e-atomic-element e-flexbox-base e-4029f72-7c7c34d " data-id="4029f72" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="4029f72"> 3084 <p class="e-3b1de28-0aac521 e-paragraph-base" data-interaction-id="3b1de28">Notre société agit comme votre partenaire opérationnel de confiance pour sécuriser et optimiser vos achats à lâinternational. Nous intervenons auprès dâindustries évoluant dans des secteurs variés tels que le, lâAGROALIMENTAIRE, BTP, MINIER, PETROLIER, ENERGIE, AUTOMOBILE, AERONAUTIQUE, FERROVIAIRE et plus largement toute activité nécessitant des solutions techniques fiables et performantes.</p> 3085 3086</div> 3087<div class="elementor-element elementor-element-9cfe7f4 e-con e-atomic-element e-flexbox-base e-9cfe7f4-6ea0b78 " data-id="9cfe7f4" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="9cfe7f4"> 3088 <p class="e-3f1b5cc-7130b45 e-paragraph-base" data-interaction-id="3f1b5cc">Grâce à un réseau mondial de fabricants et fournisseurs qualifiés, ATI Export identifie les meilleures opportunités du marché et met en Åuvre un sourcing rigoureux répondant aux exigences techniques, économiques et logistiques de chaque projet.</p> 3089 3090</div> 3091<div class="elementor-element elementor-element-cf60e50 e-con e-atomic-element e-flexbox-base e-cf60e50-32da3f6 " data-id="cf60e50" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="cf60e50"> 3092 <p class="e-3d02c9f-bab0f61 e-paragraph-base" data-interaction-id="3d02c9f">De la recherche des produits à leur expédition internationale, nous prenons en charge lâensemble du processus dâapprovisionnement et dâexportation afin de garantir à nos clients des solutions compétitives, sécurisées et adaptées à leur
3092s besoins.</p> 3093 3094</div> 3095<div class="elementor-element elementor-element-edb8321 e-con e-atomic-element e-flexbox-base e-edb8321-d5f7cd1 " data-id="edb8321" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="edb8321"> 3096 <p class="e-2961857-717edd6 e-paragraph-base" data-interaction-id="2961857"><strong id="e-mqu9qh0t-glqpeid">NOTRE MISSION : SIMPLIFIER, SECURISER ET OPTIMISER VOS APPOVISIONNEMENTS INDUSTRIELS PARTOUT DANS LE MONDE POUR LA RÃUSSITE DE VOS PROJETS.<br></strong><br><br></p> 3097 3098</div> 3099<div class="elementor-element elementor-element-1522f79 e-con e-atomic-element e-flexbox-base e-68553c0 " data-id="1522f79" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="1522f79"> 3100 <h6 data-interaction-id="625287f" class="e-625287f-03e1746 e-heading-base"></h6> 3101 3102</div> 3103<div class="elementor-element elementor-element-95a3a14 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="95a3a14" data-element_type="container" data-e-type="container"> 3104 <div class="e-con-inner"> 3105 <div class="elementor-element elementor-element-bfeb84a elementor-widget elementor-widget-qi_addons_for_elementor_image_gallery_masonry" data-id="bfeb84a" data-element_type="widget" data-e-type="widget" data-widget_type="qi_addons_for_elementor_image_gallery_masonry.default"> 3106 <div class="elementor-widget-container"> 3107 <div class="qodef-shortcode qodef-m qodef-qi-image-gallery-masonry qodef-qi-fslightbox-popup qodef-popup-gallery qodef-image--hover-zoom qodef-qi-grid qodef-layout--qi-masonry qodef-items--fixed qodef-col-num--3 qodef-responsive--predefined"> 3108 <div class="qodef-grid-inner"> 3109 <div class="qodef-qi-grid-masonry-sizer"></div> 3110<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3111 <div class="qodef-e-inner"> 3112 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png" data-type="image" data-fslightbox="gallery-1"> 3113 <img fetchpriority="high" fetchpriority="high" decoding="async" width="1027" height="1024" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous.png 1027w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-300x300.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-1024x1021.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-150x150.png 150w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-768x766.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-82x82.png 82w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-600x598.png 600w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-sommes-nous-100x100.png 100w" sizes="(max-width: 1027px) 100vw, 1027px" /> </a> 3114 </div> 3115</div> 3116<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3117 <div class="qodef-e-inner"> 3118 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous.png" data-type="image" data-fslightbox="gallery-1"> 3119 <img decoding="async" width="1264" height="842" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous.png 1264w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-300x200.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-1024x682.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-768x512.png 768w, https://golde
3119nrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-600x400.png 600w" sizes="(max-width: 1264px) 100vw, 1264px" /> </a> 3120 </div> 3121</div> 3122<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3123 <div class="qodef-e-inner"> 3124 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1.png" data-type="image" data-fslightbox="gallery-1"> 3125 <img decoding="async" width="2048" height="1365" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1.png 2048w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-300x200.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-1024x683.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-768x512.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-1536x1024.png 1536w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-18x12.png 18w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Design-sans-titre-1-600x400.png 600w" sizes="(max-width: 2048px) 100vw, 2048px" /> </a> 3126 </div> 3127</div> 3128<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3129 <div class="qodef-e-inner"> 3130 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5.png" data-type="image" data-fslightbox="gallery-1"> 3131 <img loading="lazy" loading="lazy" decoding="async" width="1264" height="842" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5.png 1264w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5-300x200.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5-1024x682.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5-768x512.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo5-600x400.png 600w" sizes="(max-width: 1264px) 100vw, 1264px" /> </a> 3132 </div> 3133</div> 3134<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3135 <div class="qodef-e-inner"> 3136 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3.png" data-type="image" data-fslightbox="gallery-1"> 3137 <img loading="lazy" loading="lazy" decoding="async" width="896" height="1179" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3.png 896w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3-228x300.png 228w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3-778x1024.png 778w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3-768x1011.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo3-600x790.png 600w" sizes="(max-width: 896px) 100vw, 896px" /> </a> 3138 </div> 3139</div> 3140<div class="qodef-e qodef-image-wrapper qodef-grid-item qodef-item--"> 3141 <div class="qodef-e-inner"> 3142 <a class="qodef-popup-item" itemprop="image" href="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2.png" data-type="image" data-fslightbox="gallery-1"> 3143 <img loading="lazy" loading="lazy" decoding="async" width="1027" height="1024" src="https://golde
3143nrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2.png" class="attachment- size-" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2.png 1027w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-300x300.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-1024x1021.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-150x150.png 150w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-768x766.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-82x82.png 82w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-600x598.png 600w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/Qui-somme-nous-photo2-100x100.png 100w" sizes="(max-width: 1027px) 100vw, 1027px" /> </a> 3144 </div> 3145</div> 3146 </div> 3147</div> 3148 </div> 3149 </div> 3150 </div> 3151 </div> 3152 <div class="elementor-element elementor-element-336177d e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="336177d" data-element_type="container" data-e-type="container"> 3153 <div class="e-con-inner"> 3154 <h2 data-interaction-id="2d51e7e" class="e-heading-base">NOTRE PRÃSENCE DANS LE MONDE :</h2> 3155 </div> 3156 </div> 3157 <div class="elementor-element elementor-element-7f69c9c e-con e-atomic-element e-flexbox-base e-c5dfc19 " data-id="7f69c9c" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="7f69c9c"> 3158 <div class="elementor-element elementor-element-a5fbe8b elementor-widget elementor-widget-image" data-id="a5fbe8b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default"> 3159 <img loading="lazy" loading="lazy" decoding="async" width="1024" height="637" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-1024x637.png" class="attachment-large size-large wp-image-10918" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-1024x637.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-300x186.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-768x477.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-1536x955.png 1536w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-18x12.png 18w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo-600x373.png 600w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/08/Carte-geo.png 1591w" sizes="(max-width: 1024px) 100vw, 1024px" /> </div> 3160 3161</div> 3162<div class="elementor-element elementor-element-11ef461 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="11ef461" data-element_type="container" data-e-type="container"> 3163 <div class="e-con-inner"> 3164 <h2 data-interaction-id="65f12dc" class="e-heading-base">ILS NOUS FONT CONFIANCE :</h2> 3165 </div> 3166 </div> 3167 <div class="elementor-element elementor-element-554c394 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="554c394" data-element_type="container" data-e-type="container"> 3168 <div class="e-con-inner"> 3169 <div class="elementor-element elementor-element-14dc430 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="14dc430" data-element_type="container" data-e-type="container"> 3170 <div class="elementor-element elementor-element-959f90c elementor-widget elementor-widget-qi_addons_for_elementor_clients_slider" data-id="959f90c" data-element_type="widget" data-e-type="widget" data-widget_type="qi_addons_for_elementor_clients_slider.default"> 3171 <div class="elementor-widget-container"> 3172 <div class="qodef-shortcode qodef-m qodef-qi-clients-slider qodef-qi-gri
3172d qodef-qi-swiper-container" data-options="{"direction":"horizontal","slidesPerView":"5","spaceBetween":30,"spaceBetweenTablet":"","spaceBetweenMobile":"","effect":"","loop":true,"autoplay":true,"centeredSlides":false,"speed":"10","speedAnimation":"","outsideNavigation":"no","outsidePagination":"no","unique":"2","partialValue":0,"disablePartialValue":"","parallax":"no"}"> 3173 <div class="swiper-wrapper"> 3174 <div class="qodef-e swiper-slide"> 3175 <div class="qodef-e-inner"> 3176 <div class="qodef-e-images-holder"> 3177 <div class="qodef-e-main-image"> 3178 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/coca.png" class="attachment-full size-full" alt="" /> </div> 3179 </div> 3180 </div> 3181</div> 3182<div class="qodef-e swiper-slide"> 3183 <div class="qodef-e-inner"> 3184 <div class="qodef-e-images-holder"> 3185 <div class="qodef-e-main-image"> 3186 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/shell.png" class="attachment-full size-full" alt="" /> </div> 3187 </div> 3188 </div> 3189</div> 3190<div class="qodef-e swiper-slide"> 3191 <div class="qodef-e-inner"> 3192 <div class="qodef-e-images-holder"> 3193 <div class="qodef-e-main-image"> 3194 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/repsol.png" class="attachment-full size-full" alt="" /> </div> 3195 </div> 3196 </div> 3197</div> 3198<div class="qodef-e swiper-slide"> 3199 <div class="qodef-e-inner"> 3200 <div class="qodef-e-images-holder"> 3201 <div class="qodef-e-main-image"> 3202 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/panzani.png" class="attachment-full size-full" alt="" /> </div> 3203 </div> 3204 </div> 3205</div> 3206<div class="qodef-e swiper-slide"> 3207 <div class="qodef-e-inner"> 3208 <div class="qodef-e-images-holder"> 3209 <div class="qodef-e-main-image"> 3210 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/lafarge.png" class="attachment-full size-full" alt="" /> </div> 3211 </div> 3212 </div> 3213</div> 3214<div class="qodef-e swiper-slide"> 3215 <div class="qodef-e-inner"> 3216 <div class="qodef-e-images-holder"> 3217 <div class="qodef-e-main-image"> 3218 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/heineken.png" class="attachment-full size-full" alt="" /> </div> 3219 </div> 3220 </div> 3221</div> 3222<div class="qodef-e swiper-slide"> 3223 <div class="qodef-e-inner"> 3224 <div class="qodef-e-images-holder"> 3225 <div class="qodef-e-main-image"> 3226 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/danon.png" class="attachment-full size-full" alt="" /> </div> 3227 </div> 3228 </div> 3229</div> 3230<div class="qodef-e swiper-slide"> 3231 <div class="qodef-e-inner"> 3232 <div class="qodef-e-images-holder"> 3233 <div class="qodef-e-main-image"> 3234 <img loading="lazy" loading="lazy" decoding="async" width="190" height="52" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/colas.png" class="attachment-full size-full" alt="" /> </div> 3235 </div> 3236 </div> 3237</div> 3238<div class="qodef-e swiper-slide"> 3239 <div class="qodef-e-inner"> 3240 <div class="qodef-e-images-holder"> 3241 <div class="qodef-e-main-image"> 3242 <img loading="lazy" loading="lazy" decoding="async" width="3840" height="2160" src="https://golde
3242nrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol.png" class="attachment-full size-full" alt="" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol.png 3840w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-300x169.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-1024x576.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-768x432.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-1536x864.png 1536w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-2048x1152.png 2048w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-18x10.png 18w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/Nestle-Symbol-600x338.png 600w" sizes="(max-width: 3840px) 100vw, 3840px" /> </div> 3243 </div> 3244 <h5 class="qodef-e-title"> 3245 Example Title </h5> 3246 </div> 3247</div> 3248 </div> 3249 </div> 3250 </div> 3251 </div> 3252 </div> 3253 </div> 3254 </div> 3255 <div class="elementor-element elementor-element-c2af7c5 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="c2af7c5" data-element_type="container" data-e-type="container"> 3256 <div class="e-con-inner"> 3257 <h2 data-interaction-id="6b3b7b9" class="e-heading-base">NOS CARTES DE DISTRIBUTION :</h2> 3258 </div> 3259 </div> 3260 <div class="elementor-element elementor-element-614630d e-con e-atomic-element e-flexbox-base e-614630d-7e840ea " data-id="614630d" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="614630d"> 3261 <img loading="lazy" loading="lazy" decoding="async" class="e-image-base e-9327e46-849701b" data-interaction-id="9327e46" id="9689" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-768x384.png" width="768" height="384" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-768x384.png 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-300x150.png 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-1024x512.png 1024w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-18x9.png 18w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2-600x300.png 600w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/06/facom-ener2.png 1250w" alt=""/> 3262</div> 3263<div class="elementor-element elementor-element-708e917 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="708e917" data-element_type="container" data-e-type="container"> 3264 <div class="e-con-inner"> 3265 <div class="elementor-element elementor-element-15266a5 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="15266a5" data-element_type="container" data-e-type="container"> 3266 <div class="elementor-element elementor-element-0531271 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="0531271" data-element_type="container" data-e-type="container"> 3267 <h3 data-interaction-id="a481ca7" class="e-a481ca7-79c7ad9 e-heading-base">Une approche structurée et fiable</h3> 3268 </div> 3269 </div> 3270 <div class="elementor-element elementor-element-f97e02c e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="f97e02c" data-element_type="container" data-e-type="container"> 3271 <div class="elementor-element elementor-element-ba1d8f2 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="ba1d8f2" data-element_type="container" data-e-type="container"> 3272 <h3 data-interaction-id="2c1ec47" class="e-2c1ec47-b80460f e-heading-base">Un réseau international de partenaires</h3> 3273 </div> 3274 </div> 3275 </div> 3276 </div> 3277 <div class="elementor-element elementor-element-4e116e0 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="4e116e0" data-element_type="container" data-e-type="container"> 3278 <div class="e-con-inner"> 3279 <div class="elementor-element elementor-element-8d11760 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="8d11760" data-element_type="container" data-e-type="container"> 3280 <div class="elementor-element elementor-element-88a4af7 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="88a4af7" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3281 <div class="elementor-widget-container"> 3282 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3283 <h5 class="qodef-e-title" style="color: #000000"> 3284 <a itemprop="url" href="#" target="_self"> 3285 <span class="qodef-e-title-inner"> 3286 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" >
3286 <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Analyse de votre besoin technique</span> 3287 </span> 3288 </a> 3289 </h5> 3290</div> </div> 3291 </div> 3292 <div class="elementor-element elementor-element-ebd8e98 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="ebd8e98" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3293 <div class="elementor-widget-container"> 3294 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3295 <h5 class="qodef-e-title" style="color: #000000"> 3296 <a itemprop="url" href="#" target="_self"> 3297 <span class="qodef-e-title-inner"> 3298 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Identification des fournisseurs adaptés</span> 3299 </span> 3300 </a> 3301 </h5> 3302</div> </div> 3303 </div> 3304 <div class="elementor-element elementor-element-c3e52dc elementor-widget elementor-widget-stal_core_icon_list_item" data-id="c3e52dc" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3305 <div class="elementor-widget-container"> 3306 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3307 <h5 class="qodef-e-title" style="color: #747474"> 3308 <a itemprop="url" href="#" target="_self"> 3309 <span class="qodef-e-title-inner"> 3310 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Négociation et optimisation des coûts</span> 3311 </span> 3312 </a> 3313 </h5> 3314</div> </div> 3315 </div> 3316 <div class="elementor-element elementor-element-e29fea2 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="e29fea2" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3317 <div class="elementor-widget-container"> 3318 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3319 <h5 class="qodef-e-title" style="color: #747474"> 3320 <a itemprop="url" href="#" target="_self"> 3321 <span class="qodef-e-title-inner"> 3322 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Organisation logistique internationale</span> 3323 </span> 3324 </a> 3325 </h5> 3326</div> </div> 3327 </div> 3328 </div> 3329 <div class="elementor-element elementor-element-8077b07 e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="8077b07" data-element_type="container" data-e-type="container"> 3330 <div class="elementor-element elementor-element-70b71ce e-con-full e-flex qodef-elementor-content-no e-con e-child" data-id="70b71ce" data-element_type="container" data-e-type="container"> 3331 <div class="elementor-element elementor-element-bceab80 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="bceab80" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3332 <div class="elementor-widget-container"> 3333 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3334 <h5 class="qodef-e-title" style="color: #747474"> 3335 <a itemprop="url" href="#" target="_self"> 3336 <span class="qodef-e-title-inner"> 3337 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Des produits conformes aux exigences techniques</span> 3338 </span> 3339 </a> 3340 </h5> 3341</div>
3341 </div> 3342 </div> 3343 <div class="elementor-element elementor-element-83ae1aa elementor-widget elementor-widget-stal_core_icon_list_item" data-id="83ae1aa" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3344 <div class="elementor-widget-container"> 3345 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3346 <h5 class="qodef-e-title" style="color: #747474"> 3347 <a itemprop="url" href="#" target="_self"> 3348 <span class="qodef-e-title-inner"> 3349 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Une sélection rigoureuse des partenaires</span> 3350 </span> 3351 </a> 3352 </h5> 3353</div> </div> 3354 </div> 3355 <div class="elementor-element elementor-element-164b6f5 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="164b6f5" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3356 <div class="elementor-widget-container"> 3357 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3358 <h5 class="qodef-e-title" style="color: #747474"> 3359 <a itemprop="url" href="#" target="_self"> 3360 <span class="qodef-e-title-inner"> 3361 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Une gestion fiable des flux internationaux</span> 3362 </span> 3363 </a> 3364 </h5> 3365</div> </div> 3366 </div> 3367 <div class="elementor-element elementor-element-154bfb0 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="154bfb0" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3368 <div class="elementor-widget-container"> 3369 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--center" > 3370 <h5 class="qodef-e-title" style="color: #747474"> 3371 <a itemprop="url" href="#" target="_self"> 3372 <span class="qodef-e-title-inner"> 3373 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" > <span class="qodef-icon-ionicons ion-ios-square qodef-icon qodef-e" style="color: #EE0D08;font-size: 10px" ></span> </span> <span class="qodef-e-title-text" >Une continuité dans les approvisionnements</span> 3374 </span> 3375 </a> 3376 </h5> 3377</div> </div> 3378 </div> 3379 </div> 3380 </div> 3381 </div> 3382 </div> 3383 <div class="elementor-element elementor-element-0474629 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="0474629" data-element_type="container" data-e-type="container"> 3384 <div class="e-con-inner"> 3385 <h4 data-interaction-id="4994d41" class="e-4994d41-6e660ec e-heading-base"><strong>Un accompagnement sur mesure pour vos projets internationaux</strong></h4> 3386 </div> 3387 </div> 3388 <div class="elementor-element elementor-element-50b5d83 e-flex e-con-boxed qodef-elementor-content-no e-con e-parent" data-id="50b5d83" data-element_type="container" data-e-type="container"> 3389 <div class="e-con-inner"> 3390 <p class="e-34c9470-1bd1b99 e-paragraph-base" data-interaction-id="34c9470">ATI Export accompagne ses partenaires dans leurs opérations dâachats techniques, de sourcing et de développement à lâinternational.<br>Notre rôle est de faciliter vos échanges commerciaux et dâoptimiser vos performances grâce à une gestion efficace de votre Supply chain.</p> 3391 </div> 3392 </div> 3393 <section class="elementor-section elementor-top-section elementor-element elementor-element-b25962d qodef-elementor-content-grid elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b25962d" data-element_type="section" data-e-type="section"> 3394 <div class="elementor-container elementor-column-gap-default"> 3395 <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-89fcfdf" data-id="89fcfdf" data-element_type="column" data-e-type="column"> 3396 <div class="elementor-widget-wrap elementor-element-populated"> 3397 <div class="elementor-element elementor-element-b3853ea elementor-widget elementor-widget-stal_core_section_title" data-id="b3853ea" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_section_title.default"> 3398 <div class="elementor-widget-container"> 3399 <div class="qodef-shortcode qodef-m qodef-section-title qodef-alignment--left"> 3400 <div class="qodef-m-title-wrap"> 3401 <h3 class="qodef-m-title" > 3402 Besoin dâun partenaire fiable pour votre approvisionnement export ? </h3> 3403 3404 </div> 3405 <p class="qodef-m-text" >Confiez votre sourcing, vos achats et votre logistique internationale à un bureau dâachat export structuré.</p> 3406</div>
3406 </div> 3407 </div> 3408 <section class="elementor-section elementor-inner-section elementor-element elementor-element-e10ffc3 elementor-section-boxed elementor-section-height-default elementor-section-height-default qodef-elementor-content-no" data-id="e10ffc3" data-element_type="section" data-e-type="section"> 3409 <div class="elementor-container elementor-column-gap-default"> 3410 <div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-ddc4b2f" data-id="ddc4b2f" data-element_type="column" data-e-type="column"> 3411 <div class="elementor-widget-wrap elementor-element-populated"> 3412 <div class="elementor-element elementor-element-07f3d78 elementor-widget elementor-widget-stal_core_icon_list_item" data-id="07f3d78" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_icon_list_item.default"> 3413 <div class="elementor-widget-container"> 3414 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--top" > 3415 <p class="qodef-e-title" style="line-height: 1.625em"> 3416 <a itemprop="url" href="https://www.google.com/maps/place/ATI+Export/@46.4069922,4.8188175,13z/data=!4m10!1m2!2m1!1s+N%C2%B071+RN6,+F-71260+La+Salle!3m6!1s0x47f3133de650df2b:0x3b04a0e9c352e5e4!8m2!3d46.4045938!4d4.8749021!15sChtOwrA3MSBSTjYsIEYtNzEyNjAgTGEgU2FsbGWSARVpbXBvcnRfZXhwb3J0X2NvbXBhbnngAQA!16s%2Fg%2F11bxb9s8cc?entry=ttu&g_ep=EgoyMDI2MDcyOS4wIKXMDSoASAFQAw%3D%3D" target="_blank" rel="noopener"> 3417 <span class="qodef-e-title-inner"> 3418 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" style="width: 26px;height: 26px;line-height: 26px"> <span class="qodef-icon-ionicons ion-md-locate qodef-icon qodef-e" style="" ></span> </span> <span class="qodef-e-title-text" style="top: -5px;position: relative">N°71 RN6, F-71260 La Salle</span> 3419 </span> 3420 </a> 3421 </p> 3422</div> </div> 3423 </div> 3424 <div class="elementor-element elementor-element-b435883 elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="b435883" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> 3425 <p>Tél : <a href="tel:+330385389161" target="_self"><span class="qodef-e-title-inner"><span class="qodef-e-title-text">+33 (0)3 85 38 91 61</span></span></a></p><p>WhatsApp : <a href="tel:+330787075726" target="_self"><span class="qodef-e-title-inner"><span class="qodef-e-title-text">+33 (0)7 87 07 57 2</span></span></a>6</p><p>Linkedin : <a href="https://www.linkedin.com/company/ati-export/" target="_self" rel="noopener"><span class="qodef-e-title-inner"><span class="qodef-e-title-text">ATI EXPORT</span></span></a></p><p>Mail contact : <a href="mailto:[email protected]" target="_top" rel="noopener">[email protected]</a></p> </div> 3426 </div> 3427 </div> 3428 </div> 3429 </section> 3430 </div> 3431 </div> 3432 <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6dad5d3" data-id="6dad5d3" data-element_type="column" data-e-type="column"> 3433 <div class="elementor-widget-wrap elementor-element-populated"> 3434 <div class="elementor-element elementor-element-68d272f elementor-widget elementor-widget-stal_core_section_title" data-id="68d272f" data-element_type="widget" data-e-type="widget" data-widget_type="stal_core_section_title.default"> 3435 <div class="elementor-widget-container"> 3436 <div class="qodef-shortcode qodef-m qodef-section-title qodef-alignment--left"> 3437 <div class="qodef-m-title-wrap"> 3438 <h3 class="qodef-m-title" > 3439 Nous contacter </h3> 3440 3441 </div> 3442 <p class="qodef-m-text" >Notre équipe vous accompagne dans vos projets dâachats techniques, sourcing et export international.</p> 3443</div> </div> 3444 </div> 3445 <div class="elementor-element elementor-element-c3fbc12 elementor-widget elementor-widget-wp-widget-stal_core_contact_form_7" data-id="c3fbc12" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-stal_core_contact_form_7.default"> 3446 <div class="elementor-widget-container"> 3447 <div class="qodef-contact-form-7"> 3448 3449<div class="wpcf7 no-js" id="wpcf7-f9472-p2174-o1" lang="en-US" dir="ltr" data-wpcf7-id="9472"> 3450<div class="screen-reader-response">
3450<p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div> 3451<form action="/qui-sommes-nous/#wpcf7-f9472-p2174-o1" method="post" class="wpcf7-form init" aria-label="Contact form" novalidate="novalidate" data-status="init"> 3452<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="9472" /><input type="hidden" name="_wpcf7_version" value="6.1.6" /><input type="hidden" name="_wpcf7_locale" value="en_US" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f9472-p2174-o1" /><input type="hidden" name="_wpcf7_container_post" value="2174" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /> 3453</fieldset> 3454<div class="dv-form-row"> 3455 <span class="wpcf7-form-control-wrap" data-name="Nom_Complet"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Nom Complet" value="" type="text" name="Nom_Complet" /></span> 3456 <span class="wpcf7-form-control-wrap" data-name="tel-88"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel" aria-required="true" aria-invalid="false" placeholder="Téléphone" value="" type="tel" name="tel-88" /></span> 3457</div> 3458<div class="dv-form-row"> 3459 <span class="wpcf7-form-control-wrap" data-name="text-240"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Entreprise" value="" type="text" name="text-240" /></span> 3460 <span class="wpcf7-form-control-wrap" data-name="text-909"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Pays" value="" type="text" name="text-909" /></span> 3461</div> 3462<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="Adresse Mail" value="" type="email" name="Email" /></span> 3463<span class="wpcf7-form-control-wrap" data-name="your-message"><textarea cols="40" rows="10" maxlength="2000" class="wpcf7-form-control wpcf7-textarea" aria-invalid="false" placeholder="Message" name="your-message"></textarea></span> 3464<button class="wpcf7-form-control wpcf7-submit qodef-button qodef-size--normal qodef-layout--splitted qodef-m" type="submit"><span class="qodef-m-text">Envoyer<svg class="qodef-m-arrowline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 63 20" xml:space="preserve"> 3465 <line x1="61.6" y1="10" x2="61.6" y2="10"/> 3466 <line x1="62" y1="10" x2="61.6" y2="10"/> 3467 <line x1="61.6" y1="10" x2="1" y2="10"/> 3468 <path d="M61.6,10"/> 3469 <line x1="61.6" y1="10" x2="61.6" y2="10"/> 3470 <line class="arrow-up" x1="56.7" y1="5.1" x2="61.6" y2="10"/> 3471 <path d="M61.6,10"/> 3472 <line x1="61.6" y1="10" x2="61.6" y2="10"/> 3473 <line class="arrow-down" x1="61.6" y1="10" x2="56.7" y2="14.9"/> 3474 </svg></span><span class="qodef-m-split qodef-split--up"></span><span class="qodef-m-split qodef-split--down"></span></button><div class="wpcf7-response-output" aria-hidden="true"></div> 3475</form> 3476</div> 3477 </div> 3478 </div> 3479 </div> 3480 </div> 3481 </div> 3482 </div> 3483 </section> 3484 <div class="elementor-element elementor-element-52134b6 e-con e-atomic-element e-flexbox-base e-e42af08 " data-id="52134b6" data-element_type="e-flexbox" data-e-type="e-flexbox" data-interaction-id="52134b6"> 3485 3486</div> 3487 </div> 3488 </div> </div> 3489</main> 3490 </div><!-- close #qodef-page-inner div from header.php --> 3491 </div><!-- close #qodef-page-outer div from header.php --> 3492 <footer id="qodef-page-footer"> 3493 <div id="qodef-page-footer-top-area"> 3494 <div id="qodef-page-footer-top-area-inner" class="qodef-content-grid"> 3495 <div class="qodef-grid qodef-layout--columns qodef-responsive--custom qodef-col-num--4 qodef-col-num--1024--2 qodef-col-num--768--2 qodef-col-num--680--1 qodef-col-num--480--1"> 3496 <div class="qodef-grid-inner clear"> 3497 <div class="qodef-grid-item">
3498 <div id="media_image-2" class="widget widget_media_image" data-area="footer_top_area_column_1"><a href="https://stal.qodeinteractive.com/wp-content/uploads/2020/01/logo-footer.jpg"><img loading="lazy" width="947" height="944" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export.webp" class="image wp-image-5467 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" srcset="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export.webp 947w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-300x300.webp 300w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-150x150.webp 150w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-768x766.webp 768w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-82x82.webp 82w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-600x598.webp 600w, https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/05/Nouveau-logo-ATI-Export-100x100.webp 100w" sizes="(max-width: 947px) 100v
3498w, 947px" /></a></div><div id="stal_core_separator-2" class="widget widget_stal_core_separator" data-area="footer_top_area_column_1"><div class="qodef-shortcode qodef-m qodef-separator clear"> 3499 <div class="qodef-m-line" style="border-color: #c9c9c9;margin-top: 10px"></div> 3500</div></div><div id="text-10" class="widget widget_text" data-area="footer_top_area_column_1"> <div class="textwidget"><p>Bienvenue chez ATI Export, votre partenaire de confiance pour accompagner votre développement à lâinternational.</p> 3501</div> 3502 </div> </div> 3503 <div class="qodef-grid-item"> 3504 <div id="block-2" class="widget widget_block" data-area="footer_top_area_column_2"><h3 style="color: #fdec01; margin-bottom: 15px; font-size: 14px; letter-spacing: 2px;">NOS SECTEURS</h3> 3505<ul style="list-style: none; padding: 0; margin: 0;"> 3506 <li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/agroalimentaire/" style="color: #ffffff; text-decoration: none;">Agroalimentaire</a></li> 3507 <li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/btp/" style="color: #ffffff; text-decoration: none;">BTP</a></li> 3508 <li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/minier/" style="color: #ffffff; text-decoration: none;">Minier</a></li> 3509 <li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/petrolier/" style="color: #ffffff; text-decoration: none;">Pétrolier</a></li> 3510<li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/energie/" style="color: #ffffff; text-decoration: none;">Ãnergie</a></li> 3511<li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/automobile/" style="color: #ffffff; text-decoration: none;">Automobile</a></li> 3512<li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/aeronautique/" style="color: #ffffff; text-decoration: none;">Aéronautique</a></li> 3513<li style="margin-bottom: 8px; padding-left: 10px;"><a href="https://goldenrod-pigeon-420491.hostingersite.com/ferroviaire/" style="color: #ffffff; text-decoration: none;">Ferroviaire</a></li> 3514 3515 3516</ul></div> </div> 3517 <div class="qodef-grid-item"> 3518 <div id="nav_menu-2" class="widget widget_nav_menu" data-area="footer_top_area_column_3"><h5 class="qodef-widget-title">Menu</h5><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-10361" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-10361"><a href="https://goldenrod-pigeon-420491.hostingersite.com/">Accueil</a></li> 3519<li id="menu-item-5525" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2174 current_page_item menu-item-5525"><a href="https://goldenrod-pigeon-420491.hostingersite.com/qui-sommes-nous/" aria-current="page">Qui Sommes Nous</a></li> 3520<li id="menu-item-8176" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8176"><a href="https://goldenrod-pigeon-420491.hostingersite.com/nos-services/">Nos Services</a></li> 3521<li id="menu-item-10142" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10142"><a href="https://goldenrod-pigeon-420491.hostingersite.com/recrutement/">Recrutement</a></li> 3522<li id="menu-item-10143" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10143"><a href="https://goldenrod-pigeon-420491.hostingersite.com/actualites/">Actualités</a></li> 3523<li id="menu-item-5526" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5526"><a href="https://goldenrod-pigeon-420491.hostingersite.com/contact-us/">Demande de Devis</a></li> 3524</ul></div></div> </div> 3525 <div class="qodef-grid-item"> 3526 <div id="custom_html-2" class="widget_text widget widget_custom_html" data-area="footer_top_area_column_4"><h5 class="qodef-widget-title">Contact</h5><div class="textwidget custom-html-widget"><!-- 3527 [FOOTER-CONTACT-WIDGET] Session 36 3528 ============================================================================ 3529 PASTE TARGET: wp-admin -> Appearance -> Widgets -> "Footer Top Area Column 4" 3530 -> the Custom HTML widget titled "Contact" (id: custom_html-2) 3531 Paste this as the widget's CONTENT (the title field stays "Contact"). 3532 3533 WHY THIS FILE EXISTS 3534 This widget is a *Custom HTML* block holding the pasted, already-rendered
3535 output of three Stal "icon list item" widgets. That is why the WordPress 3536 interface shows no Link field to edit - the hrefs are hardcoded in this raw 3537 markup, not stored as widget settings. 3538 3539 WHAT WAS WRONG (all three links were Stal theme DEMO leftovers - the visible 3540 text had been updated to ATI's real details, the hrefs never were): 3541 1. Address -> https://www.google.com/maps/place/Uniqlo+Soho/@40.719... 3542 (a Uniqlo store in SoHo, New York) 3543 2. Phone -> tel:123124567 (fake placeholder number) 3544 3. Email -> mailto:[email protected] (the theme vendor's address) 3545 3546 DO NOT CHANGE the three wrapper ids (stal_core_icon_list_item-2/3/4). 3547 Additional-CSS.css [FOOTER-CONTACT] targets them by id to force the white 3548 text/link colour. Renaming or removing them silently breaks that rule. 3549 3550 ALSO NOTE: `N°71` is written as an HTML entity on purpose. The live page 3551 currently serves that character as an invalid byte (renders as a replacement 3552 glyph in raw fetches), so the entity sidesteps any editor encoding issue. 3553 3554 UPDATE (same session): the address link was swapped again, from a generic 3555 Maps search-query URL to the user's own copied link to the real "ATI Export" 3556 place pin (https://www.google.com/maps/place/ATI+Export/@46.40...). Prefer 3557 this over regenerating a search URL if it ever needs replacing again - it's 3558 the actual verified business listing, not a derived query. 3559 3560 STILL OUTSTANDING (separate widget, not fixed by this file): 3561 The side-area Custom HTML widget (id: custom_html-3, area "Side Area") holds 3562 TWO more copies of the same Uniqlo maps link, both using a "+" icon 3563 (ion-ios-add) instead of a map pin, and both duplicated. See session-log.md. 3564 ============================================================================ 3565--> 3566<div id="stal_core_icon_list_item-2" class="widget widget_stal_core_icon_list_item" data-area="footer_top_area_column_3"><div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--top" style="margin-bottom: 23px"> 3567 <p class="qodef-e-title" style="color: #ffffff;line-height: 1.625em"> 3568 <a itemprop="url" href="https://www.google.com/maps/place/ATI+Export/@46.4069922,4.8188175,13.25z/data=!4m10!1m2!2m1!1s+N%C2%B071+RN6,+F-71260+La+Salle!3m6!1s0x47f3133de650df2b:0x3b04a0e9c352e5e4!8m2!3d46.4045938!4d4.8749021!15sChtOwrA3MSBSTjYsIEYtNzEyNjAgTGEgU2FsbGWSARVpbXBvcnRfZXhwb3J0X2NvbXBhbnngAQA!16s%2Fg%2F11bxb9s8cc?entry=ttu&g_ep=EgoyMDI2MDcyMi4wIKXMDSoASAFQAw%3D%3D" target="_blank"> 3569 <span class="qodef-e-title-inner"> 3570 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal" style="top: 5px;"> <span class="qodef-icon-ionicons ion-ios-pin qodef-icon qodef-e" style="color: #fdec01;font-size: 25px;"></span> </span> <span class="qodef-e-title-text">N°71 RN6, F-71260 La Salle<br/></span> 3571 </span> 3572 </a> 3573 </p> 3574</div></div> 3575<div id="stal_core_icon_list_item-3" class="widget widget_stal_core_icon_list_item" data-area="footer_top_area_column_3"><div class="qodef-icon-list-item qodef-icon--icon-pack" style="margin-bottom: 23px"> 3576 <p class="qodef-e-title" style="color: #ffffff"> 3577 <a itemprop="url" href="tel:+33385389161" target="_self"> 3578 <span class="qodef-e-title-inner"> 3579 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal"> <span class="qodef-icon-ionicons ion-ios-call qodef-icon qodef-e" style="color: #fdec01;font-size: 25px"></span> </span> <span class="qodef-e-title-text">+33 (0)3 85 38 91 61 </span> 3580 </span> 3581 </a> 3582 </p> 3583</div></div> 3584<div id="stal_core_icon_list_item-4" class="widget widget_stal_core_icon_list_item" data-area="footer_top_area_column_3"><div class="qodef-icon-list-item qodef-icon--icon-pack" style="margin-bottom: 22px"> 3585 <p class="qodef-e-title" style="color: #ffffff"> 3586 <a itemprop="url" href="mailto:[email protected]" target="_self"> 3587 <span class="qodef-e-title-inner"> 3588 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--normal">
3588 <span class="qodef-icon-ionicons ion-ios-chatboxes qodef-icon qodef-e" style="color: #fdec01;font-size: 25px"></span> </span> <span class="qodef-e-title-text"> [email protected]</span> 3589 </span> 3590 </a> 3591 </p> 3592</div></div> 3593</div></div> </div> 3594 </div> 3595 </div> 3596 </div> 3597 </div> 3598 <div id="qodef-page-footer-bottom-area"> 3599 <div id="qodef-page-footer-bottom-area-inner" class="qodef-content-grid"> 3600 <div class="qodef-grid qodef-layout--columns qodef-responsive--custom qodef-col-num--2 qodef-col-num--768--1 qodef-col-num--680--1 qodef-col-num--480--1"> 3601 <div class="qodef-grid-inner clear"> 3602 <div class="qodef-grid-item"> 3603 <div id="text-12" class="widget widget_text" data-area="footer_bottom_area_column_1"> <div class="textwidget"><p>© 2026 ATI Export, Tous Droits Réservés. <a href="https://goldenrod-pigeon-420491.hostingersite.com/mentions-legales/">Mentions Légales</a></p> 3604</div> 3605 </div> </div> 3606 <div class="qodef-grid-item"> 3607 <div id="stal_core_icon-11" class="widget widget_stal_core_icon" data-area="footer_bottom_area_column_2"><span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" data-hover-color="#fdec01" data-hover-background-color="#000000" data-hover-border-color="#ffffff" style="margin: 0 10px 0px 0;width: 40px;height: 40px;line-height: 40px;background-color: #fdec01;border-color: #ee0d08"> 3608 <a itemprop="url" href="https://wa.me/33787075726" target="_blank"> 3609 <span class="qodef-icon-ionicons ion-logo-whatsapp qodef-icon qodef-e" style="color: #000000;font-size: 20px" ></span> </a> 3610 </span></div><div id="stal_core_icon-3" class="widget widget_stal_core_icon" data-area="footer_bottom_area_column_2"><span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" data-hover-color="#fdec01" data-hover-background-color="#000000" data-hover-border-color="#ffffff" style="margin: 0 10px 0px 0;width: 40px;height: 40px;line-height: 40px;background-color: #fdec01;border-color: #ee0d08"> 3611 <a itemprop="url" href="https://web.facebook.com/profile.php?id=100036868286863#" target="_blank"> 3612 <span class="qodef-icon-ionicons ion-logo-facebook qodef-icon qodef-e" style="color: #000000;font-size: 20px" ></span> </a> 3613 </span></div><div id="stal_core_icon-4" class="widget widget_stal_core_icon" data-area="footer_bottom_area_column_2"><span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" data-hover-color="#fdec01" data-hover-background-color="#000000" data-hover-border-color="#ffffff" style="margin: 0 0px 0px 0;width: 40px;height: 40px;line-height: 40px;background-color: #fdec01;border-color: #ee0d08"> 3614 <a itemprop="url" href="https://www.linkedin.com/company/ati-export/" target="_blank"> 3615 <span class="qodef-icon-ionicons ion-logo-linkedin qodef-icon qodef-e" style="color: #000000;font-size: 20px" ></span> </a> 3616 </span></div> </div> 3617 </div> 3618 </div> 3619 </div> 3620 </div> 3621</footer><a id="qodef-back-to-top" href="#"> 3622 <span class="qodef-back-to-top-icon"> 3623 <span class="qodef-icon-elegant-icons arrow_carrot-up" ></span> </span> 3624</a> <div id="qodef-side-area" > 3625 <a id="qodef-side-area-close" class="qodef-side-area-close--predefined" href="javascript:void(0)"> 3626 <span class="qodef-lines"><span class="qodef-line qodef-line-1"></span><span class="qodef-line qodef-line-2"></span><span class="qodef-line qodef-line-3"></span><span class="qodef-line qodef-line-4"></span><span class="qodef-line qodef-line-5"></span></span> </a> 3627 <div id="qodef-side-area-inner"> 3628 <div id="text-15" class="widget widget_text" data-area="side-area"><h3 class="qodef-widget-title">Notre localisation</h3> <div class="textwidget"><p><span class="qodef-e-title-text">N°71 RN6, F-71260 La Salle</span></p> 3629</div> 3630 </div><div id="media_image-3" class="widget widget_media_image" data-area="side-area"><a href="https://stal.qodeinteractive.com/"><img loading="lazy" class="image " src="https://stal.qodeinteractive.com/wp-content/uploads/2020/02/side-area-img-1.png" alt="m" width="401" height="139" decoding="async" /></a></div><div id="stal_core_separator-14" class="widget widget_stal_core_separator" data-area="side-area"><div class="qodef-shortcode qodef-m qodef-separator clear"> 3631 <div class="qodef-m-line" style="border-color: rgba(255,255,255,0);border-style: solid;margin-top: 20px"></div> 3632</div></div><div id="custom_html-3" class="widget_text widget widget_custom_html" data-area="side-area"><div class="textwidget custom-html-widget"><div class="qodef-e-content qodef-grid qodef-layout--template "> 3633 <div class="qodef-grid-inner clear"> 3634 <div class="qodef-grid-item qodef-col--6"><div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--top" style="margin-bottom: 22px;"> 3635 <p class="qodef-e-title" style="line-height: 1.625em"> 3636 <a itemprop="url" href="https://www.google.com/maps/place/Uniqlo+Soho/@40.7190772,-74.001693,16z/data=!4m13!1m7!3m6!1s0x89c24fa5d33f083b:0xc80b8f06e177fe62!2sNew+York,+NY,+USA!3b1!8m2!3d40.7127753!4d-74.0059728!3m4!1s0x89c2598edb6242d3:0x4ae291a9ff31e800!8m2!3d40.7234983!4d-73.9982012" target="_blank"> 3637 <span class="qodef-e-title-inner"> 3638 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" style="width: 26px;
3638height: 26px;line-height: 26px; top: 5px;"> <span class="qodef-icon-ionicons ion-ios-add qodef-icon qodef-e" style=""></span> </span> <span class="qodef-e-title-text">N°71 RN6, F-71260 La Salle</span> 3639 </span> 3640 </a> 3641 </p> 3642</div> 3643 <div class="qodef-icon-list-item qodef-icon--icon-pack qodef-alignment--top"> 3644 <p class="qodef-e-title" style="line-height: 1.625em"> 3645 <a itemprop="url" href="https://www.google.com/maps/place/Uniqlo+Soho/@40.7190772,-74.001693,16z/data=!4m13!1m7!3m6!1s0x89c24fa5d33f083b:0xc80b8f06e177fe62!2sNew+York,+NY,+USA!3b1!8m2!3d40.7127753!4d-74.0059728!3m4!1s0x89c2598edb6242d3:0x4ae291a9ff31e800!8m2!3d40.7234983!4d-73.9982012" target="_blank"> 3646 <span class="qodef-e-title-inner"> 3647 <span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" style="width: 26px;height: 26px;line-height: 26px; top: 5px;"> <span class="qodef-icon-ionicons ion-ios-add qodef-icon qodef-e" style=""></span> </span> <span class="qodef-e-title-text">N°71 RN6, F-71260 La Salle</span> 3648 </span> 3649 </a> 3650 </p> 3651</div> 3652 </div> 3653 <div class="qodef-grid-item qodef-col--6 "> 3654 3655 3656 3657 </div> 3658 </div> 3659 </div> 3660</div></div> </div> 3661 <div class="qodef-side-area-bottom"> 3662 <div id="stal_core_icon-9" class="widget widget_stal_core_icon" data-area="side-area-bottom"><span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" data-hover-background-color="#eab700" data-hover-border-color="#ffffff" style="margin: 0 10px 20px 0;width: 40px;height: 40px;line-height: 40px;border-color: #eab700"> 3663 <a itemprop="url" href="https://www.facebook.com/QodeInteractive/" target="_blank"> 3664 <span class="qodef-icon-ionicons ion-logo-facebook qodef-icon qodef-e" style="color: #ffffff;font-size: 20px" ></span> </a> 3665 </span></div><div id="stal_core_icon-10" class="widget widget_stal_core_icon" data-area="side-area-bottom"><span class="qodef-shortcode qodef-m qodef-icon-holder qodef-size--default qodef-layout--square" data-hover-background-color="#eab700" data-hover-border-color="#ffffff" style="margin: 0 0px 20px 0;width: 40px;height: 40px;line-height: 40px;border-color: #c60400"> 3666 <a itemprop="url" href="https://www.linkedin.com/company/ati-export/?originalSubdomain=fr" target="_blank"> 3667 <span class="qodef-icon-ionicons ion-logo-linkedin qodef-icon qodef-e" style="color: #ffffff;font-size: 20px" ></span> </a> 3668 </span></div><div id="block-9" class="widget widget_block" data-area="side-area-bottom"> 3669<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"> 3670<p></p> 3671</blockquote> 3672</div> </div> 3673 </div> 3674 </div><!-- close #qodef-page-wrapper div from header.php --> 3675 <template id="tp-language" data-tp-language="fr_FR"></template>
3675<script type="speculationrules"> 3676{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/stal/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 3677</script>
3677 3678<!-- Custom Facebook Feed JS -->
3679<script data-optimized="1" type="text/javascript" src="data:text/javascript;base64,dmFyIGNmZmFqYXh1cmw9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHAiO3ZhciBjZmZsaW5raGFzaHRhZ3M9InRydWUi" defer></script>
3679 3680 <div id="ati-popup-overlay"> 3681 <div id="ati-popup"> 3682 <button id="ati-popup-close" aria-label="Fermer">â</button> 3683 3684 <!-- Left: image --> 3685 <div id="ati-popup-image"> 3686 <img src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/uploads/2026/07/ati-logoooossss.png" alt="ATI Export Actualités" /> 3687 </div> 3688 3689 <!-- Right: content --> 3690 <div id="ati-popup-content"> 3691 <div id="ati-popup-eyebrow">Restez informé</div> 3692 <h2 id="ati-popup-title">Actualités<br><span>ATI Export</span></h2> 3693 <p id="ati-popup-desc">Promotions, offres spéciales, nouveaux partenaires â recevez les dernières nouvelles directement dans votre boîte mail.</p> 3694 3695 <form id="ati-popup-form" action="https://goldenrod-pigeon-420491.hostingersite.com/contact-us/" method="get" onsubmit="return atiPopupSubmit(event)"> 3696 <div id="ati-popup-input-row"> 3697 <input type="email" id="ati-popup-email" placeholder="Votre adresse e-mail" required autocomplete="email" /> 3698 <button type="submit" id="ati-popup-submit">S'inscrire â</button> 3699 </div> 3700 3701 </form> 3702 3703 3704 3705 <a href="https://goldenrod-pigeon-420491.hostingersite.com/actualites/" id="ati-popup-actu-btn"> 3706 Voir toutes les actualités â 3707 </a> 3708 </div> 3709 </div> 3710 </div> 3711 3712 <style>#ati-popup-overlay{position:fixed;inset:0;background:rgb(0 0 0 / .75);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;animation:atiPopupFadeIn 0.35s ease}@keyframes atiPopupFadeIn{from{opacity:0}to{opacity:1}}#ati-popup{position:relative;display:flex;width:100%;max-width:520px;min-height:260px;background:#0a0a0a;overflow:hidden;animation:atiPopupSlideUp 0.4s ease}@keyframes atiPopupSlideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}#ati-popup-close{position:absolute;top:12px;right:12px;z-index:10;background:rgb(0 0 0 / .5);border:1px solid rgb(255 255 255 / .15);color:#fff;width:28px;height:28px;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,border-color 0.2s;line-height:1}#ati-popup-close:hover{background:#fdec01;border-color:#fdec01;color:#000}#ati-popup-image{flex:0 0 42%;position:relative;overflow:hidden}#ati-popup-image img{width:100%;height:100%;object-fit:cover;display:block}#ati-popup-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,#0a0a0a 100%)}#ati-popup-content{flex:1;padding:32px 28px 28px 24px;display:flex;flex-direction:column;justify-content:center}#ati-popup-eyebrow{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#fdec01;margin-bottom:10px}#ati-popup-title{font-size:clamp(19px, 2.6vw, 27px);font-weight:700;text-transform:uppercase;line-height:1.1;color:#fff;margin:0 0 12px;letter-spacing:-.5px}#ati-popup-title span{color:#fdec01}#ati-popup-desc{font-size:12px;line-height:1.6;color:rgb(255 255 255 / .5);margin:0 0 18px}#ati-popup-input-row{display:flex;gap:0;margin-bottom:8px;align-items:stretch}#ati-popup-email{flex:1;background:rgb(255 255 255 / .07)!important;border:1px solid rgb(255 255 255 / .15)!important;border-right:none!important;color:#fff!important;padding:0 14px!important;height:42px!important;font-size:12px!important;outline:none!important;transition:border-color 0.2s!important;box-sizing:border-box!important;border-radius:0!important;font-family:inherit!important;width:auto!important}#ati-popup-email::placeholder{color:rgb(255 255 255 / .3)}#ati-popup-email:focus{border-color:#fdec01!important}#ati-popup-submit{background:#fdec01!important;color:#000!important;border:none!important;padding:0 16px!important;height:42px!important;font-size:10px!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important;cursor:pointer!important;white-space:nowrap!important;transition:background 0.2s,color 0.2s!important;font-family:inherit!important;border-radius:0!important;display:inline-flex!important;align-items:center!important}#ati-popup-submit:hover{background:#000!important;color:#fff!important}#ati-popup-privacy{font-size:11px;color:rgb(255 255 255 / .25);margin:0 0 28px}#ati-popup-divider{height:1px;background:rgb(255 255 255 / .08);margin-bottom:24px}#ati-popup-actu-btn{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgb(255 255 255 / .5);text-decoration:none;transition:color 0.2s;border:1px solid rgb(255 255 255 / .12);padding:9px 16px;align-self:flex-start}#ati-popup-actu-btn:hover{color:#fdec01;border-color:#fdec01}@media (max-width:640px){#ati-popup{flex-direction:column;max-width:100%;min-height:unset}#ati-popup-image{flex:0 0 200px;height:200px}#ati-popup-image::after{background:linear-gradient(to bottom,transparent 60%,#0a0a0a 100%)}#ati-popup-content{padding:24px 20px 26px}#ati-popup-input-row{flex-direction:column}#ati-popup-email{border-right:1px solid rgb(255 255 255 / .15)!important;border-bottom:none!important;height:42px!important}#ati-popup-submit{height:42px!important;padding:0 16px!important}}</style> 3713 3714
3714<script data-optimized="1" src="data:text/javascript;base64,KGZ1bmN0aW9uKCl7aWYoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYXRpX3BvcHVwX3NlZW4nKSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F0aS1wb3B1cC1vdmVybGF5Jykuc3R5bGUuZGlzcGxheT0nbm9uZSc7cmV0dXJufQpzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdhdGlfcG9wdXBfc2VlbicsJzEnKTt2YXIgb3ZlcmxheT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXRpLXBvcHVwLW92ZXJsYXknKTt2YXIgY2xvc2VCdG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F0aS1wb3B1cC1jbG9zZScpO2Z1bmN0aW9uIGNsb3NlUG9wdXAoKXtvdmVybGF5LnN0eWxlLm9wYWNpdHk9JzAnO292ZXJsYXkuc3R5bGUudHJhbnNpdGlvbj0nb3BhY2l0eSAwLjI1cyBlYXNlJztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7b3ZlcmxheS5zdHlsZS5kaXNwbGF5PSdub25lJ30sMjUwKX0KY2xvc2VCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGNsb3NlUG9wdXApO292ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09b3ZlcmxheSljbG9zZVBvcHVwKCk7fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZVBvcHVwKCk7fSl9KSgpO2Z1bmN0aW9uIGF0aVBvcHVwU3VibWl0KGUpe2UucHJldmVudERlZmF1bHQoKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXRpLXBvcHVwLWZvcm0nKS5pbm5lckhUTUw9JzxwIHN0eWxlPSJjb2xvcjojZmRlYzAxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW46MDsiPuKckyBNZXJjaSAhIFZvdXMgcmVjZXZyZXogbm9zIGFjdHVhbGl0w6lzIHByb2NoYWluZW1lbnQuPC9wPid9" defer></script>
3714 3715
3715<script data-optimized="1" src="data:text/javascript;base64,KGZ1bmN0aW9uKCl7dmFyIGNhdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2F0Jyk7aWYoIWNhdClyZXR1cm47dmFyIGFsbG93ZWQ9WzEsMTksMjAsMjEsMjIsMjMsMjQsMjUsMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTddO0FycmF5LmZyb20oY2F0Lm9wdGlvbnMpLmZvckVhY2goZnVuY3Rpb24ob3B0KXtpZihvcHQudmFsdWU9PT0nLTEnKXJldHVybjtpZihhbGxvd2VkLmluZGV4T2YocGFyc2VJbnQob3B0LnZhbHVlKSk9PT0tMSlvcHQucmVtb3ZlKCk7fSk7aWYod2luZG93LmpRdWVyeSYmalF1ZXJ5KGNhdCkuZGF0YSgnc2VsZWN0MicpKXtqUXVlcnkoY2F0KS50cmlnZ2VyKCdjaGFuZ2UnKX19KSgp" defer></script>
3715 3716 <!-- YouTube Feeds JS -->
3717<script data-optimized="1" type="text/javascript"> 3718 3719</script>
3719 3720<!-- Instagram Feed JS -->
3721<script data-optimized="1" type="text/javascript" src="data:text/javascript;base64,dmFyIHNiaWFqYXh1cmw9Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHAi" defer></script>
3721 3722
3722<script data-optimized="1" src="data:text/javascript;base64,Y29uc3QgbGF6eWxvYWRSdW5PYnNlcnZlcj0oKT0+e2NvbnN0IGxhenlsb2FkQmFja2dyb3VuZHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgLmUtY29uLmUtcGFyZW50Om5vdCguZS1sYXp5bG9hZGVkKWApO2NvbnN0IGxhenlsb2FkQmFja2dyb3VuZE9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcyk9PntlbnRyaWVzLmZvckVhY2goKGVudHJ5KT0+e2lmKGVudHJ5LmlzSW50ZXJzZWN0aW5nKXtsZXQgbGF6eWxvYWRCYWNrZ3JvdW5kPWVudHJ5LnRhcmdldDtpZihsYXp5bG9hZEJhY2tncm91bmQpe2xhenlsb2FkQmFja2dyb3VuZC5jbGFzc0xpc3QuYWRkKCdlLWxhenlsb2FkZWQnKX0KbGF6eWxvYWRCYWNrZ3JvdW5kT2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCl9fSl9LHtyb290TWFyZ2luOicyMDBweCAwcHggMjAwcHggMHB4J30pO2xhenlsb2FkQmFja2dyb3VuZHMuZm9yRWFjaCgobGF6eWxvYWRCYWNrZ3JvdW5kKT0+e2xhenlsb2FkQmFja2dyb3VuZE9ic2VydmVyLm9ic2VydmUobGF6eWxvYWRCYWNrZ3JvdW5kKX0pfTtjb25zdCBldmVudHM9WydET01Db250ZW50TG9hZGVkJywnZWxlbWVudG9yL2xhenlsb2FkL29ic2VydmUnLF07ZXZlbnRzLmZvckVhY2goKGV2ZW50KT0+e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsbGF6eWxvYWRSdW5PYnNlcnZlcil9KQ==" defer></script>
3722 3723
3723<script data-optimized="1" type='text/javascript' src="data:text/javascript;base64,KGZ1bmN0aW9uKCl7dmFyIGM9ZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7Yz1jLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywnd29vY29tbWVyY2UtanMnKTtkb2N1bWVudC5ib2R5LmNsYXNzTmFtZT1jfSkoKQ==" defer></script>
3723 3724 <link data-optimized="1" rel='stylesheet' id='wc-blocks-style-css' href='https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/css/67f5815f6359bbc77764c9e1690cc881.css?ver=a7827' type='text/css' media='all' />
3725<script data-optimized="1" type="text/javascript" id="cffscripts-js-extra" src="data:text/javascript;base64,dmFyIGNmZkVsZW1lbnRvckRhdGE9eyJmZWVkcyI6W10sImZlZWRfdXJsIjoiaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1hZG1pbi9hZG1pbi5waHA/cGFnZT1jZmYtZmVlZC1idWlsZGVyIiwiaXNfcHJvX2FjdGl2ZSI6IiJ9" defer></script>
vendor: 1 bytes, line 3725
3725
3726<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/051df0f40e41d2f06d37b61c2dfae08b.js?ver=4fde3" id="cffscripts-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3726
3726
3727<script data-optimized="1" type="text/javascript" id="ctf_scripts-js-extra" src="data:text/javascript;base64,dmFyIGN0Zj17ImFqYXhfdXJsIjoiaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCIsImkxOG4iOnsibmV3VHdlZXRzTG9hZGVkIjoiJXMgbmV3IHR3ZWV0cyBsb2FkZWQiLCJub01vcmVUd2VldHMiOiJDXHUyMDE5ZXN0IHRvdXRcdTAwYTAhIFBsdXMgZGUgdHdlZXRzIFx1MDBlMCBjaGFyZ2VyIn19O3ZhciBjdGZFbGVtZW50b3JEYXRhPXsiZmVlZHMiOltdLCJmZWVkX3VybCI6Imh0dHBzOi8vZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb20vd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9Y3RmLWZlZWQtYnVpbGRlciIsImlzX3Byb19hY3RpdmUiOiIifTt2YXIgY3RmPXsiYWpheF91cmwiOiJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWFkbWluL2FkbWluLWFqYXgucGhwIiwiaTE4biI6eyJuZXdUd2VldHNMb2FkZWQiOiIlcyBuZXcgdHdlZXRzIGxvYWRlZCIsIm5vTW9yZVR3ZWV0cyI6IkNcdTIwMTllc3QgdG91dFx1MDBhMCEgUGx1cyBkZSB0d2VldHMgXHUwMGUwIGNoYXJnZXIifX0=" defer></script>
vendor: 1 bytes, line 3727
3727
3728<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/9b770cac456f0181854c2d3506bf9d11.js?ver=efe5d" id="ctf_scripts-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3728
3728
3729<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/e506f614d992421780d835da41818521.js?ver=87b56" id="wp-hooks-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3729
3729
3730<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/0f348c9b267f56c943c1d89e58e2b30a.js?ver=1a9f0" id="wp-i18n-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3730
3730
3731<script data-optimized="1" type="text/javascript" id="wp-i18n-js-after" src="data:text/javascript;base64,d3AuaTE4bi5zZXRMb2NhbGVEYXRhKHsndGV4dCBkaXJlY3Rpb25cdTAwMDRsdHInOlsnbHRyJ119KQ==" defer></script>
vendor: 1 bytes, line 3731
3731
3732<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/b8329814fecdb7425e3e7191263873cc.js?ver=6ab82" id="swv-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3732
3732
3733<script data-optimized="1" type="text/javascript" id="contact-form-7-js-translations" src="data:text/javascript;base64,KGZ1bmN0aW9uKGRvbWFpbix0cmFuc2xhdGlvbnMpe3ZhciBsb2NhbGVEYXRhPXRyYW5zbGF0aW9ucy5sb2NhbGVfZGF0YVtkb21haW5dfHx0cmFuc2xhdGlvbnMubG9jYWxlX2RhdGEubWVzc2FnZXM7bG9jYWxlRGF0YVsiIl0uZG9tYWluPWRvbWFpbjt3cC5pMThuLnNldExvY2FsZURhdGEobG9jYWxlRGF0YSxkb21haW4pfSkoImNvbnRhY3QtZm9ybS03Iix7InRyYW5zbGF0aW9uLXJldmlzaW9uLWRhdGUiOiIyMDI2LTA3LTI3IDE1OjM3OjI3KzAwMDAiLCJnZW5lcmF0b3IiOiJHbG90UHJlc3NcLzQuMC4zIiwiZG9tYWluIjoibWVzc2FnZXMiLCJsb2NhbGVfZGF0YSI6eyJtZXNzYWdlcyI6eyIiOnsiZG9tYWluIjoibWVzc2FnZXMiLCJwbHVyYWwtZm9ybXMiOiJucGx1cmFscz0yOyBwbHVyYWw9biA+IDE7IiwibGFuZyI6ImZyIn0sIlRoaXMgY29udGFjdCBmb3JtIGlzIHBsYWNlZCBpbiB0aGUgd3JvbmcgcGxhY2UuIjpbIkNlIGZvcm11bGFpcmUgZGUgY29udGFjdCBlc3QgcGxhY1x1MDBlOSBkYW5zIHVuIG1hdXZhaXMgZW5kcm9pdC4iXSwiRXJyb3I6IjpbIkVycmV1clx1MDBhMDoiXX19LCJjb21tZW50Ijp7InJlZmVyZW5jZSI6ImluY2x1ZGVzXC9qc1wvaW5kZXguanMifX0p" defer></script>
vendor: 1 bytes, line 3733
3733
3734<script data-optimized="1" type="text/javascript" id="contact-form-7-js-before" src="data:text/javascript;base64,dmFyIHdwY2Y3PXsiYXBpIjp7InJvb3QiOiJodHRwczpcL1wvZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb21cL3dwLWpzb25cLyIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJjYWNoZWQiOjF9" defer></script>
vendor: 1 bytes, line 3734
3734
3735<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/334390d3fac1509b412acfb5d677d46a.js?ver=1d7d1" id="contact-form-7-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3735
3735
3736<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/a16f8f39956c4e6f6f3dcaa7fb510b0d.js?ver=10b0d" id="hostinger-reach-embed-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 3736
3736
3737<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/a83f9e4a8a200a18224c8547dd64d09f.js?ver=a7877" id="jquery-ui-core-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3737
3737
3738<script data-optimized="1" type="text/javascript" id="qi-addons-for-elementor-script-js-extra" src="data:text/javascript;base64,dmFyIHFvZGVmUWlBZGRvbnNHbG9iYWw9eyJ2YXJzIjp7ImFkbWluQmFySGVpZ2h0IjowLCJpY29uQXJyb3dMZWZ0IjoiXHUwMDNDc3ZnICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDM0LjIgMzIuM1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgc3R5bGU9XCJzdHJva2Utd2lkdGg6IDI7XCJcdTAwM0VcdTAwM0NsaW5lIHgxPVwiMC41XCIgeTE9XCIxNlwiIHgyPVwiMzMuNVwiIHkyPVwiMTZcIi9cdTAwM0VcdTAwM0NsaW5lIHgxPVwiMC4zXCIgeTE9XCIxNi41XCIgeDI9XCIxNi4yXCIgeTI9XCIwLjdcIi9cdTAwM0VcdTAwM0NsaW5lIHgxPVwiMFwiIHkxPVwiMTUuNFwiIHgyPVwiMTYuMlwiIHkyPVwiMzEuNlwiL1x1MDAzRVx1MDAzQy9zdmdcdTAwM0UiLCJpY29uQXJyb3dSaWdodCI6Ilx1MDAzQ3N2ZyAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAzNC4yIDMyLjNcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHN0eWxlPVwic3Ryb2tlLXdpZHRoOiAyO1wiXHUwMDNFXHUwMDNDbGluZSB4MT1cIjBcIiB5MT1cIjE2XCIgeDI9XCIzM1wiIHkyPVwiMTZcIi9cdTAwM0VcdTAwM0NsaW5lIHgxPVwiMTcuM1wiIHkxPVwiMC43XCIgeDI9XCIzMy4yXCIgeTI9XCIxNi41XCIvXHUwMDNFXHUwMDNDbGluZSB4MT1cIjE3LjNcIiB5MT1cIjMxLjZcIiB4Mj1cIjMzLjVcIiB5Mj1cIjE1LjRcIi9cdTAwM0VcdTAwM0Mvc3ZnXHUwMDNFIiwiaWNvbkNsb3NlIjoiXHUwMDNDc3ZnICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDkuMSA5LjFcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXHUwMDNFXHUwMDNDZ1x1MDAzRVx1MDAzQ3BhdGggZD1cIk04LjUsMEw5LDAuNkw1LjEsNC41TDksOC41TDguNSw5TDQuNSw1LjFMMC42LDlMMCw4LjVMNCw0LjVMMCwwLjZMMC42LDBMNC41LDRMOC41LDB6XCIvXHUwMDNFXHUwMDNDL2dcdTAwM0VcdTAwM0Mvc3ZnXHUwMDNFIn19" defer></script>
vendor: 1 bytes, line 3738
3738
3739<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/1a10c4d1ba1264e690a885229bdb0d68.js?ver=82695" id="qi-addons-for-elementor-script-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3739
3739
3740<script type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/plugins/stal-core/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.min.js?ver=6.9.9" id="perfect-scrollbar-js"></script>
vendor: 1 bytes, line 3740
3740
3741<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/7cac80ce3b69d2c25630f8ed7d9deb62.js?ver=016a4" id="hoverIntent-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3741
3741
3742<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/3b94744ea11e5f351209a8652c9e214c.js?ver=55655" id="jquery-easing-1.3-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3742
3742
3743<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/afc67563c1575b9ef61ccea905511f57.js?ver=7ad5a" id="modernizr-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3743
3743
3744<script data-optimized="1" type="text/javascript" id="stal-main-js-js-extra" src="data:text/javascript;base64,dmFyIHFvZGVmR2xvYmFsPXsidmFycyI6eyJhZG1pbkJhckhlaWdodCI6MCwicW9kZWZTdGlja3lIZWFkZXJTY3JvbGxBbW91bnQiOjAsInRvcEFyZWFIZWlnaHQiOjAsInJlc3RVcmwiOiJodHRwczovL2dvbGRlbnJvZC1waWdlb24tNDIwNDkxLmhvc3RpbmdlcnNpdGUuY29tL3dwLWpzb24vIiwicGFnaW5hdGlvblJlc3RSb3V0ZSI6InN0YWwvdjEvZ2V0LXBvc3RzIiwicGFnaW5hdGlvbk5vbmNlIjoiOTM0YTRhZTdiOCIsImhlYWRlckhlaWdodCI6ODYsIm1vYmlsZUhlYWRlckhlaWdodCI6NzB9fQ==" defer></script>
vendor: 1 bytes, line 3744
3744
3745<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/834532dda78009f1234520afe02326d8.js?ver=311f2" id="stal-main-js-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3745
3745
3746<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/2d690960420402743b8668c5982acb68.js?ver=0648b" id="stal-core-script-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3746
3746
3747<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/7a17bd6d3c3eba4e00ae83e6bdbcae32.js?ver=a628a" id="waitforimages-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3747
3747
3748<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/d0b8233ba2fdc8f74897d863defd86bc.js?ver=48578" id="appear-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3748
3748
3749<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/b1b22a05750635e65f17d0e33c7f4b71.js?ver=da4e9" id="swiper-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3749
3749
3750<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/91e860846bbf24595857286569f5e57f.js?ver=6d123" id="magnific-popup-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3750
3750
3751<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/10812ff7ec0244010cb7bc6bb068160b.js?ver=96693" id="sourcebuster-js-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3751
3751
3752<script data-optimized="1" type="text/javascript" id="wc-order-attribution-js-extra" src="data:text/javascript;base64,dmFyIHdjX29yZGVyX2F0dHJpYnV0aW9uPXsicGFyYW1zIjp7ImxpZmV0aW1lIjoxLjBlLTUsInNlc3Npb24iOjMwLCJiYXNlNjQiOiExLCJhamF4dXJsIjoiaHR0cHM6Ly9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCIsInByZWZpeCI6IndjX29yZGVyX2F0dHJpYnV0aW9uXyIsImFsbG93VHJhY2tpbmciOiEwfSwiZmllbGRzIjp7InNvdXJjZV90eXBlIjoiY3VycmVudC50eXAiLCJyZWZlcnJlciI6ImN1cnJlbnRfYWRkLnJmIiwidXRtX2NhbXBhaWduIjoiY3VycmVudC5jbXAiLCJ1dG1fc291cmNlIjoiY3VycmVudC5zcmMiLCJ1dG1fbWVkaXVtIjoiY3VycmVudC5tZG0iLCJ1dG1fY29udGVudCI6ImN1cnJlbnQuY250IiwidXRtX2lkIjoiY3VycmVudC5pZCIsInV0bV90ZXJtIjoiY3VycmVudC50cm0iLCJ1dG1fc291cmNlX3BsYXRmb3JtIjoiY3VycmVudC5wbHQiLCJ1dG1fY3JlYXRpdmVfZm9ybWF0IjoiY3VycmVudC5mbXQiLCJ1dG1fbWFya2V0aW5nX3RhY3RpYyI6ImN1cnJlbnQudGN0Iiwic2Vzc2lvbl9lbnRyeSI6ImN1cnJlbnRfYWRkLmVwIiwic2Vzc2lvbl9zdGFydF90aW1lIjoiY3VycmVudF9hZGQuZmQiLCJzZXNzaW9uX3BhZ2VzIjoic2Vzc2lvbi5wZ3MiLCJzZXNzaW9uX2NvdW50IjoidWRhdGEudnN0IiwidXNlcl9hZ2VudCI6InVkYXRhLnVhZyJ9fQ==" defer></script>
vendor: 1 bytes, line 3752
3752
3753<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/10fc19a608d53d7e7d7fd9b6dd7af6ee.js?ver=30f90" id="wc-order-attribution-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3753
3753
3754<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/f5b7ade7a943d8e61318e210506ce8cf.js?ver=6dc1e" id="elementor-webpack-runtime-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3754
3754
3755<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/de12853aa92535690afbebc4e8a1951f.js?ver=2ef8b" id="elementor-frontend-modules-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3755
3755
3756<script data-optimized="1" type="text/javascript" id="elementor-frontend-js-before" src="data:text/javascript;base64,dmFyIGVsZW1lbnRvckZyb250ZW5kQ29uZmlnPXsiZW52aXJvbm1lbnRNb2RlIjp7ImVkaXQiOiExLCJ3cFByZXZpZXciOiExLCJpc1NjcmlwdERlYnVnIjohMX0sImkxOG4iOnsic2hhcmVPbkZhY2Vib29rIjoiUGFydGFnZXIgc3VyIEZhY2Vib29rIiwic2hhcmVPblR3aXR0ZXIiOiJQYXJ0YWdlciBzdXIgVHdpdHRlciIsInBpbkl0IjoiTFx1MjAxOVx1MDBlOXBpbmdsZXIiLCJkb3dubG9hZCI6IlRcdTAwZTlsXHUwMGU5Y2hhcmdlciIsImRvd25sb2FkSW1hZ2UiOiJUXHUwMGU5bFx1MDBlOWNoYXJnZXIgdW5lIGltYWdlIiwiZnVsbHNjcmVlbiI6IlBsZWluIFx1MDBlOWNyYW4iLCJ6b29tIjoiWm9vbSIsInNoYXJlIjoiUGFydGFnZXIiLCJwbGF5VmlkZW8iOiJMaXJlIGxhIHZpZFx1MDBlOW8iLCJwcmV2aW91cyI6IlByXHUwMGU5Y1x1MDBlOWRlbnQiLCJuZXh0IjoiU3VpdmFudCIsImNsb3NlIjoiRmVybWVyIiwiYTExeUNhcm91c2VsUHJldlNsaWRlTWVzc2FnZSI6IkRpYXBvc2l0aXZlIHByXHUwMGU5Y1x1MDBlOWRlbnRlIiwiYTExeUNhcm91c2VsTmV4dFNsaWRlTWVzc2FnZSI6IkRpYXBvc2l0aXZlIHN1aXZhbnRlIiwiYTExeUNhcm91c2VsRmlyc3RTbGlkZU1lc3NhZ2UiOiJDZWNpIGVzdCBsYSBwcmVtaVx1MDBlOHJlIGRpYXBvc2l0aXZlIiwiYTExeUNhcm91c2VsTGFzdFNsaWRlTWVzc2FnZSI6IkNlY2kgZXN0IGxhIGRlcm5pXHUwMGU4cmUgZGlhcG9zaXRpdmUiLCJhMTF5Q2Fyb3VzZWxQYWdpbmF0aW9uQnVsbGV0TWVzc2FnZSI6IkFsbGVyIFx1MDBlMCBsYSBkaWFwb3NpdGl2ZSJ9LCJpc19ydGwiOiExLCJicmVha3BvaW50cyI6eyJ4cyI6MCwic20iOjQ4MCwibWQiOjc2OCwibGciOjEwMjUsInhsIjoxNDQwLCJ4eGwiOjE2MDB9LCJyZXNwb25zaXZlIjp7ImJyZWFrcG9pbnRzIjp7Im1vYmlsZSI6eyJsYWJlbCI6IlBvcnRyYWl0IG1vYmlsZSIsInZhbHVlIjo3NjcsImRlZmF1bHRfdmFsdWUiOjc2NywiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ITB9LCJtb2JpbGVfZXh0cmEiOnsibGFiZWwiOiJNb2JpbGUgUGF5c2FnZSIsInZhbHVlIjo4ODAsImRlZmF1bHRfdmFsdWUiOjg4MCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ITF9LCJ0YWJsZXQiOnsibGFiZWwiOiJUYWJsZXR0ZSBlbiBtb2RlIHBvcnRyYWl0IiwidmFsdWUiOjEwMjQsImRlZmF1bHRfdmFsdWUiOjEwMjQsImRpcmVjdGlvbiI6Im1heCIsImlzX2VuYWJsZWQiOiEwfSwidGFibGV0X2V4dHJhIjp7ImxhYmVsIjoiVGFibGV0dGUgZW4gbW9kZSBwYXlzYWdlIiwidmFsdWUiOjEyMDAsImRlZmF1bHRfdmFsdWUiOjEyMDAsImRpcmVjdGlvbiI6Im1heCIsImlzX2VuYWJsZWQiOiExfSwibGFwdG9wIjp7ImxhYmVsIjoiUG9ydGFibGUiLCJ2YWx1ZSI6MTM2NiwiZGVmYXVsdF92YWx1ZSI6MTM2NiwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ITF9LCJ3aWRlc2NyZWVuIjp7ImxhYmVsIjoiXHUwMGM5Y3JhbiBsYXJnZSIsInZhbHVlIjoyNDAwLCJkZWZhdWx0X3ZhbHVlIjoyNDAwLCJkaXJlY3Rpb24iOiJtaW4iLCJpc19lbmFibGVkIjohMX19LCJoYXNDdXN0b21CcmVha3BvaW50cyI6ITF9LCJ2ZXJzaW9uIjoiNC4xLjQiLCJpc19zdGF0aWMiOiExLCJleHBlcmltZW50YWxGZWF0dXJlcyI6eyJlX2ZvbnRfaWNvbl9zdmciOiEwLCJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6ITAsImNvbnRhaW5lciI6ITAsImVfb3B0aW1pemVkX21hcmt1cCI6ITAsImVfcGFuZWxfcHJvbW90aW9ucyI6ITAsImVfcHJvX2ZyZWVfdHJpYWxfcG9wdXAiOiEwLCJuZXN0ZWQtZWxlbWVudHMiOiEwLCJlX2F0b21pY19lbGVtZW50cyI6ITAsImF0b21pY193aWRnZXRzX3Nob3VsZF9lbmZvcmNlX2NhcGFiaWxpdGllcyI6ITAsImVkaXRvcl9tY3AiOiEwLCJlX2JjX21pZ3JhdGlvbnMiOiEwLCJlX2VkaXRvcl9kZXNpZ25fc3lzdGVtX3BhbmVsIjohMCwiZV9jbGFzc2VzIjohMCwiZ2xvYmFsX2NsYXNzZXNfc2hvdWxkX2VuZm9yY2VfY2FwYWJpbGl0aWVzIjohMCwiZV92YXJpYWJsZXMiOiEwLCJlX3ZhcmlhYmxlc19tYW5hZ2VyIjohMCwiZV9vcHRfaW5fdjRfcGFnZSI6ITAsImVfb3B0X2luX3Y0IjohMCwiZV9jb21wb25lbnRzIjohMCwiZV9pbnRlcmFjdGlvbnMiOiEwLCJlX3dpZGdldF9jcmVhdGlvbiI6ITAsImltcG9ydC1leHBvcnQtY3VzdG9taXphdGlvbiI6ITB9LCJ1cmxzIjp7ImFzc2V0cyI6Imh0dHBzOlwvXC9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZWxlbWVudG9yXC9hc3NldHNcLyIsImFqYXh1cmwiOiJodHRwczpcL1wvZ29sZGVucm9kLXBpZ2Vvbi00MjA0OTEuaG9zdGluZ2Vyc2l0ZS5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsInVwbG9hZFVybCI6Imh0dHBzOlwvXC9nb2xkZW5yb2QtcGlnZW9uLTQyMDQ5MS5ob3N0aW5nZXJzaXRlLmNvbVwvd3AtY29udGVudFwvdXBsb2FkcyJ9LCJub25jZXMiOnsiZmxvYXRpbmdCdXR0b25zQ2xpY2tUcmFja2luZyI6IjE0ZDczNDkyMzEiLCJhdG9taWNGb3Jtc1NlbmRGb3JtIjoiY2NkYmI1NjNmOCJ9LCJzd2lwZXJDbGFzcyI6InN3aXBlciIsInNldHRpbmdzIjp7InBhZ2UiOltdLCJlZGl0b3JQcmVmZXJlbmNlcyI6W119LCJraXQiOnsiYWN0aXZlX2JyZWFrcG9pbnRzIjpbInZpZXdwb3J0X21vYmlsZSIsInZpZXdwb3J0X3RhYmxldCJdLCJnbG9iYWxfaW1hZ2VfbGlnaHRib3giOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfY291bnRlciI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV9mdWxsc2NyZWVuIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX3pvb20iOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfc2hhcmUiOiJ5ZXMiLCJsaWdodGJveF90aXRsZV9zcmMiOiJ0aXRsZSIsImxpZ2h0Ym94X2Rlc2NyaXB0aW9uX3NyYyI6ImRlc2NyaXB0aW9uIn0sInBvc3QiOnsiaWQiOjIxNzQsInRpdGxlIjoiUXVpJTIwU29tbWVzJTIwTm91cyUyMCU3QyUyMEFUSSUyMEV4cG9ydCIsImV4Y2VycHQiOiIiLCJmZWF0dXJlZEltYWdlIjohMX19" defer></script>
vendor: 1 bytes, line 3756
3756
3757<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/d80614140e605200bb96a4593838cec6.js?ver=95f20" id="elementor-frontend-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3757
3757
3758<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/90ababbb6de2b279a7f146f4b6e16efd.js?ver=d714f" id="fslightbox-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3758
3758
3759<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/2ad79df120f676e89e59092061ac6e8d.js?ver=315c3" id="isotope-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3759
3759
3760<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/1f0106945d3880ac5b0dff38d9371b9a.js?ver=a5518" id="packery-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3760
3760
3761<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/a635daef92dce9b382b81ad7a56e4d5f.js?ver=d15ca" id="qi-addons-for-elementor-elementor-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3761
3761
3762<script data-optimized="1" type="text/javascript" id="stal-core-elementor-js-extra" src="data:text/javascript;base64,dmFyIHFvZGVmRWxlbWVudG9yR2xvYmFsPXsidmFycyI6eyJlbGVtZW50b3JQYXJhbGxheFNlY3Rpb24iOiIifX07dmFyIHFvZGVmRWxlbWVudG9yQ29udGFpbmVyR2xvYmFsPXsidmFycyI6eyJlbGVtZW50b3JDb250YWluZXJIYW5kbGVyIjoiIn19" defer></script>
vendor: 1 bytes, line 3762
3762
3763<script data-optimized="1" type="text/javascript" src="https://goldenrod-pigeon-420491.hostingersite.com/wp-content/litespeed/js/af52271378e4c5f6f6a5795b3ee0114c.js?ver=5d514" id="stal-core-elementor-js" defer data-deferred="1"></script>
vendor: 1 bytes, line 3763
3763
3764<script id="wp-emoji-settings" type="application/json"> 3765{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://goldenrod-pigeon-420491.hostingersite.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.9"}} 3766</script>
vendor: 1 bytes, line 3766
3766
3767<script type="module"> 3768/* <![CDATA[ */ 3769/*! This file is auto-generated */ 3770var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 3771//# sourceURL=https://goldenrod-pigeon-420491.hostingersite.com/wp-includes/js/wp-emoji-loader.min.js 3772/* ]]> */ 3773</script>
3773 3774</body> 3775</html> 3776 3777<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-10-03 04:25:24 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.