var/cache/dev/twig/61/6177d56c2a88898ed2c78e3cc3bd0b51.php line 81

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* page/page.html.twig */
  16. class __TwigTemplate_cefa8685a4d5fe9573b964e3f85314bd extends Template
  17. {
  18.     private Source $source;
  19.     /**
  20.      * @var array<string, Template>
  21.      */
  22.     private array $macros = [];
  23.     public function __construct(Environment $env)
  24.     {
  25.         parent::__construct($env);
  26.         $this->source $this->getSourceContext();
  27.         $this->blocks = [
  28.             'title' => [$this'block_title'],
  29.             'meta_date_desc' => [$this'block_meta_date_desc'],
  30.             'meta' => [$this'block_meta'],
  31.             'stylesheets' => [$this'block_stylesheets'],
  32.             'body' => [$this'block_body'],
  33.             'javascripts' => [$this'block_javascripts'],
  34.         ];
  35.     }
  36.     protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  37.     {
  38.         // line 1
  39.         return "base.html.twig";
  40.     }
  41.     protected function doDisplay(array $context, array $blocks = []): iterable
  42.     {
  43.         $macros $this->macros;
  44.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  45.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""page/page.html.twig"));
  46.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  47.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""page/page.html.twig"));
  48.         $this->parent $this->loadTemplate("base.html.twig""page/page.html.twig"1);
  49.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  50.         
  51.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  52.         
  53.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  54.     }
  55.     // line 3
  56.     /**
  57.      * @return iterable<null|scalar|\Stringable>
  58.      */
  59.     public function block_title(array $context, array $blocks = []): iterable
  60.     {
  61.         $macros $this->macros;
  62.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  63.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  64.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  65.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  66.         yield " ";
  67.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'3$this->source); })()), "title", [], "any"falsefalsefalse3), "html"nulltrue);
  68.         yield " | WorkDispo ";
  69.         
  70.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  71.         
  72.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  73.         yield from [];
  74.     }
  75.     // line 4
  76.     /**
  77.      * @return iterable<null|scalar|\Stringable>
  78.      */
  79.     public function block_meta_date_desc(array $context, array $blocks = []): iterable
  80.     {
  81.         $macros $this->macros;
  82.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  83.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta_date_desc"));
  84.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  85.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta_date_desc"));
  86.         // line 5
  87.         yield "
  88.     <script type=\"application/ld+json\">
  89.         {
  90.             \"@context\" : \"https://schema.org\",
  91.             \"@type\" : \"WebSite\",
  92.             \"name\" : \"WorkDispo\",
  93.             \"url\" : \"https://www.workdispo.com/\",
  94.         ";
  95.         // line 12
  96.         if (((isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'12$this->source); })()) &&  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'12$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse12)))) {
  97.             // line 13
  98.             yield "                      \"datePublished\": \"";
  99.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'13$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse13), "c"), "html"nulltrue);
  100.             yield "\",
  101.                     ";
  102.         }
  103.         // line 15
  104.         yield "
  105.                     ";
  106.         // line 16
  107.         if (((isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'16$this->source); })()) &&  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'16$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse16)))) {
  108.             // line 17
  109.             yield "                      \"dateModified\": \"";
  110.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'17$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse17), "c"), "html"nulltrue);
  111.             yield "\"
  112.                     ";
  113.         }
  114.         // line 19
  115.         yield "        }
  116.     </script>
  117. ";
  118.         
  119.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  120.         
  121.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  122.         yield from [];
  123.     }
  124.     // line 22
  125.     /**
  126.      * @return iterable<null|scalar|\Stringable>
  127.      */
  128.     public function block_meta(array $context, array $blocks = []): iterable
  129.     {
  130.         $macros $this->macros;
  131.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  132.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  133.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  134.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  135.         // line 23
  136.         yield "    <meta charset=\"utf-8\">
  137.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=3\">
  138.     <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\"/>
  139.     <script type=\"text/javascript\">(window.NREUM || (NREUM = {})).init = {ajax: {deny_list: [\"bam.nr-data.net\"]}};
  140.         (window.NREUM || (NREUM = {})).loader_config = {
  141.             licenseKey: \"NRJS-8c6c895b97ea60d5ee0\",
  142.             applicationID: \"1333848373\"
  143.         };
  144.         window.NREUM || (NREUM = {}), __nr_require = function (t, e, n) {
  145.             function r(n) {
  146.                 if (!e[n]) {
  147.                     var i = e[n] = {exports: {}};
  148.                     t[n][0].call(i.exports, function (e) {
  149.                         var i = t[n][1][e];
  150.                         return r(i || e)
  151.                     }, i, i.exports)
  152.                 }
  153.                 return e[n].exports
  154.             }
  155.             if (\"function\" == typeof __nr_require) return __nr_require;
  156.             for (var i = 0; i < n.length; i++) r(n[i]);
  157.             return r
  158.         }({
  159.             1: [function (t, e, n) {
  160.                 function r() {
  161.                 }
  162.                 function i(t, e, n, r) {
  163.                     return function () {
  164.                         return s.recordSupportability(\"API/\" + e + \"/called\"), o(t + e, [u.now()].concat(c(arguments)), n ? null : this, r), n ? void 0 : this
  165.                     }
  166.                 }
  167.                 var o = t(\"handle\"), a = t(9), c = t(10), f = t(\"ee\").get(\"tracer\"), u = t(\"loader\"), s = t(4),
  168.                     d = NREUM;
  169.                 \"undefined\" == typeof window.newrelic && (newrelic = d);
  170.                 var p = [\"setPageViewName\", \"setCustomAttribute\", \"setErrorHandler\", \"finished\", \"addToTrace\", \"inlineHit\", \"addRelease\"],
  171.                     l = \"api-\", v = l + \"ixn-\";
  172.                 a(p, function (t, e) {
  173.                     d[e] = i(l, e, !0, \"api\")
  174.                 }), d.addPageAction = i(l, \"addPageAction\", !0), d.setCurrentRouteName = i(l, \"routeName\", !0), e.exports = newrelic, d.interaction = function () {
  175.                     return (new r).get()
  176.                 };
  177.                 var m = r.prototype = {
  178.                     createTracer: function (t, e) {
  179.                         var n = {}, r = this, i = \"function\" == typeof e;
  180.                         return o(v + \"tracer\", [u.now(), t, n], r), function () {
  181.                             if (f.emit((i ? \"\" : \"no-\") + \"fn-start\", [u.now(), r, i], n), i) try {
  182.                                 return e.apply(this, arguments)
  183.                             } catch (t) {
  184.                                 throw f.emit(\"fn-err\", [arguments, this, t], n), t
  185.                             } finally {
  186.                                 f.emit(\"fn-end\", [u.now()], n)
  187.                             }
  188.                         }
  189.                     }
  190.                 };
  191.                 a(\"actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get\".split(\",\"), function (t, e) {
  192.                     m[e] = i(v, e)
  193.                 }), newrelic.noticeError = function (t, e) {
  194.                     \"string\" == typeof t && (t = new Error(t)), s.recordSupportability(\"API/noticeError/called\"), o(\"err\", [t, u.now(), !1, e])
  195.                 }
  196.             }, {}], 2: [function (t, e, n) {
  197.                 function r(t) {
  198.                     if (NREUM.init) {
  199.                         for (var e = NREUM.init, n = t.split(\".\"), r = 0; r < n.length - 1; r++) if (e = e[n[r]], \"object\" != typeof e) return;
  200.                         return e = e[n[n.length - 1]]
  201.                     }
  202.                 }
  203.                 e.exports = {getConfiguration: r}
  204.             }, {}], 3: [function (t, e, n) {
  205.                 var r = !1;
  206.                 try {
  207.                     var i = Object.defineProperty({}, \"passive\", {
  208.                         get: function () {
  209.                             r = !0
  210.                         }
  211.                     });
  212.                     window.addEventListener(\"testPassive\", null, i), window.removeEventListener(\"testPassive\", null, i)
  213.                 } catch (o) {
  214.                 }
  215.                 e.exports = function (t) {
  216.                     return r ? {passive: !0, capture: !!t} : !!t
  217.                 }
  218.             }, {}], 4: [function (t, e, n) {
  219.                 function r(t, e) {
  220.                     var n = [a, t, {name: t}, e];
  221.                     return o(\"storeMetric\", n, null, \"api\"), n
  222.                 }
  223.                 function i(t, e) {
  224.                     var n = [c, t, {name: t}, e];
  225.                     return o(\"storeEventMetrics\", n, null, \"api\"), n
  226.                 }
  227.                 var o = t(\"handle\"), a = \"sm\", c = \"cm\";
  228.                 e.exports = {
  229.                     constants: {SUPPORTABILITY_METRIC: a, CUSTOM_METRIC: c},
  230.                     recordSupportability: r,
  231.                     recordCustom: i
  232.                 }
  233.             }, {}], 5: [function (t, e, n) {
  234.                 function r() {
  235.                     return c.exists && performance.now ? Math.round(performance.now()) : (o = Math.max((new Date).getTime(), o)) - a
  236.                 }
  237.                 function i() {
  238.                     return o
  239.                 }
  240.                 var o = (new Date).getTime(), a = o, c = t(11);
  241.                 e.exports = r, e.exports.offset = a, e.exports.getLastTimestamp = i
  242.             }, {}], 6: [function (t, e, n) {
  243.                 function r(t, e) {
  244.                     var n = t.getEntries();
  245.                     n.forEach(function (t) {
  246.                         \"first-paint\" === t.name ? l(\"timing\", [\"fp\", Math.floor(t.startTime)]) : \"first-contentful-paint\" === t.name && l(\"timing\", [\"fcp\", Math.floor(t.startTime)])
  247.                     })
  248.                 }
  249.                 function i(t, e) {
  250.                     var n = t.getEntries();
  251.                     if (n.length > 0) {
  252.                         var r = n[n.length - 1];
  253.                         if (u && u < r.startTime) return;
  254.                         var i = [r], o = a({});
  255.                         o && i.push(o), l(\"lcp\", i)
  256.                     }
  257.                 }
  258.                 function o(t) {
  259.                     t.getEntries().forEach(function (t) {
  260.                         t.hadRecentInput || l(\"cls\", [t])
  261.                     })
  262.                 }
  263.                 function a(t) {
  264.                     var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
  265.                     if (e) return e.type && (t[\"net-type\"] = e.type), e.effectiveType && (t[\"net-etype\"] = e.effectiveType), e.rtt && (t[\"net-rtt\"] = e.rtt), e.downlink && (t[\"net-dlink\"] = e.downlink), t
  266.                 }
  267.                 function c(t) {
  268.                     if (t instanceof y && !w) {
  269.                         var e = Math.round(t.timeStamp), n = {type: t.type};
  270.                         a(n), e <= v.now() ? n.fid = v.now() - e : e > v.offset && e <= Date.now() ? (e -= v.offset, n.fid = v.now() - e) : e = v.now(), w = !0, l(\"timing\", [\"fi\", e, n])
  271.                     }
  272.                 }
  273.                 function f(t) {
  274.                     \"hidden\" === t && (u = v.now(), l(\"pageHide\", [u]))
  275.                 }
  276.                 if (!(\"init\" in NREUM && \"page_view_timing\" in NREUM.init && \"enabled\" in NREUM.init.page_view_timing && NREUM.init.page_view_timing.enabled === !1)) {
  277.                     var u, s, d, p, l = t(\"handle\"), v = t(\"loader\"), m = t(8), g = t(3), y = NREUM.o.EV;
  278.                     if (\"PerformanceObserver\" in window && \"function\" == typeof window.PerformanceObserver) {
  279.                         s = new PerformanceObserver(r);
  280.                         try {
  281.                             s.observe({entryTypes: [\"paint\"]})
  282.                         } catch (h) {
  283.                         }
  284.                         d = new PerformanceObserver(i);
  285.                         try {
  286.                             d.observe({entryTypes: [\"largest-contentful-paint\"]})
  287.                         } catch (h) {
  288.                         }
  289.                         p = new PerformanceObserver(o);
  290.                         try {
  291.                             p.observe({type: \"layout-shift\", buffered: !0})
  292.                         } catch (h) {
  293.                         }
  294.                     }
  295.                     if (\"addEventListener\" in document) {
  296.                         var w = !1, b = [\"click\", \"keydown\", \"mousedown\", \"pointerdown\", \"touchstart\"];
  297.                         b.forEach(function (t) {
  298.                             document.addEventListener(t, c, g(!1))
  299.                         })
  300.                     }
  301.                     m(f)
  302.                 }
  303.             }, {}], 7: [function (t, e, n) {
  304.                 function r(t, e) {
  305.                     if (!i) return !1;
  306.                     if (t !== i) return !1;
  307.                     if (!o) return !1;
  308.                     for (var n = o.split(\".\"), r = e.split(\".\"), a = 0; a < r.length; a++) if (r[a] !== n[a]) return !1;
  309.                     return !0
  310.                 }
  311.                 var i = null, o = null, a = /Version\\/(\\S+)\\s+Safari/;
  312.                 if (navigator.userAgent) {
  313.                     var c = navigator.userAgent, f = c.match(a);
  314.                     f && c.indexOf(\"Chrome\") === -1 && c.indexOf(\"Chromium\") === -1 && (i = \"Safari\", o = f[1])
  315.                 }
  316.                 e.exports = {agent: i, version: o, match: r}
  317.             }, {}], 8: [function (t, e, n) {
  318.                 function r(t) {
  319.                     function e() {
  320.                         t(c && document[c] ? document[c] : document[o] ? \"hidden\" : \"visible\")
  321.                     }
  322.                     \"addEventListener\" in document && a && document.addEventListener(a, e, i(!1))
  323.                 }
  324.                 var i = t(3);
  325.                 e.exports = r;
  326.                 var o, a, c;
  327.                 \"undefined\" != typeof document.hidden ? (o = \"hidden\", a = \"visibilitychange\", c = \"visibilityState\") : \"undefined\" != typeof document.msHidden ? (o = \"msHidden\", a = \"msvisibilitychange\") : \"undefined\" != typeof document.webkitHidden && (o = \"webkitHidden\", a = \"webkitvisibilitychange\", c = \"webkitVisibilityState\")
  328.             }, {}], 9: [function (t, e, n) {
  329.                 function r(t, e) {
  330.                     var n = [], r = \"\", o = 0;
  331.                     for (r in t) i.call(t, r) && (n[o] = e(r, t[r]), o += 1);
  332.                     return n
  333.                 }
  334.                 var i = Object.prototype.hasOwnProperty;
  335.                 e.exports = r
  336.             }, {}], 10: [function (t, e, n) {
  337.                 function r(t, e, n) {
  338.                     e || (e = 0), \"undefined\" == typeof n && (n = t ? t.length : 0);
  339.                     for (var r = -1, i = n - e || 0, o = Array(i < 0 ? 0 : i); ++r < i;) o[r] = t[e + r];
  340.                     return o
  341.                 }
  342.                 e.exports = r
  343.             }, {}], 11: [function (t, e, n) {
  344.                 e.exports = {exists: \"undefined\" != typeof window.performance && window.performance.timing && \"undefined\" != typeof window.performance.timing.navigationStart}
  345.             }, {}], ee: [function (t, e, n) {
  346.                 function r() {
  347.                 }
  348.                 function i(t) {
  349.                     function e(t) {
  350.                         return t && t instanceof r ? t : t ? u(t, f, a) : a()
  351.                     }
  352.                     function n(n, r, i, o, a) {
  353.                         if (a !== !1 && (a = !0), !l.aborted || o) {
  354.                             t && a && t(n, r, i);
  355.                             for (var c = e(i), f = m(n), u = f.length, s = 0; s < u; s++) f[s].apply(c, r);
  356.                             var p = d[w[n]];
  357.                             return p && p.push([b, n, r, c]), c
  358.                         }
  359.                     }
  360.                     function o(t, e) {
  361.                         h[t] = m(t).concat(e)
  362.                     }
  363.                     function v(t, e) {
  364.                         var n = h[t];
  365.                         if (n) for (var r = 0; r < n.length; r++) n[r] === e && n.splice(r, 1)
  366.                     }
  367.                     function m(t) {
  368.                         return h[t] || []
  369.                     }
  370.                     function g(t) {
  371.                         return p[t] = p[t] || i(n)
  372.                     }
  373.                     function y(t, e) {
  374.                         l.aborted || s(t, function (t, n) {
  375.                             e = e || \"feature\", w[n] = e, e in d || (d[e] = [])
  376.                         })
  377.                     }
  378.                     var h = {}, w = {}, b = {
  379.                         on: o,
  380.                         addEventListener: o,
  381.                         removeEventListener: v,
  382.                         emit: n,
  383.                         get: g,
  384.                         listeners: m,
  385.                         context: e,
  386.                         buffer: y,
  387.                         abort: c,
  388.                         aborted: !1
  389.                     };
  390.                     return b
  391.                 }
  392.                 function o(t) {
  393.                     return u(t, f, a)
  394.                 }
  395.                 function a() {
  396.                     return new r
  397.                 }
  398.                 function c() {
  399.                     (d.api || d.feature) && (l.aborted = !0, d = l.backlog = {})
  400.                 }
  401.                 var f = \"nr@context\", u = t(\"gos\"), s = t(9), d = {}, p = {}, l = e.exports = i();
  402.                 e.exports.getOrSetContext = o, l.backlog = d
  403.             }, {}], gos: [function (t, e, n) {
  404.                 function r(t, e, n) {
  405.                     if (i.call(t, e)) return t[e];
  406.                     var r = n();
  407.                     if (Object.defineProperty && Object.keys) try {
  408.                         return Object.defineProperty(t, e, {value: r, writable: !0, enumerable: !1}), r
  409.                     } catch (o) {
  410.                     }
  411.                     return t[e] = r, r
  412.                 }
  413.                 var i = Object.prototype.hasOwnProperty;
  414.                 e.exports = r
  415.             }, {}], handle: [function (t, e, n) {
  416.                 function r(t, e, n, r) {
  417.                     i.buffer([t], r), i.emit(t, e, n)
  418.                 }
  419.                 var i = t(\"ee\").get(\"handle\");
  420.                 e.exports = r, r.ee = i
  421.             }, {}], id: [function (t, e, n) {
  422.                 function r(t) {
  423.                     var e = typeof t;
  424.                     return !t || \"object\" !== e && \"function\" !== e ? -1 : t === window ? 0 : a(t, o, function () {
  425.                         return i++
  426.                     })
  427.                 }
  428.                 var i = 1, o = \"nr@id\", a = t(\"gos\");
  429.                 e.exports = r
  430.             }, {}], loader: [function (t, e, n) {
  431.                 function r() {
  432.                     if (!M++) {
  433.                         var t = T.info = NREUM.info, e = m.getElementsByTagName(\"script\")[0];
  434.                         if (setTimeout(u.abort, 3e4), !(t && t.licenseKey && t.applicationID && e)) return u.abort();
  435.                         f(x, function (e, n) {
  436.                             t[e] || (t[e] = n)
  437.                         });
  438.                         var n = a();
  439.                         c(\"mark\", [\"onload\", n + T.offset], null, \"api\"), c(\"timing\", [\"load\", n]);
  440.                         var r = m.createElement(\"script\");
  441.                         0 === t.agent.indexOf(\"http://\") || 0 === t.agent.indexOf(\"https://\") ? r.src = t.agent : r.src = l + \"://\" + t.agent, e.parentNode.insertBefore(r, e)
  442.                     }
  443.                 }
  444.                 function i() {
  445.                     \"complete\" === m.readyState && o()
  446.                 }
  447.                 function o() {
  448.                     c(\"mark\", [\"domContent\", a() + T.offset], null, \"api\")
  449.                 }
  450.                 var a = t(5), c = t(\"handle\"), f = t(9), u = t(\"ee\"), s = t(7), d = t(2), p = t(3),
  451.                     l = d.getConfiguration(\"ssl\") === !1 ? \"http\" : \"https\", v = window, m = v.document,
  452.                     g = \"addEventListener\", y = \"attachEvent\", h = v.XMLHttpRequest, w = h && h.prototype, b = !1;
  453.                 NREUM.o = {
  454.                     ST: setTimeout,
  455.                     SI: v.setImmediate,
  456.                     CT: clearTimeout,
  457.                     XHR: h,
  458.                     REQ: v.Request,
  459.                     EV: v.Event,
  460.                     PR: v.Promise,
  461.                     MO: v.MutationObserver
  462.                 };
  463.                 var E = \"\" + location, x = {
  464.                     beacon: \"bam.nr-data.net\",
  465.                     errorBeacon: \"bam.nr-data.net\",
  466.                     agent: \"js-agent.newrelic.com/nr-1216.min.js\"
  467.                 }, O = h && w && w[g] && !/CriOS/.test(navigator.userAgent), T = e.exports = {
  468.                     offset: a.getLastTimestamp(),
  469.                     now: a,
  470.                     origin: E,
  471.                     features: {},
  472.                     xhrWrappable: O,
  473.                     userAgent: s,
  474.                     disabled: b
  475.                 };
  476.                 if (!b) {
  477.                     t(1), t(6), m[g] ? (m[g](\"DOMContentLoaded\", o, p(!1)), v[g](\"load\", r, p(!1))) : (m[y](\"onreadystatechange\", i), v[y](\"onload\", r)), c(\"mark\", [\"firstbyte\", a.getLastTimestamp()], null, \"api\");
  478.                     var M = 0
  479.                 }
  480.             }, {}], \"wrap-function\": [function (t, e, n) {
  481.                 function r(t, e) {
  482.                     function n(e, n, r, f, u) {
  483.                         function nrWrapper() {
  484.                             var o, a, s, p;
  485.                             try {
  486.                                 a = this, o = d(arguments), s = \"function\" == typeof r ? r(o, a) : r || {}
  487.                             } catch (l) {
  488.                                 i([l, \"\", [o, a, f], s], t)
  489.                             }
  490.                             c(n + \"start\", [o, a, f], s, u);
  491.                             try {
  492.                                 return p = e.apply(a, o)
  493.                             } catch (v) {
  494.                                 throw c(n + \"err\", [o, a, v], s, u), v
  495.                             } finally {
  496.                                 c(n + \"end\", [o, a, p], s, u)
  497.                             }
  498.                         }
  499.                         return a(e) ? e : (n || (n = \"\"), nrWrapper[p] = e, o(e, nrWrapper, t), nrWrapper)
  500.                     }
  501.                     function r(t, e, r, i, o) {
  502.                         r || (r = \"\");
  503.                         var c, f, u, s = \"-\" === r.charAt(0);
  504.                         for (u = 0; u < e.length; u++) f = e[u], c = t[f], a(c) || (t[f] = n(c, s ? f + r : r, i, f, o))
  505.                     }
  506.                     function c(n, r, o, a) {
  507.                         if (!v || e) {
  508.                             var c = v;
  509.                             v = !0;
  510.                             try {
  511.                                 t.emit(n, r, o, e, a)
  512.                             } catch (f) {
  513.                                 i([f, n, r, o], t)
  514.                             }
  515.                             v = c
  516.                         }
  517.                     }
  518.                     return t || (t = s), n.inPlace = r, n.flag = p, n
  519.                 }
  520.                 function i(t, e) {
  521.                     e || (e = s);
  522.                     try {
  523.                         e.emit(\"internal-error\", t)
  524.                     } catch (n) {
  525.                     }
  526.                 }
  527.                 function o(t, e, n) {
  528.                     if (Object.defineProperty && Object.keys) try {
  529.                         var r = Object.keys(t);
  530.                         return r.forEach(function (n) {
  531.                             Object.defineProperty(e, n, {
  532.                                 get: function () {
  533.                                     return t[n]
  534.                                 }, set: function (e) {
  535.                                     return t[n] = e, e
  536.                                 }
  537.                             })
  538.                         }), e
  539.                     } catch (o) {
  540.                         i([o], n)
  541.                     }
  542.                     for (var a in t) l.call(t, a) && (e[a] = t[a]);
  543.                     return e
  544.                 }
  545.                 function a(t) {
  546.                     return !(t && t instanceof Function && t.apply && !t[p])
  547.                 }
  548.                 function c(t, e) {
  549.                     var n = e(t);
  550.                     return n[p] = t, o(t, n, s), n
  551.                 }
  552.                 function f(t, e, n) {
  553.                     var r = t[e];
  554.                     t[e] = c(r, n)
  555.                 }
  556.                 function u() {
  557.                     for (var t = arguments.length, e = new Array(t), n = 0; n < t; ++n) e[n] = arguments[n];
  558.                     return e
  559.                 }
  560.                 var s = t(\"ee\"), d = t(10), p = \"nr@original\", l = Object.prototype.hasOwnProperty, v = !1;
  561.                 e.exports = r, e.exports.wrapFunction = c, e.exports.wrapInPlace = f, e.exports.argsToArray = u
  562.             }, {}]
  563.         }, {}, [\"loader\"]);</script>
  564.     <meta property=\"og:type\" content=\"WorkDispo\"/>
  565.     <meta property=\"og:image\"
  566.           content=\"";
  567.         // line 502
  568.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'502$this->source); })()), "publicationImage", [], "any"falsefalsefalse502)) ? (("uploads/img/" CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'502$this->source); })()), "publicationImage", [], "any"falsefalsefalse502), "path", [], "any"falsefalsefalse502))) : ("images/blog-04.jpg"))), "html"nulltrue);
  569.         yield "\">
  570.     <meta name=\"description\" content=\"";
  571.         // line 503
  572.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'503$this->source); })()), "description", [], "any"falsefalsefalse503), "html"nulltrue);
  573.         yield "\">
  574.     <meta name=\"keywords\" content=\"";
  575.         // line 504
  576.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'504$this->source); })()), "keywodrs", [], "any"falsefalsefalse504), "html"nulltrue);
  577.         yield "\">
  578.     <meta property=\"og:title\" content=\"";
  579.         // line 505
  580.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'505$this->source); })()), "title", [], "any"falsefalsefalse505), "html"nulltrue);
  581.         yield "\"/>
  582.     ";
  583.         // line 507
  584.         if (CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'507$this->source); })()), "updatedAt", [], "any"falsefalsefalse507)) {
  585.             // line 508
  586.             yield "        <meta name=\"revised\" content=\"";
  587.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'508$this->source); })()), "updatedAt", [], "any"falsefalsefalse508), "d/m/Y"), "html"nulltrue);
  588.             yield "\"/>
  589.     ";
  590.         } else {
  591.             // line 510
  592.             yield "        <meta name=\"revised\" content=\"";
  593.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'510$this->source); })()), "createdAt", [], "any"falsefalsefalse510), "d/m/Y"), "html"nulltrue);
  594.             yield "\"/>
  595.     ";
  596.         }
  597.         
  598.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  599.         
  600.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  601.         yield from [];
  602.     }
  603.     // line 513
  604.     /**
  605.      * @return iterable<null|scalar|\Stringable>
  606.      */
  607.     public function block_stylesheets(array $context, array $blocks = []): iterable
  608.     {
  609.         $macros $this->macros;
  610.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  611.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheets"));
  612.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  613.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheets"));
  614.         // line 514
  615.         yield "    <style>
  616.         .blog-post-content h1 {
  617.             color: black !important;
  618.         }
  619.         .mobile-device {
  620.             display: none;
  621.         }
  622.         .large-device {
  623.             display: block;
  624.         }
  625.         .ez-toc-link {
  626.             position: relative;
  627.             padding-left: 24px; /* Adjust based on the width of the icon */
  628.             text-decoration: none; /* Remove underline */
  629.             color: blue; /* Default color */
  630.         }
  631.         .ez-toc-link .icon {
  632.             position: absolute;
  633.             left: 0;
  634.             top: 50%;
  635.             transform: translateY(-50%);
  636.             display: none; /* Hide icon by default */
  637.             fill: #2a41e8;
  638.         }
  639.         .ez-toc-link.active .icon,
  640.         .ez-toc-link.visited .icon {
  641.             display: block; /* Show icon when active or visited */
  642.         }
  643.         .ez-toc-link.active {
  644.             color: blue; /* Color when active */
  645.         }
  646.         .ez-toc-link.active a {
  647.             color: #2a41e8;
  648.         }
  649.         .ez-toc-link.visited {
  650.             color: gray; /* Color when visited */
  651.         }
  652.         .sidebar-sticky {
  653.             overflow-y: hidden;
  654.         }
  655.         .toc-title {
  656.             color: #000000;
  657.             font-size: 1.8rem;
  658.             font-weight: 700;
  659.             text-align: center;
  660.             margin-bottom: 1.5rem;
  661.         }
  662.         .ez-toc-container-direction {
  663.             display: flex;
  664.             flex-direction: column;
  665.             height: 100%;
  666.         }
  667.         .toc-content {
  668.             overflow: hidden; /* Cache la scrollbar horizontale */
  669.         }
  670.         .ez-toc-list {
  671.             max-height: 200px; /* Définissez la hauteur maximale de la liste défilante selon votre besoin */
  672.             overflow-y: auto; /* Permet le défilement vertical */
  673.             padding-right: 15px; /* Pour compenser la disparition de la scrollbar */
  674.             scrollbar-width: none; /* Cacher la scrollbar pour Firefox */
  675.         }
  676.         #sidebar-container::-webkit-scrollbar {
  677.             /*display: none; !* Cacher la scrollbar pour les navigateurs Webkit *!*/
  678.         }
  679.         .sidebar-sticky {
  680.             border: 3px solid #f1f1f1;
  681.             border-radius: 10px;
  682.             padding: 20px 0 10px 0;
  683.             margin-bottom: 8px;
  684.             position: sticky;
  685.             top: 14%;
  686.         }
  687.         #sidebar-container {
  688.             max-height: 230px !important;
  689.         }
  690.         .toc-container {
  691.             overflow-y: scroll;
  692.         }
  693.         .ez-toc-list::-webkit-scrollbar {
  694.             display: none;
  695.         }
  696.         .ez-toc-list li {
  697.             list-style: none;
  698.             position: relative;
  699.             padding-left: 25px;
  700.             margin-bottom: 10px;
  701.         }
  702.         .ez-toc-page-1 a.ez-toc-link {
  703.             color: gray;
  704.             text-decoration: none; /* Enlève la décoration du texte (soulignement) */
  705.             font-size: medium;
  706.         }
  707.         .ez-toc-page-1 a.ez-toc-link.active {
  708.             color: #2a41e8;
  709.         }
  710.         div.clicked-link a {
  711.             color: grey;
  712.             opacity: 0.8;
  713.         }
  714.         /*.ez-toc-list li:before {*/
  715.         /*    content: \"\\f00c\"; !* Code Unicode pour l'icône de coche de Font Awesome *!*/
  716.         /*    font-family: \"Font Awesome 5 Free\"; !* Police de Font Awesome *!*/
  717.         /*    font-weight: 900; !* Pour la version solide de l'icône *!*/
  718.         /*    color: green; !* Couleur de l'icône, vous pouvez la changer selon vos besoins *!*/
  719.         /*    position: absolute;*/
  720.         /*    left: 0;*/
  721.         /*    top: 0;*/
  722.         /*}*/
  723.         .widget-content {
  724.             position: relative;
  725.         }
  726.         .breadcrumb-container {
  727.             font-size: 11px;
  728.             color: white;
  729.             position: absolute;
  730.             top: 0px; /* Ajustez la valeur selon votre besoin */
  731.             left: 10px; /* Ajustez la valeur selon votre besoin */
  732.             z-index: 100; /* Assurez-vous que cette valeur est plus élevée que celle de l'image */
  733.         }
  734.         .breadcrumb {
  735.             /*background-color: white;*/
  736.             padding: 10px 16px;
  737.             list-style: none;
  738.             display: flex;
  739.             align-items: center;
  740.             border-radius: 5px; /* Ajoutez des bordures arrondies si nécessaire */
  741.         }
  742.         .breadcrumb-item a {
  743.             color: white; /* Couleur du texte du lien */
  744.             text-decoration: none; /* Supprime le soulignement du lien */
  745.             cursor: pointer; /* Assure que le curseur devient une main */
  746.         }
  747.         .breadcrumb-item a:hover {
  748.             text-decoration: none; /* Soulignement au survol */
  749.         }
  750.         .breadcrumb-item.active {
  751.             color: white; /* Couleur du texte pour l'élément actif */
  752.             font-size: 12px;
  753.             text-decoration: underline;
  754.             text-decoration-color: blue; /* Couleur du soulignement */
  755.             text-decoration-thickness: 2px; /* Épaisseur du soulignement */
  756.             text-underline-offset: 4px; /* Espace entre le texte et le soulignement */
  757.         }
  758.         .breadcrumb-item.active a {
  759.             text-decoration: none; /* Supprime le soulignement pour l'élément actif */
  760.             cursor: default; /* Coursur de texte pour l'élément actif */
  761.         }
  762.         .blog-post-content ol {
  763.             margin: 0 0 0 20px !important;
  764.         }
  765.         .blog-post-content h2 {
  766.             font-weight: bold;
  767.             scroll-margin-top: 80px; /* Pour que le scroll auto s'arrête juste au début du h2 */
  768.         }
  769.         .blog-post-content h3 {
  770.             color: black !important;
  771.             font-size: 20px !important;
  772.             font-weight: bold;
  773.             display: inline-block; /* Assure que l'élément h3 ne prend que la largeur nécessaire */
  774.             text-decoration: underline; /* Soulignement du texte */
  775.             text-decoration-color: #2a41e8; /* Couleur du soulignement */
  776.             text-underline-position: under;
  777.         }
  778.         .closeButtonContainer {
  779.             display: flex;
  780.             justify-content: flex-end;
  781.         }
  782.         .scroll-block {
  783.             position: fixed;
  784.             bottom: 0; /* Initially hidden below the screen */
  785.             left: 5%;
  786.             width: 90%;
  787.             background-color: #333;
  788.             color: #fff;
  789.             padding: 12px 20px 41px 20px;
  790.             transition: bottom 0.3s ease; /* Smooth transition for hiding */
  791.             transform: translateY(100%); /* Le bloc est déplacé vers le bas de l'écran */
  792.             display: none;
  793.         }
  794.         .visible {
  795.             transform: translateY(0);
  796.         }
  797.         .hidden {
  798.             transform: translateY(100%);
  799.         }
  800.         .hidden_btn {
  801.             transform: translateY(100%) !important;
  802.         }
  803.         @media only screen and (max-width: 500px) {
  804.             #wrapper {
  805.                 width: -webkit-fill-available;
  806.             }
  807.             .sidebar-sticky {
  808.                 position: static !important;
  809.                 margin-bottom: 1rem;
  810.             }
  811.             .ez-toc-list li {
  812.                 list-style-type: none !important; /* Remove bullets from the list */
  813.                 padding-left: 9px !important; /* Remove padding from the list */
  814.             }
  815.             .mobile-device {
  816.                 display: block;
  817.             }
  818.             .large-device {
  819.                 display: none;
  820.             }
  821.             .scroll-block {
  822.                 display: block;
  823.                 border-radius: 20px;
  824.                 background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://www.abcportage.fr/wp-content/themes/abcportage/assets/build/img/img_cta_right_small.jpg);
  825.                 background-size: cover;
  826.                 color: white;
  827.                 z-index: 200 !important;
  828.                 flex-direction: column;
  829.                 margin-bottom: -12px;
  830.             }
  831.         }
  832.         .btn-mission-spec {
  833.             border-radius: 50px !important;
  834.             padding: 12px 24px !important;
  835.             font-size: 20px !important;
  836.             font-weight: 500 !important;
  837.             background-clip: padding-box;
  838.             background-color: rgb(33 99 139) !important;
  839.         }
  840.         .btn-mission-spec-flottant {
  841.             border-radius: 50px !important;
  842.             padding: 10px 24px !important;
  843.             font-size: 20px !important;
  844.             font-weight: 500 !important;
  845.             background-clip: padding-box;
  846.             background-color: #2a41e8 !important;
  847.         }
  848.         #breadcrumbs {
  849.             transform: translateY(-190%);
  850.             right: 1.2% !important;
  851.         }
  852.         #breadcrumbs ul {
  853.             display: flex;
  854.         }
  855.         .btn-mission-spec:hover {
  856.             background-color: #2a41e8 !important; /* Utilisation de RGBA avec une opacité de 1 (complètement opaque) */
  857.         }
  858.         .spec-breadcrumbs {
  859.             bottom: -5rem !important;
  860.             top: auto !important;
  861.         }
  862.         .end-list-crumbs::before {
  863.             display: none !important;
  864.         }
  865.         .blog-post-content ul {
  866.             list-style-type: none; /* Supprimer les puces par défaut */
  867.         }
  868.         .blog-post-content ul li::before {
  869.             content: \"\\2022\"; /* Code Unicode pour un point (•) */
  870.             color: #2a41e8; /* Couleur bleue pour les puces */
  871.             display: inline-block;
  872.             width: 1em; /* Espacement entre la puce et le texte */
  873.             margin-left: -1em; /* Pour aligner la puce avec le texte */
  874.         }
  875.         .blog-post-content ol {
  876.             list-style-type: decimal; /* Style de numéro par défaut pour les listes ordonnées */
  877.         }
  878.         /* Styles pour les listes ordonnées */
  879.         .blog-post-content ol {
  880.             list-style-type: none; /* Supprimer les numéros par défaut */
  881.             margin: 0; /* Supprimer les marges */
  882.             padding: 0; /* Supprimer les paddings */
  883.         }
  884.         .blog-post-content ol::marker {
  885.             color: #2a41e8; /* Couleur bleue pour les numéros */
  886.         }
  887.         .blog-post-content ol > li {
  888.             counter-increment: my-counter;
  889.         }
  890.         .blog-post-content ol > li::before {
  891.             content: counter(my-counter) \".\"; /* Utiliser le compteur pour les listes ordonnées avec un point */
  892.             color: #2a41e8; /* Couleur bleue pour les numéros */
  893.             font-weight: bold; /* Pour rendre les numéros en gras */
  894.             margin-right: 0.5em; /* Espacement entre le numéro et le texte */
  895.         }
  896.         .blog-post-content ol > li > *:first-child {
  897.             display: contents; /* Appliquer display: contents; à la première balise enfant de chaque li */
  898.         }
  899.         .blog-post-content h1,
  900.         .blog-post-content h2,
  901.         .blog-post-content h3 {
  902.             color: #2a41e8;
  903.         }
  904.         .widget-content.active:before, .widget-content:hover:before {
  905.             opacity: 0.8 !important;
  906.         }
  907.         @media (max-width: 980px) {
  908.             .spec {
  909.                 flex-basis: 100% !important;
  910.                 max-width: 100% !important;
  911.             }
  912.             .spec:last-child {
  913.                 margin-top: 16px !important; /* Ajoute une marge supérieure de 16px uniquement au dernier élément spécifique */
  914.             }
  915.             .spec-breadcrumbs {
  916.                 bottom: auto !important;
  917.                 top: 50% !important;
  918.             }
  919.             .article-right-flottant {
  920.                 max-width: 100% !important;
  921.                 margin: 0 !important;
  922.                 padding: 1rem 2rem !important;
  923.             }
  924.             .blog-post.single-post.spec {
  925.                 margin: 3rem 0rem !important;
  926.             }
  927.             #breadcrumbs {
  928.                 transform: translateY(-20%) translateX(-26px);
  929.             }
  930.             .blog-post.single-post .blog-post-thumbnail {
  931.                 width: 100%;
  932.                 height: 250px;
  933.             }
  934.         }
  935.         @media screen and (max-width: 500px) {
  936.             .blog-post-content h1 {
  937.                 font-size: 46px !important;
  938.             }
  939.             .blog-post-content {
  940.                 padding: 32px;
  941.             }
  942.             .blog-post-content ul {
  943.                 padding-inline-start: 20px;
  944.             }
  945.             .blog-post, .single-page-header .header-image {
  946.                 box-shadow: none !important;
  947.             }
  948.             #breadcrumbs {
  949.                 font-size: 12px !important;
  950.             }
  951.             .blog-post.single-post.spec {
  952.                 margin: 0 !important;
  953.             }
  954.             .blog-post-content {
  955.                 padding: 20px 2rem !important;
  956.             }
  957.         }
  958.     </style>
  959. ";
  960.         
  961.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  962.         
  963.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  964.         yield from [];
  965.     }
  966.     // line 948
  967.     /**
  968.      * @return iterable<null|scalar|\Stringable>
  969.      */
  970.     public function block_body(array $context, array $blocks = []): iterable
  971.     {
  972.         $macros $this->macros;
  973.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  974.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  975.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  976.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  977.         // line 949
  978.         yield "    <div class=\"container\">
  979.         <div class=\"row\">
  980.             <div class=\"col-md-12 margin-bottom-16 margin-top-16\" style=\"padding: 0 32px;\">
  981.                 <div class=\"widget-content active text-center\" style=\"border-radius: 20px;position:relative\">
  982.                     <img src=";
  983.         // line 954
  984.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("uploads/img/6287a440d1176.jpg"), "html"nulltrue);
  985.         yield " alt=\"\">
  986.                     <div class=\"overlay\"></div>
  987.                     <nav aria-label=\"breadcrumb\" class=\"breadcrumb-container\">
  988.                         <ol class=\"breadcrumb\">
  989.                             <li class=\"breadcrumb-item\"><a href=\"";
  990.         // line 958
  991.         yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("homepage");
  992.         yield "\">Accueil</a></li>
  993.                             &nbsp;>&nbsp;
  994.                             <li class=\"breadcrumb-item active\" aria-current=\"page\">";
  995.         // line 960
  996.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'960$this->source); })()), "breadcrumbs", [], "any"falsefalsefalse960), "html"nulltrue);
  997.         yield "</li>
  998.                         </ol>
  999.                     </nav>
  1000.                     <div class=\"widget-text\">
  1001.                         <p style=\"font-size: 30px; line-height: 45px; color: white; font-weight: 600;\">Offres d'emploi et missions freelance sans commission en France</p>
  1002.                         <a href=\"";
  1003.         // line 965
  1004.         yield (((( !$this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") && $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_FREELANCE")) && (CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'965$this->source); })()), "user", [], "any"falsefalsefalse965), "uniqueProfile", [], "any"falsefalsefalse965), "id", [], "any"falsefalsefalse965) == null))) ? ("#complete-cv-dialog") : ($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("offre_search")));
  1005.         yield "\">
  1006.                             <span class=\"btn-mission-spec\">Voir les offres</span>
  1007.                         </a>
  1008.                     </div>
  1009.                 </div>
  1010.             </div>
  1011.             ";
  1012.         // line 972
  1013.         yield "            ";
  1014.         // line 973
  1015.         yield "            ";
  1016.         // line 974
  1017.         yield "            ";
  1018.         // line 975
  1019.         yield "            ";
  1020.         // line 976
  1021.         yield "            ";
  1022.         // line 977
  1023.         yield "            ";
  1024.         // line 978
  1025.         yield "            ";
  1026.         // line 979
  1027.         yield "            ";
  1028.         // line 980
  1029.         yield "            ";
  1030.         // line 981
  1031.         yield "            ";
  1032.         // line 982
  1033.         yield "
  1034.         </div>
  1035.         <div class=\"row d-flex flex-wrap margin-bottom-16\">
  1036.             <div class=\"blog-post single-post spec\"
  1037.                  style=\"border-radius: 20px; flex: 2; margin: 0 1rem; -webkit-box-flex: 2;max-width: calc(66.666% - 2rem);\">
  1038.                 <!-- Blog Post Content -->
  1039.                 <div class=\"blog-post-content\">
  1040.                     <h1 class=\"margin-bottom-10\"
  1041.                         style=\"line-height: 1.2;font-size: 50px\">";
  1042.         // line 992
  1043.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'992$this->source); })()), "bigtitle", [], "any"falsefalsefalse992), "html"nulltrue);
  1044.         yield "</h1>
  1045.                     <div class=\"blog-post-info-list margin-bottom-20\">
  1046.                             <span class=\"meta-date blog-post-info \"
  1047.                                   style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  1048.                                     style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  1049.                                     height=\"16\"
  1050.                                     xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  1051.                                         d=\"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z\"/></svg> <span> ";
  1052.         // line 1000
  1053.         $context["trans_month_hash"] = ["January" => "Janvier""February" => "Février""March" => "Mars""April" => "Avril""May" => "Mai""June" => "Juin""July" => "Juillet""August" => "Août""September" => "Septembre""October" => "Octobre""November" => "Novembre""December" => "Décembre"];
  1054.         // line 1013
  1055.         if ((Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse1013)) || (CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse1013) == CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse1013)))) {
  1056.             yield "Publiée le ";
  1057.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse1013), "d"), "html"nulltrue);
  1058.             yield " ";
  1059.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["trans_month_hash"]) || array_key_exists("trans_month_hash"$context) ? $context["trans_month_hash"] : (function () { throw new RuntimeError('Variable "trans_month_hash" does not exist.'1013$this->source); })()), $this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse1013), "F"), [], "array"falsefalsefalse1013), "html"nulltrue);
  1060.             yield " ";
  1061.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getCreatedAt", [], "method"falsefalsefalse1013), "Y"), "html"nulltrue);
  1062.         } else {
  1063.             yield "Mis à jour le ";
  1064.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse1013), "d"), "html"nulltrue);
  1065.             yield " ";
  1066.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["trans_month_hash"]) || array_key_exists("trans_month_hash"$context) ? $context["trans_month_hash"] : (function () { throw new RuntimeError('Variable "trans_month_hash" does not exist.'1013$this->source); })()), $this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse1013), "F"), [], "array"falsefalsefalse1013), "html"nulltrue);
  1067.             yield " ";
  1068.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1013$this->source); })()), "getUpdatedAt", [], "method"falsefalsefalse1013), "Y"), "html"nulltrue);
  1069.         }
  1070.         yield "</span></span>
  1071.                         <span class=\"meta-views blog-post-info \"
  1072.                               style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  1073.                                 style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  1074.                                 height=\"16\"
  1075.                                 xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  1076.                                     d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg><span>";
  1077.         // line 1019
  1078.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1019$this->source); })()), "view", [], "any"falsefalsefalse1019), "html"nulltrue);
  1079.         yield " vues</span></span>
  1080.                         <span class=\"meta-rtime blog-post-info \"
  1081.                               style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  1082.                                 style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  1083.                                 height=\"16\"
  1084.                                 xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  1085.                                     d=\"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"/></svg><span>";
  1086.         // line 1025
  1087.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1025$this->source); })()), "rtTime", [], "any"falsefalsefalse1025), "html"nulltrue);
  1088.         yield "min</span></span>
  1089.                     </div>
  1090.                     <div class=\"sidebar-sticky mobile-device\" style=\"height: 260px;\">
  1091.                         <div id=\"sidebar-container\" class=\"sidebar-content toc-wrapper\">
  1092.                             <div class=\"toc-title-container\">
  1093.                                 <p class=\"toc-title\">
  1094.                                     Sommaire
  1095.                                 </p>
  1096.                             </div>
  1097.                             <div id=\"toc-container\" class=\"toc-content\">
  1098.                                 <div id=\"ez-toc-container\"
  1099.                                      class=\"ez-toc-v2_0_37 counter-flat ez-toc-counter ez-toc-grey ez-toc-container-direction\">
  1100.                                     <div class=\"ez-toc-title-container\">
  1101.                                                      <span class=\"ez-toc-title-toggle\"><a
  1102.                                                              class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\"
  1103.                                                              style=\"display: none;\"><span
  1104.                                                                  style=\"display: flex;align-items: center;width: 35px;height: 30px;justify-content: center;\"><svg
  1105.                                                                      style=\"fill: #999;color:#999\"
  1106.                                                                      xmlns=\"http://www.w3.org/2000/svg\"
  1107.                                                                      class=\"list-377408\" width=\"20px\" height=\"20px\"
  1108.                                                                      viewBox=\"0 0 24 24\"
  1109.                                                                      fill=\"none\"><path
  1110.                                                                          d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\"
  1111.                                                                          fill=\"currentColor\"></path></svg><svg
  1112.                                                                      style=\"fill: #999;color:#999\"
  1113.                                                                      class=\"arrow-unsorted-368013\"
  1114.                                                                      xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\"
  1115.                                                                      height=\"10px\"
  1116.                                                                      viewBox=\"0 0 24 24\" version=\"1.2\"
  1117.                                                                      baseProfile=\"tiny\"><path
  1118.                                                                          d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"></path></svg></span></a></span>
  1119.                                     </div>
  1120.                                     <nav>
  1121.                                         ";
  1122.         // line 1058
  1123.         $context["h2_titles"] = $this->extensions['App\Twig\AppExtension']->extractH2(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1058$this->source); })()), "content", [], "any"falsefalsefalse1058));
  1124.         // line 1059
  1125.         yield "
  1126.                                         <ul class=\"ez-toc-list ez-toc-list-level-1\"
  1127.                                             style=\"margin-bottom: 0 !important;    padding-left: 0 !important;\">
  1128.                                             ";
  1129.         // line 1062
  1130.         $context['_parent'] = $context;
  1131.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["h2_titles"]) || array_key_exists("h2_titles"$context) ? $context["h2_titles"] : (function () { throw new RuntimeError('Variable "h2_titles" does not exist.'1062$this->source); })()));
  1132.         foreach ($context['_seq'] as $context["_key"] => $context["title"]) {
  1133.             // line 1063
  1134.             yield "                                                ";
  1135.             $context["anchor"] = $this->extensions['App\Twig\AppExtension']->slugify($context["title"]);
  1136.             // line 1064
  1137.             yield "                                                <li class=\"ez-toc-page-1\">
  1138.                                                     <a onclick=\"applyStyle(this)\" class=\"ez-toc-link\"
  1139.                                                        href=\"#";
  1140.             // line 1067
  1141.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["anchor"]) || array_key_exists("anchor"$context) ? $context["anchor"] : (function () { throw new RuntimeError('Variable "anchor" does not exist.'1067$this->source); })()), "html"nulltrue);
  1142.             yield "\"
  1143.                                                        title=\"";
  1144.             // line 1068
  1145.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["title"], "html"nulltrue);
  1146.             yield "\">
  1147.                                                         <svg class=\"icon\" style=\"fill: #2a41e8 ;margin-right: 5px\"
  1148.                                                              width=\"16\" height=\"16\"
  1149.                                                              xmlns=\"http://www.w3.org/2000/svg\"
  1150.                                                              viewBox=\"0 0 448 512\">
  1151.                                                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  1152.                                                             <path
  1153.                                                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  1154.                                                         </svg> ";
  1155.             // line 1076
  1156.             if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), $context["title"]) > 30)) {
  1157.                 // line 1077
  1158.                 yield "                                                            ";
  1159.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::slice($this->env->getCharset(), $context["title"], 030), "html"nulltrue);
  1160.                 yield "...
  1161.                                                         ";
  1162.             } else {
  1163.                 // line 1079
  1164.                 yield "                                                            ";
  1165.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["title"], "html"nulltrue);
  1166.                 yield "
  1167.                                                         ";
  1168.             }
  1169.             // line 1080
  1170.             yield "</a>
  1171.                                                 </li>
  1172.                                             ";
  1173.         }
  1174.         $_parent $context['_parent'];
  1175.         unset($context['_seq'], $context['_key'], $context['title'], $context['_parent']);
  1176.         $context array_intersect_key($context$_parent) + $_parent;
  1177.         // line 1083
  1178.         yield "                                        </ul>
  1179.                                     </nav>
  1180.                                 </div>
  1181.                             </div>
  1182.                             <div class=\"toc-footer\">
  1183.                                 <div class=\"social-section\">
  1184.                                     <a href=\"https://www.linkedin.com/sharing/share-offsite/?url=https://reassurez-moi.fr/guide/banque\"
  1185.                                        target=\"_blank\">
  1186.                                         <i class=\"fa-brands fa-linkedin-in\" aria-hidden=\"true\"></i>
  1187.                                     </a>
  1188.                                     <a href=\"https://twitter.com/share?url=https://reassurez-moi.fr/guide/banque\"
  1189.                                        target=\"_blank\">
  1190.                                         <i class=\"fa-brands fa-twitter\" aria-hidden=\"true\"></i>
  1191.                                     </a>
  1192.                                 </div>
  1193.                             </div>
  1194.                         </div>
  1195.                         <div id=\"fix-sidebar-content\" class=\"mt-2\"></div>
  1196.                         <div id=\"sidebar-advertblock-container\" class=\"mt-2\"></div>
  1197.                     </div>
  1198.                     <!-- Post Thumbnail -->
  1199.                     <div class=\"blog-post-thumbnail\">
  1200.                         <div class=\"blog-post-thumbnail-inner\">
  1201.                             <img
  1202.                                 src=\"";
  1203.         // line 1108
  1204.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1108$this->source); })()), "publicationImage", [], "any"falsefalsefalse1108)) ? (("uploads/img/" CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1108$this->source); })()), "publicationImage", [], "any"falsefalsefalse1108), "path", [], "any"falsefalsefalse1108))) : ("images/blog-04.jpg"))), "html"nulltrue);
  1205.         yield "\"
  1206.                                 alt=\"";
  1207.         // line 1109
  1208.         yield ((CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1109$this->source); })()), "publicationImage", [], "any"falsefalsefalse1109)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1109$this->source); })()), "publicationImage", [], "any"falsefalsefalse1109), "name", [], "any"falsefalsefalse1109), "html"nulltrue)) : (""));
  1209.         yield "\">
  1210.                         </div>
  1211.                     </div>
  1212.                     <!--  Post Content -->
  1213.                     ";
  1214.         // line 1114
  1215.         $context["publication_content_with_anchors"] = $this->extensions['App\Twig\AppExtension']->addH2Anchors(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1114$this->source); })()), "content", [], "any"falsefalsefalse1114));
  1216.         // line 1115
  1217.         yield "
  1218.                     <!-- Blog Post Content -->
  1219.                     ";
  1220.         // line 1118
  1221.         yield Twig\Extension\CoreExtension::replace(Twig\Extension\CoreExtension::replace((isset($context["publication_content_with_anchors"]) || array_key_exists("publication_content_with_anchors"$context) ? $context["publication_content_with_anchors"] : (function () { throw new RuntimeError('Variable "publication_content_with_anchors" does not exist.'1118$this->source); })()), ["<li><p>" => "<li>""</p></li>" => "</li>"]), ["https://www.freelance-dispo.fr" => "https://www.workdispo.com"]);
  1222.         // line 1120
  1223.         yield "
  1224.                     ";
  1225.         // line 1123
  1226.         yield "
  1227.                     <!-- Share Buttons -->
  1228.                     ";
  1229.         // line 1125
  1230.         yield from $this->loadTemplate("common/social_share.html.twig""page/page.html.twig"1125)->unwrap()->yield($context);
  1231.         // line 1126
  1232.         yield "
  1233.                 </div>
  1234.             </div>
  1235.             <div class=\"article-right-flottant\"
  1236.                  style=\"border-radius: 20px; flex: 1; margin: 0; -webkit-box-flex: 1;max-width: calc(33.333% - 2rem);padding:  0;position: relative;\">
  1237.                 <div class=\"margin-bottom-4\">
  1238.                     <script src=\"https://platform.linkedin.com/in.js\"
  1239.                             type=\"text/javascript\"> lang: fr_FR</script>
  1240.                     <script type=\"IN/FollowCompany\" data-id=\"35595945\"
  1241.                             data-counter=\"right\"></script>
  1242.                 </div>
  1243.                 <div class=\"sidebar-sticky large-device\" style=\"height: 260px;\">
  1244.                     <div id=\"sidebar-container\" class=\"sidebar-content toc-wrapper\">
  1245.                         <div class=\"toc-title-container\">
  1246.                             <p class=\"toc-title\">
  1247.                                 Sommaire
  1248.                             </p>
  1249.                         </div>
  1250.                         <div id=\"toc-container\" class=\"toc-content\">
  1251.                             <div id=\"ez-toc-container\"
  1252.                                  class=\"ez-toc-v2_0_37 counter-flat ez-toc-counter ez-toc-grey ez-toc-container-direction\">
  1253.                                 <div class=\"ez-toc-title-container\">
  1254.                                                      <span class=\"ez-toc-title-toggle\"><a
  1255.                                                              class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\"
  1256.                                                              style=\"display: none;\"><span
  1257.                                                                  style=\"display: flex;align-items: center;width: 35px;height: 30px;justify-content: center;\"><svg
  1258.                                                                      style=\"fill: #999;color:#999\"
  1259.                                                                      xmlns=\"http://www.w3.org/2000/svg\"
  1260.                                                                      class=\"list-377408\" width=\"20px\" height=\"20px\"
  1261.                                                                      viewBox=\"0 0 24 24\"
  1262.                                                                      fill=\"none\"><path
  1263.                                                                          d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\"
  1264.                                                                          fill=\"currentColor\"></path></svg><svg
  1265.                                                                      style=\"fill: #999;color:#999\"
  1266.                                                                      class=\"arrow-unsorted-368013\"
  1267.                                                                      xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\"
  1268.                                                                      height=\"10px\"
  1269.                                                                      viewBox=\"0 0 24 24\" version=\"1.2\"
  1270.                                                                      baseProfile=\"tiny\"><path
  1271.                                                                          d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"></path></svg></span></a></span>
  1272.                                 </div>
  1273.                                 <nav>
  1274.                                     ";
  1275.         // line 1169
  1276.         $context["h2_titles"] = $this->extensions['App\Twig\AppExtension']->extractH2(CoreExtension::getAttribute($this->env$this->source, (isset($context["publication"]) || array_key_exists("publication"$context) ? $context["publication"] : (function () { throw new RuntimeError('Variable "publication" does not exist.'1169$this->source); })()), "content", [], "any"falsefalsefalse1169));
  1277.         // line 1170
  1278.         yield "
  1279.                                     <ul class=\"ez-toc-list ez-toc-list-level-1\"
  1280.                                         style=\"margin-bottom: 0 !important;    padding-left: 0 !important;\">
  1281.                                         ";
  1282.         // line 1173
  1283.         $context['_parent'] = $context;
  1284.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["h2_titles"]) || array_key_exists("h2_titles"$context) ? $context["h2_titles"] : (function () { throw new RuntimeError('Variable "h2_titles" does not exist.'1173$this->source); })()));
  1285.         foreach ($context['_seq'] as $context["_key"] => $context["title"]) {
  1286.             // line 1174
  1287.             yield "                                            ";
  1288.             $context["anchor"] = $this->extensions['App\Twig\AppExtension']->slugify($context["title"]);
  1289.             // line 1175
  1290.             yield "                                            <li class=\"ez-toc-page-1\">
  1291.                                                 <a onclick=\"applyStyle(this)\" class=\"ez-toc-link\"
  1292.                                                    href=\"#";
  1293.             // line 1178
  1294.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["anchor"]) || array_key_exists("anchor"$context) ? $context["anchor"] : (function () { throw new RuntimeError('Variable "anchor" does not exist.'1178$this->source); })()), "html"nulltrue);
  1295.             yield "\"
  1296.                                                    title=\"";
  1297.             // line 1179
  1298.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["title"], "html"nulltrue);
  1299.             yield "\">
  1300.                                                     <svg class=\"icon\" style=\"fill: #2a41e8 ;margin-right: 5px\"
  1301.                                                          width=\"16\" height=\"16\"
  1302.                                                          xmlns=\"http://www.w3.org/2000/svg\"
  1303.                                                          viewBox=\"0 0 448 512\">
  1304.                                                         <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  1305.                                                         <path
  1306.                                                             d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  1307.                                                     </svg> ";
  1308.             // line 1187
  1309.             if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), $context["title"]) > 30)) {
  1310.                 // line 1188
  1311.                 yield "                                                        ";
  1312.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::slice($this->env->getCharset(), $context["title"], 030), "html"nulltrue);
  1313.                 yield "...
  1314.                                                     ";
  1315.             } else {
  1316.                 // line 1190
  1317.                 yield "                                                        ";
  1318.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["title"], "html"nulltrue);
  1319.                 yield "
  1320.                                                     ";
  1321.             }
  1322.             // line 1191
  1323.             yield "</a>
  1324.                                             </li>
  1325.                                         ";
  1326.         }
  1327.         $_parent $context['_parent'];
  1328.         unset($context['_seq'], $context['_key'], $context['title'], $context['_parent']);
  1329.         $context array_intersect_key($context$_parent) + $_parent;
  1330.         // line 1194
  1331.         yield "                                    </ul>
  1332.                                 </nav>
  1333.                             </div>
  1334.                         </div>
  1335.                         <div class=\"toc-footer\">
  1336.                             <div class=\"social-section\">
  1337.                                 <a href=\"https://www.linkedin.com/sharing/share-offsite/?url=https://reassurez-moi.fr/guide/banque\"
  1338.                                    target=\"_blank\">
  1339.                                     <i class=\"fa-brands fa-linkedin-in\" aria-hidden=\"true\"></i>
  1340.                                 </a>
  1341.                                 <a href=\"https://twitter.com/share?url=https://reassurez-moi.fr/guide/banque\"
  1342.                                    target=\"_blank\">
  1343.                                     <i class=\"fa-brands fa-twitter\" aria-hidden=\"true\"></i>
  1344.                                 </a>
  1345.                             </div>
  1346.                         </div>
  1347.                     </div>
  1348.                     <div id=\"fix-sidebar-content\" class=\"mt-2\"></div>
  1349.                     <div id=\"sidebar-advertblock-container\" class=\"mt-2\"></div>
  1350.                 </div>
  1351.                 <div class=\"blog-post single-post sticky-bottom\"
  1352.                      style=\"margin-bottom: 0;display: none; flex-direction: column; padding: 12px; border-radius: 20px; position: sticky; top: 53%; background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://www.abcportage.fr/wp-content/themes/abcportage/assets/build/img/img_cta_right_small.jpg); background-size: cover; color: white;\">
  1353.                     ";
  1354.         // line 1217
  1355.         yield "                    <h3 style=\"text-align: center;margin: 1rem;color:white;font-size:23px;\">Missions et emplois
  1356.                         disponibles</h3>
  1357.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  1358.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  1359.                              xmlns=\"http://www.w3.org/2000/svg\"
  1360.                              viewBox=\"0 0 448 512\">
  1361.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  1362.                             <path
  1363.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  1364.                         </svg>
  1365.                         </span>
  1366.                         <span>Emplois et missions freelance</span>
  1367.                     </div>
  1368.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  1369.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  1370.                              xmlns=\"http://www.w3.org/2000/svg\"
  1371.                              viewBox=\"0 0 448 512\">
  1372.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  1373.                             <path
  1374.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  1375.                         </svg>
  1376.                         </span>
  1377.                         <span>Emplois et missions avec du télétravail</span>
  1378.                     </div>
  1379.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  1380.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  1381.                              xmlns=\"http://www.w3.org/2000/svg\"
  1382.                              viewBox=\"0 0 448 512\">
  1383.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  1384.                             <path
  1385.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  1386.                         </svg>
  1387.                         </span>
  1388.                         <span>Des offres sur toute la France</span>
  1389.                     </div>
  1390.                     <span style=\"margin: 1rem auto\"><a
  1391.                             href=\"";
  1392.         // line 1253
  1393.         yield (((( !$this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") && $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_FREELANCE")) && (CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1253$this->source); })()), "user", [], "any"falsefalsefalse1253), "uniqueProfile", [], "any"falsefalsefalse1253), "id", [], "any"falsefalsefalse1253) == null))) ? ("#complete-cv-dialog") : ($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("offre_search")));
  1394.         yield "\"><span
  1395.                                 class=\"btn-mission-spec-flottant\"
  1396.                                 style=\"color: #FFFFFF\">Voir les offres</span></a></span>
  1397.                 </div>
  1398.             </div>
  1399.         </div>
  1400.         <!-- Scroll detection block -->
  1401.         <div id=\"scrollBlock\" class=\"scroll-block hidden\"
  1402.             ";
  1403.         // line 1266
  1404.         yield "        >
  1405.             <div style=\"text-align:center;\">
  1406.                 <div class=\"closeButtonContainer\">
  1407.                     <button onclick=\"closeScrollBlock()\" id=\"closeButton\">&times;</button>
  1408.                 </div>
  1409.                 <p style=\"color:white;font-size:20px;font-weight:700;margin-bottom: 32px;\">Mission WorkDisponibles</p>
  1410.                 <span style=\"margin: 2rem auto\">
  1411.                     <a
  1412.                         href=\"";
  1413.         // line 1274
  1414.         yield (((( !$this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") && $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_FREELANCE")) && (CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source,         // line 1275
  1415. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1275$this->source); })()), "user", [], "any"falsefalsefalse1275), "uniqueProfile", [], "any"falsefalsefalse1275), "id", [], "any"falsefalsefalse1275) == null))) ? ("#complete-cv-dialog") : ($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("mission_search_default")));
  1416.         yield "\"
  1417.                     >
  1418.                         <span class=\"btn-mission-spec-flottant\" style=\"color: #FFFFFF\">Voir les missions</span>
  1419.                     </a>
  1420.                 </span>
  1421.             </div>
  1422.         </div>
  1423.     </div>
  1424. ";
  1425.         
  1426.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1427.         
  1428.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1429.         yield from [];
  1430.     }
  1431.     // line 1285
  1432.     /**
  1433.      * @return iterable<null|scalar|\Stringable>
  1434.      */
  1435.     public function block_javascripts(array $context, array $blocks = []): iterable
  1436.     {
  1437.         $macros $this->macros;
  1438.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1439.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  1440.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1441.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascripts"));
  1442.         // line 1286
  1443.         yield "    <script>
  1444.         document.addEventListener(\"DOMContentLoaded\", function () {
  1445.             // JavaScript to handle scroll event
  1446.             window.addEventListener('scroll', function () {
  1447.                 // Get the scroll position
  1448.                 var scrollPosition = window.scrollY;
  1449.                 // Define the threshold to show the block
  1450.                 var threshold = 300; // Adjust as needed
  1451.                 // Get the scroll block element
  1452.                 var scrollBlock = document.getElementById('scrollBlock');
  1453.                 // Show or hide the block based on scroll position
  1454.                 if (scrollPosition > threshold) {
  1455.                     scrollBlock.classList.remove('hidden');
  1456.                     scrollBlock.classList.add('visible');
  1457.                 } else {
  1458.                     scrollBlock.classList.remove('visible');
  1459.                     scrollBlock.classList.add('hidden');
  1460.                 }
  1461.             });
  1462.         });
  1463.         // Fonction pour fermer le bloc de détection du défilement
  1464.         function closeScrollBlock() {
  1465.             console.log(\"Fermeture du bloc de détection du défilement\");
  1466.             var scrollBlock = document.getElementById('scrollBlock');
  1467.             scrollBlock.classList.remove('visible');
  1468.             scrollBlock.classList.add('hidden_btn');
  1469.         }
  1470.         document.addEventListener('scroll', function () {
  1471.             const container = document.querySelector('.article-right-flottant');
  1472.             const stickyBottom = document.querySelector('.sticky-bottom');
  1473.             const containerRect = container.getBoundingClientRect();
  1474.             const windowHeight = window.innerHeight;
  1475.             const contentHeight = containerRect.height;
  1476.             // Assuming scrollPosition is the current vertical scroll position
  1477.             const scrollPosition = window.scrollY;
  1478.             // Fixed threshold of 250 pixels
  1479.             const fixedThreshold = 5;
  1480.             // Calculate how close we are to the bottom of the content
  1481.             const distanceToBottom = contentHeight - (scrollPosition + windowHeight);
  1482.             console.log(Math.abs(distanceToBottom))
  1483.             if (distanceToBottom < 0) {
  1484.                 if (Math.abs(distanceToBottom) >= 357 || window.scrollY <= 199) {
  1485.                     stickyBottom.style.display = 'none';
  1486.                 } else {
  1487.                     stickyBottom.style.display = 'flex';
  1488.                 }
  1489.             } else {
  1490.                 // Check if we are within 250 pixels from the bottom
  1491.                 if (distanceToBottom <= fixedThreshold || window.scrollY <= 199) {
  1492.                     stickyBottom.style.display = 'none';
  1493.                 } else {
  1494.                     stickyBottom.style.display = 'flex';
  1495.                 }
  1496.             }
  1497.         });
  1498.         function applyStyle(element) {
  1499.             // Supprimer la classe 'active' de tous les liens
  1500.             const links = document.querySelectorAll('.large-device .ez-toc-link');
  1501.             links.forEach(link => link.classList.remove('active'));
  1502.             if (window.innerWidth <= 500) {
  1503.                 const links_mobile = document.querySelectorAll('.mobile-device .ez-toc-link');
  1504.                 links_mobile.forEach(link => link.classList.remove('active'));
  1505.             }
  1506.             // Ajouter la classe 'active' au lien cliqué
  1507.             element.classList.add('active');
  1508.             // Appliquez le style à l'élément <a> lorsque le lien est cliqué
  1509.             // element.style.color = 'grey';
  1510.             // element.style.opacity = '0.8';
  1511.             element.classList.add('clicked-link');
  1512.         }
  1513.         // Sélectionnez tous les liens de votre sommaire
  1514.         const links = document.querySelectorAll('.large-device .ez-toc-link');
  1515.         const headings = Array.from(links).map(link => {
  1516.             const id = link.getAttribute('href').substring(1);
  1517.             return document.getElementById(id);
  1518.         });
  1519.         let currentActiveSection = null;
  1520.         let isScrollingToLink = false;
  1521.         function scrollToElement(element, container) {
  1522.             if (!isElementInViewport(element, container) && !isScrollingToLink) {
  1523.                 isScrollingToLink = true;
  1524.                 document.body.style.overflow = 'hidden';
  1525.                 element.scrollIntoView({ behavior: 'smooth', block: 'start' });
  1526.                 setTimeout(() => {
  1527.                     document.body.style.overflow = '';
  1528.                     isScrollingToLink = false;
  1529.                 }, 500);
  1530.             }
  1531.         }
  1532.         function isElementInViewport(element, container) {
  1533.             var elementRect = element.getBoundingClientRect();
  1534.             var containerRect = container.getBoundingClientRect();
  1535.             return (
  1536.                 elementRect.top >= containerRect.top &&
  1537.                 elementRect.left >= containerRect.left &&
  1538.                 elementRect.bottom <= containerRect.bottom &&
  1539.                 elementRect.right <= containerRect.right
  1540.             );
  1541.         }
  1542.         function updateActiveLink() {
  1543.             let indexToActivate = -1;
  1544.             // Parcours du bas vers le haut
  1545.             for (let i = headings.length - 1; i >= 0; i--) {
  1546.                 const heading = headings[i];
  1547.                 if (heading) {
  1548.                     const rect = heading.getBoundingClientRect();
  1549.                     if (rect.top <= 0) { // 0px du haut de la fenêtre
  1550.                         indexToActivate = i;
  1551.                         break;
  1552.                     }
  1553.                 }
  1554.             }
  1555.             links.forEach(link => link.classList.remove('active'));
  1556.             if (indexToActivate !== -1) {
  1557.                 links[indexToActivate].classList.add('active');
  1558.                 // Scroll le menu pour garder le lien actif visible
  1559.                 const activeLink = links[indexToActivate];
  1560.                 const tocList = activeLink.closest('.ez-toc-list');
  1561.                 if (tocList && activeLink) {
  1562.                     const linkRect = activeLink.getBoundingClientRect();
  1563.                     const listRect = tocList.getBoundingClientRect();
  1564.                     if (linkRect.top < listRect.top || linkRect.bottom > listRect.bottom) {
  1565.                         tocList.scrollTop += linkRect.top - listRect.top - listRect.height / 2 + linkRect.height / 2;
  1566.                     }
  1567.                 }
  1568.             }
  1569.         }
  1570.         window.addEventListener('scroll', updateActiveLink);
  1571.         document.addEventListener('DOMContentLoaded', () => {
  1572.             const links = document.querySelectorAll('.large-device .ez-toc-link');
  1573.             if (links.length > 0) {
  1574.                 links[0].classList.add('active');
  1575.             }
  1576.             if (window.innerWidth <= 500) {
  1577.                 const links_mobile = document.querySelectorAll('.mobile-device .ez-toc-link');
  1578.                 if (links_mobile.length > 0) {
  1579.                     links_mobile[0].classList.add('active');
  1580.                 }
  1581.             }
  1582.         });
  1583.         // window.addEventListener('scroll', () => {
  1584.         //     const stickyBottom = document.querySelector('.sticky-bottom');
  1585.         //     // console.log(window.scrollY); // ou window.pageYOffset
  1586.         //
  1587.         // });
  1588.     </script>
  1589. ";
  1590.         
  1591.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1592.         
  1593.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1594.         yield from [];
  1595.     }
  1596.     /**
  1597.      * @codeCoverageIgnore
  1598.      */
  1599.     public function getTemplateName(): string
  1600.     {
  1601.         return "page/page.html.twig";
  1602.     }
  1603.     /**
  1604.      * @codeCoverageIgnore
  1605.      */
  1606.     public function isTraitable(): bool
  1607.     {
  1608.         return false;
  1609.     }
  1610.     /**
  1611.      * @codeCoverageIgnore
  1612.      */
  1613.     public function getDebugInfo(): array
  1614.     {
  1615.         return array (  1636 => 1286,  1623 => 1285,  1602 => 1275,  1601 => 1274,  1591 => 1266,  1576 => 1253,  1538 => 1217,  1514 => 1194,  1506 => 1191,  1500 => 1190,  1494 => 1188,  1492 => 1187,  1481 => 1179,  1477 => 1178,  1472 => 1175,  1469 => 1174,  1465 => 1173,  1460 => 1170,  1458 => 1169,  1413 => 1126,  1411 => 1125,  1407 => 1123,  1403 => 1120,  1401 => 1118,  1396 => 1115,  1394 => 1114,  1386 => 1109,  1382 => 1108,  1355 => 1083,  1347 => 1080,  1341 => 1079,  1335 => 1077,  1333 => 1076,  1322 => 1068,  1318 => 1067,  1313 => 1064,  1310 => 1063,  1306 => 1062,  1301 => 1059,  1299 => 1058,  1263 => 1025,  1254 => 1019,  1231 => 1013,  1229 => 1000,  1218 => 992,  1206 => 982,  1204 => 981,  1202 => 980,  1200 => 979,  1198 => 978,  1196 => 977,  1194 => 976,  1192 => 975,  1190 => 974,  1188 => 973,  1186 => 972,  1177 => 965,  1169 => 960,  1164 => 958,  1157 => 954,  1150 => 949,  1137 => 948,  694 => 514,  681 => 513,  666 => 510,  660 => 508,  658 => 507,  653 => 505,  649 => 504,  645 => 503,  641 => 502,  160 => 23,  147 => 22,  134 => 19,  128 => 17,  126 => 16,  123 => 15,  117 => 13,  115 => 12,  106 => 5,  93 => 4,  68 => 3,  45 => 1,);
  1616.     }
  1617.     public function getSourceContext(): Source
  1618.     {
  1619.         return new Source("{% extends 'base.html.twig' %}
  1620. {% block title %} {{ publication.title }} | WorkDispo {% endblock %}
  1621. {% block meta_date_desc %}
  1622.     <script type=\"application/ld+json\">
  1623.         {
  1624.             \"@context\" : \"https://schema.org\",
  1625.             \"@type\" : \"WebSite\",
  1626.             \"name\" : \"WorkDispo\",
  1627.             \"url\" : \"https://www.workdispo.com/\",
  1628.         {% if publication and publication.getCreatedAt() is not empty %}
  1629.                       \"datePublished\": \"{{ publication.getCreatedAt()|date('c') }}\",
  1630.                     {% endif %}
  1631.                     {% if publication and publication.getUpdatedAt() is not empty %}
  1632.                       \"dateModified\": \"{{ publication.getUpdatedAt()|date('c') }}\"
  1633.                     {% endif %}
  1634.         }
  1635.     </script>
  1636. {% endblock %}
  1637. {% block meta %}
  1638.     <meta charset=\"utf-8\">
  1639.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=3\">
  1640.     <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\"/>
  1641.     <script type=\"text/javascript\">(window.NREUM || (NREUM = {})).init = {ajax: {deny_list: [\"bam.nr-data.net\"]}};
  1642.         (window.NREUM || (NREUM = {})).loader_config = {
  1643.             licenseKey: \"NRJS-8c6c895b97ea60d5ee0\",
  1644.             applicationID: \"1333848373\"
  1645.         };
  1646.         window.NREUM || (NREUM = {}), __nr_require = function (t, e, n) {
  1647.             function r(n) {
  1648.                 if (!e[n]) {
  1649.                     var i = e[n] = {exports: {}};
  1650.                     t[n][0].call(i.exports, function (e) {
  1651.                         var i = t[n][1][e];
  1652.                         return r(i || e)
  1653.                     }, i, i.exports)
  1654.                 }
  1655.                 return e[n].exports
  1656.             }
  1657.             if (\"function\" == typeof __nr_require) return __nr_require;
  1658.             for (var i = 0; i < n.length; i++) r(n[i]);
  1659.             return r
  1660.         }({
  1661.             1: [function (t, e, n) {
  1662.                 function r() {
  1663.                 }
  1664.                 function i(t, e, n, r) {
  1665.                     return function () {
  1666.                         return s.recordSupportability(\"API/\" + e + \"/called\"), o(t + e, [u.now()].concat(c(arguments)), n ? null : this, r), n ? void 0 : this
  1667.                     }
  1668.                 }
  1669.                 var o = t(\"handle\"), a = t(9), c = t(10), f = t(\"ee\").get(\"tracer\"), u = t(\"loader\"), s = t(4),
  1670.                     d = NREUM;
  1671.                 \"undefined\" == typeof window.newrelic && (newrelic = d);
  1672.                 var p = [\"setPageViewName\", \"setCustomAttribute\", \"setErrorHandler\", \"finished\", \"addToTrace\", \"inlineHit\", \"addRelease\"],
  1673.                     l = \"api-\", v = l + \"ixn-\";
  1674.                 a(p, function (t, e) {
  1675.                     d[e] = i(l, e, !0, \"api\")
  1676.                 }), d.addPageAction = i(l, \"addPageAction\", !0), d.setCurrentRouteName = i(l, \"routeName\", !0), e.exports = newrelic, d.interaction = function () {
  1677.                     return (new r).get()
  1678.                 };
  1679.                 var m = r.prototype = {
  1680.                     createTracer: function (t, e) {
  1681.                         var n = {}, r = this, i = \"function\" == typeof e;
  1682.                         return o(v + \"tracer\", [u.now(), t, n], r), function () {
  1683.                             if (f.emit((i ? \"\" : \"no-\") + \"fn-start\", [u.now(), r, i], n), i) try {
  1684.                                 return e.apply(this, arguments)
  1685.                             } catch (t) {
  1686.                                 throw f.emit(\"fn-err\", [arguments, this, t], n), t
  1687.                             } finally {
  1688.                                 f.emit(\"fn-end\", [u.now()], n)
  1689.                             }
  1690.                         }
  1691.                     }
  1692.                 };
  1693.                 a(\"actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get\".split(\",\"), function (t, e) {
  1694.                     m[e] = i(v, e)
  1695.                 }), newrelic.noticeError = function (t, e) {
  1696.                     \"string\" == typeof t && (t = new Error(t)), s.recordSupportability(\"API/noticeError/called\"), o(\"err\", [t, u.now(), !1, e])
  1697.                 }
  1698.             }, {}], 2: [function (t, e, n) {
  1699.                 function r(t) {
  1700.                     if (NREUM.init) {
  1701.                         for (var e = NREUM.init, n = t.split(\".\"), r = 0; r < n.length - 1; r++) if (e = e[n[r]], \"object\" != typeof e) return;
  1702.                         return e = e[n[n.length - 1]]
  1703.                     }
  1704.                 }
  1705.                 e.exports = {getConfiguration: r}
  1706.             }, {}], 3: [function (t, e, n) {
  1707.                 var r = !1;
  1708.                 try {
  1709.                     var i = Object.defineProperty({}, \"passive\", {
  1710.                         get: function () {
  1711.                             r = !0
  1712.                         }
  1713.                     });
  1714.                     window.addEventListener(\"testPassive\", null, i), window.removeEventListener(\"testPassive\", null, i)
  1715.                 } catch (o) {
  1716.                 }
  1717.                 e.exports = function (t) {
  1718.                     return r ? {passive: !0, capture: !!t} : !!t
  1719.                 }
  1720.             }, {}], 4: [function (t, e, n) {
  1721.                 function r(t, e) {
  1722.                     var n = [a, t, {name: t}, e];
  1723.                     return o(\"storeMetric\", n, null, \"api\"), n
  1724.                 }
  1725.                 function i(t, e) {
  1726.                     var n = [c, t, {name: t}, e];
  1727.                     return o(\"storeEventMetrics\", n, null, \"api\"), n
  1728.                 }
  1729.                 var o = t(\"handle\"), a = \"sm\", c = \"cm\";
  1730.                 e.exports = {
  1731.                     constants: {SUPPORTABILITY_METRIC: a, CUSTOM_METRIC: c},
  1732.                     recordSupportability: r,
  1733.                     recordCustom: i
  1734.                 }
  1735.             }, {}], 5: [function (t, e, n) {
  1736.                 function r() {
  1737.                     return c.exists && performance.now ? Math.round(performance.now()) : (o = Math.max((new Date).getTime(), o)) - a
  1738.                 }
  1739.                 function i() {
  1740.                     return o
  1741.                 }
  1742.                 var o = (new Date).getTime(), a = o, c = t(11);
  1743.                 e.exports = r, e.exports.offset = a, e.exports.getLastTimestamp = i
  1744.             }, {}], 6: [function (t, e, n) {
  1745.                 function r(t, e) {
  1746.                     var n = t.getEntries();
  1747.                     n.forEach(function (t) {
  1748.                         \"first-paint\" === t.name ? l(\"timing\", [\"fp\", Math.floor(t.startTime)]) : \"first-contentful-paint\" === t.name && l(\"timing\", [\"fcp\", Math.floor(t.startTime)])
  1749.                     })
  1750.                 }
  1751.                 function i(t, e) {
  1752.                     var n = t.getEntries();
  1753.                     if (n.length > 0) {
  1754.                         var r = n[n.length - 1];
  1755.                         if (u && u < r.startTime) return;
  1756.                         var i = [r], o = a({});
  1757.                         o && i.push(o), l(\"lcp\", i)
  1758.                     }
  1759.                 }
  1760.                 function o(t) {
  1761.                     t.getEntries().forEach(function (t) {
  1762.                         t.hadRecentInput || l(\"cls\", [t])
  1763.                     })
  1764.                 }
  1765.                 function a(t) {
  1766.                     var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
  1767.                     if (e) return e.type && (t[\"net-type\"] = e.type), e.effectiveType && (t[\"net-etype\"] = e.effectiveType), e.rtt && (t[\"net-rtt\"] = e.rtt), e.downlink && (t[\"net-dlink\"] = e.downlink), t
  1768.                 }
  1769.                 function c(t) {
  1770.                     if (t instanceof y && !w) {
  1771.                         var e = Math.round(t.timeStamp), n = {type: t.type};
  1772.                         a(n), e <= v.now() ? n.fid = v.now() - e : e > v.offset && e <= Date.now() ? (e -= v.offset, n.fid = v.now() - e) : e = v.now(), w = !0, l(\"timing\", [\"fi\", e, n])
  1773.                     }
  1774.                 }
  1775.                 function f(t) {
  1776.                     \"hidden\" === t && (u = v.now(), l(\"pageHide\", [u]))
  1777.                 }
  1778.                 if (!(\"init\" in NREUM && \"page_view_timing\" in NREUM.init && \"enabled\" in NREUM.init.page_view_timing && NREUM.init.page_view_timing.enabled === !1)) {
  1779.                     var u, s, d, p, l = t(\"handle\"), v = t(\"loader\"), m = t(8), g = t(3), y = NREUM.o.EV;
  1780.                     if (\"PerformanceObserver\" in window && \"function\" == typeof window.PerformanceObserver) {
  1781.                         s = new PerformanceObserver(r);
  1782.                         try {
  1783.                             s.observe({entryTypes: [\"paint\"]})
  1784.                         } catch (h) {
  1785.                         }
  1786.                         d = new PerformanceObserver(i);
  1787.                         try {
  1788.                             d.observe({entryTypes: [\"largest-contentful-paint\"]})
  1789.                         } catch (h) {
  1790.                         }
  1791.                         p = new PerformanceObserver(o);
  1792.                         try {
  1793.                             p.observe({type: \"layout-shift\", buffered: !0})
  1794.                         } catch (h) {
  1795.                         }
  1796.                     }
  1797.                     if (\"addEventListener\" in document) {
  1798.                         var w = !1, b = [\"click\", \"keydown\", \"mousedown\", \"pointerdown\", \"touchstart\"];
  1799.                         b.forEach(function (t) {
  1800.                             document.addEventListener(t, c, g(!1))
  1801.                         })
  1802.                     }
  1803.                     m(f)
  1804.                 }
  1805.             }, {}], 7: [function (t, e, n) {
  1806.                 function r(t, e) {
  1807.                     if (!i) return !1;
  1808.                     if (t !== i) return !1;
  1809.                     if (!o) return !1;
  1810.                     for (var n = o.split(\".\"), r = e.split(\".\"), a = 0; a < r.length; a++) if (r[a] !== n[a]) return !1;
  1811.                     return !0
  1812.                 }
  1813.                 var i = null, o = null, a = /Version\\/(\\S+)\\s+Safari/;
  1814.                 if (navigator.userAgent) {
  1815.                     var c = navigator.userAgent, f = c.match(a);
  1816.                     f && c.indexOf(\"Chrome\") === -1 && c.indexOf(\"Chromium\") === -1 && (i = \"Safari\", o = f[1])
  1817.                 }
  1818.                 e.exports = {agent: i, version: o, match: r}
  1819.             }, {}], 8: [function (t, e, n) {
  1820.                 function r(t) {
  1821.                     function e() {
  1822.                         t(c && document[c] ? document[c] : document[o] ? \"hidden\" : \"visible\")
  1823.                     }
  1824.                     \"addEventListener\" in document && a && document.addEventListener(a, e, i(!1))
  1825.                 }
  1826.                 var i = t(3);
  1827.                 e.exports = r;
  1828.                 var o, a, c;
  1829.                 \"undefined\" != typeof document.hidden ? (o = \"hidden\", a = \"visibilitychange\", c = \"visibilityState\") : \"undefined\" != typeof document.msHidden ? (o = \"msHidden\", a = \"msvisibilitychange\") : \"undefined\" != typeof document.webkitHidden && (o = \"webkitHidden\", a = \"webkitvisibilitychange\", c = \"webkitVisibilityState\")
  1830.             }, {}], 9: [function (t, e, n) {
  1831.                 function r(t, e) {
  1832.                     var n = [], r = \"\", o = 0;
  1833.                     for (r in t) i.call(t, r) && (n[o] = e(r, t[r]), o += 1);
  1834.                     return n
  1835.                 }
  1836.                 var i = Object.prototype.hasOwnProperty;
  1837.                 e.exports = r
  1838.             }, {}], 10: [function (t, e, n) {
  1839.                 function r(t, e, n) {
  1840.                     e || (e = 0), \"undefined\" == typeof n && (n = t ? t.length : 0);
  1841.                     for (var r = -1, i = n - e || 0, o = Array(i < 0 ? 0 : i); ++r < i;) o[r] = t[e + r];
  1842.                     return o
  1843.                 }
  1844.                 e.exports = r
  1845.             }, {}], 11: [function (t, e, n) {
  1846.                 e.exports = {exists: \"undefined\" != typeof window.performance && window.performance.timing && \"undefined\" != typeof window.performance.timing.navigationStart}
  1847.             }, {}], ee: [function (t, e, n) {
  1848.                 function r() {
  1849.                 }
  1850.                 function i(t) {
  1851.                     function e(t) {
  1852.                         return t && t instanceof r ? t : t ? u(t, f, a) : a()
  1853.                     }
  1854.                     function n(n, r, i, o, a) {
  1855.                         if (a !== !1 && (a = !0), !l.aborted || o) {
  1856.                             t && a && t(n, r, i);
  1857.                             for (var c = e(i), f = m(n), u = f.length, s = 0; s < u; s++) f[s].apply(c, r);
  1858.                             var p = d[w[n]];
  1859.                             return p && p.push([b, n, r, c]), c
  1860.                         }
  1861.                     }
  1862.                     function o(t, e) {
  1863.                         h[t] = m(t).concat(e)
  1864.                     }
  1865.                     function v(t, e) {
  1866.                         var n = h[t];
  1867.                         if (n) for (var r = 0; r < n.length; r++) n[r] === e && n.splice(r, 1)
  1868.                     }
  1869.                     function m(t) {
  1870.                         return h[t] || []
  1871.                     }
  1872.                     function g(t) {
  1873.                         return p[t] = p[t] || i(n)
  1874.                     }
  1875.                     function y(t, e) {
  1876.                         l.aborted || s(t, function (t, n) {
  1877.                             e = e || \"feature\", w[n] = e, e in d || (d[e] = [])
  1878.                         })
  1879.                     }
  1880.                     var h = {}, w = {}, b = {
  1881.                         on: o,
  1882.                         addEventListener: o,
  1883.                         removeEventListener: v,
  1884.                         emit: n,
  1885.                         get: g,
  1886.                         listeners: m,
  1887.                         context: e,
  1888.                         buffer: y,
  1889.                         abort: c,
  1890.                         aborted: !1
  1891.                     };
  1892.                     return b
  1893.                 }
  1894.                 function o(t) {
  1895.                     return u(t, f, a)
  1896.                 }
  1897.                 function a() {
  1898.                     return new r
  1899.                 }
  1900.                 function c() {
  1901.                     (d.api || d.feature) && (l.aborted = !0, d = l.backlog = {})
  1902.                 }
  1903.                 var f = \"nr@context\", u = t(\"gos\"), s = t(9), d = {}, p = {}, l = e.exports = i();
  1904.                 e.exports.getOrSetContext = o, l.backlog = d
  1905.             }, {}], gos: [function (t, e, n) {
  1906.                 function r(t, e, n) {
  1907.                     if (i.call(t, e)) return t[e];
  1908.                     var r = n();
  1909.                     if (Object.defineProperty && Object.keys) try {
  1910.                         return Object.defineProperty(t, e, {value: r, writable: !0, enumerable: !1}), r
  1911.                     } catch (o) {
  1912.                     }
  1913.                     return t[e] = r, r
  1914.                 }
  1915.                 var i = Object.prototype.hasOwnProperty;
  1916.                 e.exports = r
  1917.             }, {}], handle: [function (t, e, n) {
  1918.                 function r(t, e, n, r) {
  1919.                     i.buffer([t], r), i.emit(t, e, n)
  1920.                 }
  1921.                 var i = t(\"ee\").get(\"handle\");
  1922.                 e.exports = r, r.ee = i
  1923.             }, {}], id: [function (t, e, n) {
  1924.                 function r(t) {
  1925.                     var e = typeof t;
  1926.                     return !t || \"object\" !== e && \"function\" !== e ? -1 : t === window ? 0 : a(t, o, function () {
  1927.                         return i++
  1928.                     })
  1929.                 }
  1930.                 var i = 1, o = \"nr@id\", a = t(\"gos\");
  1931.                 e.exports = r
  1932.             }, {}], loader: [function (t, e, n) {
  1933.                 function r() {
  1934.                     if (!M++) {
  1935.                         var t = T.info = NREUM.info, e = m.getElementsByTagName(\"script\")[0];
  1936.                         if (setTimeout(u.abort, 3e4), !(t && t.licenseKey && t.applicationID && e)) return u.abort();
  1937.                         f(x, function (e, n) {
  1938.                             t[e] || (t[e] = n)
  1939.                         });
  1940.                         var n = a();
  1941.                         c(\"mark\", [\"onload\", n + T.offset], null, \"api\"), c(\"timing\", [\"load\", n]);
  1942.                         var r = m.createElement(\"script\");
  1943.                         0 === t.agent.indexOf(\"http://\") || 0 === t.agent.indexOf(\"https://\") ? r.src = t.agent : r.src = l + \"://\" + t.agent, e.parentNode.insertBefore(r, e)
  1944.                     }
  1945.                 }
  1946.                 function i() {
  1947.                     \"complete\" === m.readyState && o()
  1948.                 }
  1949.                 function o() {
  1950.                     c(\"mark\", [\"domContent\", a() + T.offset], null, \"api\")
  1951.                 }
  1952.                 var a = t(5), c = t(\"handle\"), f = t(9), u = t(\"ee\"), s = t(7), d = t(2), p = t(3),
  1953.                     l = d.getConfiguration(\"ssl\") === !1 ? \"http\" : \"https\", v = window, m = v.document,
  1954.                     g = \"addEventListener\", y = \"attachEvent\", h = v.XMLHttpRequest, w = h && h.prototype, b = !1;
  1955.                 NREUM.o = {
  1956.                     ST: setTimeout,
  1957.                     SI: v.setImmediate,
  1958.                     CT: clearTimeout,
  1959.                     XHR: h,
  1960.                     REQ: v.Request,
  1961.                     EV: v.Event,
  1962.                     PR: v.Promise,
  1963.                     MO: v.MutationObserver
  1964.                 };
  1965.                 var E = \"\" + location, x = {
  1966.                     beacon: \"bam.nr-data.net\",
  1967.                     errorBeacon: \"bam.nr-data.net\",
  1968.                     agent: \"js-agent.newrelic.com/nr-1216.min.js\"
  1969.                 }, O = h && w && w[g] && !/CriOS/.test(navigator.userAgent), T = e.exports = {
  1970.                     offset: a.getLastTimestamp(),
  1971.                     now: a,
  1972.                     origin: E,
  1973.                     features: {},
  1974.                     xhrWrappable: O,
  1975.                     userAgent: s,
  1976.                     disabled: b
  1977.                 };
  1978.                 if (!b) {
  1979.                     t(1), t(6), m[g] ? (m[g](\"DOMContentLoaded\", o, p(!1)), v[g](\"load\", r, p(!1))) : (m[y](\"onreadystatechange\", i), v[y](\"onload\", r)), c(\"mark\", [\"firstbyte\", a.getLastTimestamp()], null, \"api\");
  1980.                     var M = 0
  1981.                 }
  1982.             }, {}], \"wrap-function\": [function (t, e, n) {
  1983.                 function r(t, e) {
  1984.                     function n(e, n, r, f, u) {
  1985.                         function nrWrapper() {
  1986.                             var o, a, s, p;
  1987.                             try {
  1988.                                 a = this, o = d(arguments), s = \"function\" == typeof r ? r(o, a) : r || {}
  1989.                             } catch (l) {
  1990.                                 i([l, \"\", [o, a, f], s], t)
  1991.                             }
  1992.                             c(n + \"start\", [o, a, f], s, u);
  1993.                             try {
  1994.                                 return p = e.apply(a, o)
  1995.                             } catch (v) {
  1996.                                 throw c(n + \"err\", [o, a, v], s, u), v
  1997.                             } finally {
  1998.                                 c(n + \"end\", [o, a, p], s, u)
  1999.                             }
  2000.                         }
  2001.                         return a(e) ? e : (n || (n = \"\"), nrWrapper[p] = e, o(e, nrWrapper, t), nrWrapper)
  2002.                     }
  2003.                     function r(t, e, r, i, o) {
  2004.                         r || (r = \"\");
  2005.                         var c, f, u, s = \"-\" === r.charAt(0);
  2006.                         for (u = 0; u < e.length; u++) f = e[u], c = t[f], a(c) || (t[f] = n(c, s ? f + r : r, i, f, o))
  2007.                     }
  2008.                     function c(n, r, o, a) {
  2009.                         if (!v || e) {
  2010.                             var c = v;
  2011.                             v = !0;
  2012.                             try {
  2013.                                 t.emit(n, r, o, e, a)
  2014.                             } catch (f) {
  2015.                                 i([f, n, r, o], t)
  2016.                             }
  2017.                             v = c
  2018.                         }
  2019.                     }
  2020.                     return t || (t = s), n.inPlace = r, n.flag = p, n
  2021.                 }
  2022.                 function i(t, e) {
  2023.                     e || (e = s);
  2024.                     try {
  2025.                         e.emit(\"internal-error\", t)
  2026.                     } catch (n) {
  2027.                     }
  2028.                 }
  2029.                 function o(t, e, n) {
  2030.                     if (Object.defineProperty && Object.keys) try {
  2031.                         var r = Object.keys(t);
  2032.                         return r.forEach(function (n) {
  2033.                             Object.defineProperty(e, n, {
  2034.                                 get: function () {
  2035.                                     return t[n]
  2036.                                 }, set: function (e) {
  2037.                                     return t[n] = e, e
  2038.                                 }
  2039.                             })
  2040.                         }), e
  2041.                     } catch (o) {
  2042.                         i([o], n)
  2043.                     }
  2044.                     for (var a in t) l.call(t, a) && (e[a] = t[a]);
  2045.                     return e
  2046.                 }
  2047.                 function a(t) {
  2048.                     return !(t && t instanceof Function && t.apply && !t[p])
  2049.                 }
  2050.                 function c(t, e) {
  2051.                     var n = e(t);
  2052.                     return n[p] = t, o(t, n, s), n
  2053.                 }
  2054.                 function f(t, e, n) {
  2055.                     var r = t[e];
  2056.                     t[e] = c(r, n)
  2057.                 }
  2058.                 function u() {
  2059.                     for (var t = arguments.length, e = new Array(t), n = 0; n < t; ++n) e[n] = arguments[n];
  2060.                     return e
  2061.                 }
  2062.                 var s = t(\"ee\"), d = t(10), p = \"nr@original\", l = Object.prototype.hasOwnProperty, v = !1;
  2063.                 e.exports = r, e.exports.wrapFunction = c, e.exports.wrapInPlace = f, e.exports.argsToArray = u
  2064.             }, {}]
  2065.         }, {}, [\"loader\"]);</script>
  2066.     <meta property=\"og:type\" content=\"WorkDispo\"/>
  2067.     <meta property=\"og:image\"
  2068.           content=\"{{ asset( publication.publicationImage ? 'uploads/img/'~publication.publicationImage.path : 'images/blog-04.jpg') }}\">
  2069.     <meta name=\"description\" content=\"{{ publication.description }}\">
  2070.     <meta name=\"keywords\" content=\"{{ publication.keywodrs }}\">
  2071.     <meta property=\"og:title\" content=\"{{ publication.title }}\"/>
  2072.     {% if publication.updatedAt %}
  2073.         <meta name=\"revised\" content=\"{{ publication.updatedAt|date('d/m/Y') }}\"/>
  2074.     {% else %}
  2075.         <meta name=\"revised\" content=\"{{ publication.createdAt|date('d/m/Y') }}\"/>
  2076.     {% endif %}
  2077. {% endblock %}
  2078. {% block stylesheets %}
  2079.     <style>
  2080.         .blog-post-content h1 {
  2081.             color: black !important;
  2082.         }
  2083.         .mobile-device {
  2084.             display: none;
  2085.         }
  2086.         .large-device {
  2087.             display: block;
  2088.         }
  2089.         .ez-toc-link {
  2090.             position: relative;
  2091.             padding-left: 24px; /* Adjust based on the width of the icon */
  2092.             text-decoration: none; /* Remove underline */
  2093.             color: blue; /* Default color */
  2094.         }
  2095.         .ez-toc-link .icon {
  2096.             position: absolute;
  2097.             left: 0;
  2098.             top: 50%;
  2099.             transform: translateY(-50%);
  2100.             display: none; /* Hide icon by default */
  2101.             fill: #2a41e8;
  2102.         }
  2103.         .ez-toc-link.active .icon,
  2104.         .ez-toc-link.visited .icon {
  2105.             display: block; /* Show icon when active or visited */
  2106.         }
  2107.         .ez-toc-link.active {
  2108.             color: blue; /* Color when active */
  2109.         }
  2110.         .ez-toc-link.active a {
  2111.             color: #2a41e8;
  2112.         }
  2113.         .ez-toc-link.visited {
  2114.             color: gray; /* Color when visited */
  2115.         }
  2116.         .sidebar-sticky {
  2117.             overflow-y: hidden;
  2118.         }
  2119.         .toc-title {
  2120.             color: #000000;
  2121.             font-size: 1.8rem;
  2122.             font-weight: 700;
  2123.             text-align: center;
  2124.             margin-bottom: 1.5rem;
  2125.         }
  2126.         .ez-toc-container-direction {
  2127.             display: flex;
  2128.             flex-direction: column;
  2129.             height: 100%;
  2130.         }
  2131.         .toc-content {
  2132.             overflow: hidden; /* Cache la scrollbar horizontale */
  2133.         }
  2134.         .ez-toc-list {
  2135.             max-height: 200px; /* Définissez la hauteur maximale de la liste défilante selon votre besoin */
  2136.             overflow-y: auto; /* Permet le défilement vertical */
  2137.             padding-right: 15px; /* Pour compenser la disparition de la scrollbar */
  2138.             scrollbar-width: none; /* Cacher la scrollbar pour Firefox */
  2139.         }
  2140.         #sidebar-container::-webkit-scrollbar {
  2141.             /*display: none; !* Cacher la scrollbar pour les navigateurs Webkit *!*/
  2142.         }
  2143.         .sidebar-sticky {
  2144.             border: 3px solid #f1f1f1;
  2145.             border-radius: 10px;
  2146.             padding: 20px 0 10px 0;
  2147.             margin-bottom: 8px;
  2148.             position: sticky;
  2149.             top: 14%;
  2150.         }
  2151.         #sidebar-container {
  2152.             max-height: 230px !important;
  2153.         }
  2154.         .toc-container {
  2155.             overflow-y: scroll;
  2156.         }
  2157.         .ez-toc-list::-webkit-scrollbar {
  2158.             display: none;
  2159.         }
  2160.         .ez-toc-list li {
  2161.             list-style: none;
  2162.             position: relative;
  2163.             padding-left: 25px;
  2164.             margin-bottom: 10px;
  2165.         }
  2166.         .ez-toc-page-1 a.ez-toc-link {
  2167.             color: gray;
  2168.             text-decoration: none; /* Enlève la décoration du texte (soulignement) */
  2169.             font-size: medium;
  2170.         }
  2171.         .ez-toc-page-1 a.ez-toc-link.active {
  2172.             color: #2a41e8;
  2173.         }
  2174.         div.clicked-link a {
  2175.             color: grey;
  2176.             opacity: 0.8;
  2177.         }
  2178.         /*.ez-toc-list li:before {*/
  2179.         /*    content: \"\\f00c\"; !* Code Unicode pour l'icône de coche de Font Awesome *!*/
  2180.         /*    font-family: \"Font Awesome 5 Free\"; !* Police de Font Awesome *!*/
  2181.         /*    font-weight: 900; !* Pour la version solide de l'icône *!*/
  2182.         /*    color: green; !* Couleur de l'icône, vous pouvez la changer selon vos besoins *!*/
  2183.         /*    position: absolute;*/
  2184.         /*    left: 0;*/
  2185.         /*    top: 0;*/
  2186.         /*}*/
  2187.         .widget-content {
  2188.             position: relative;
  2189.         }
  2190.         .breadcrumb-container {
  2191.             font-size: 11px;
  2192.             color: white;
  2193.             position: absolute;
  2194.             top: 0px; /* Ajustez la valeur selon votre besoin */
  2195.             left: 10px; /* Ajustez la valeur selon votre besoin */
  2196.             z-index: 100; /* Assurez-vous que cette valeur est plus élevée que celle de l'image */
  2197.         }
  2198.         .breadcrumb {
  2199.             /*background-color: white;*/
  2200.             padding: 10px 16px;
  2201.             list-style: none;
  2202.             display: flex;
  2203.             align-items: center;
  2204.             border-radius: 5px; /* Ajoutez des bordures arrondies si nécessaire */
  2205.         }
  2206.         .breadcrumb-item a {
  2207.             color: white; /* Couleur du texte du lien */
  2208.             text-decoration: none; /* Supprime le soulignement du lien */
  2209.             cursor: pointer; /* Assure que le curseur devient une main */
  2210.         }
  2211.         .breadcrumb-item a:hover {
  2212.             text-decoration: none; /* Soulignement au survol */
  2213.         }
  2214.         .breadcrumb-item.active {
  2215.             color: white; /* Couleur du texte pour l'élément actif */
  2216.             font-size: 12px;
  2217.             text-decoration: underline;
  2218.             text-decoration-color: blue; /* Couleur du soulignement */
  2219.             text-decoration-thickness: 2px; /* Épaisseur du soulignement */
  2220.             text-underline-offset: 4px; /* Espace entre le texte et le soulignement */
  2221.         }
  2222.         .breadcrumb-item.active a {
  2223.             text-decoration: none; /* Supprime le soulignement pour l'élément actif */
  2224.             cursor: default; /* Coursur de texte pour l'élément actif */
  2225.         }
  2226.         .blog-post-content ol {
  2227.             margin: 0 0 0 20px !important;
  2228.         }
  2229.         .blog-post-content h2 {
  2230.             font-weight: bold;
  2231.             scroll-margin-top: 80px; /* Pour que le scroll auto s'arrête juste au début du h2 */
  2232.         }
  2233.         .blog-post-content h3 {
  2234.             color: black !important;
  2235.             font-size: 20px !important;
  2236.             font-weight: bold;
  2237.             display: inline-block; /* Assure que l'élément h3 ne prend que la largeur nécessaire */
  2238.             text-decoration: underline; /* Soulignement du texte */
  2239.             text-decoration-color: #2a41e8; /* Couleur du soulignement */
  2240.             text-underline-position: under;
  2241.         }
  2242.         .closeButtonContainer {
  2243.             display: flex;
  2244.             justify-content: flex-end;
  2245.         }
  2246.         .scroll-block {
  2247.             position: fixed;
  2248.             bottom: 0; /* Initially hidden below the screen */
  2249.             left: 5%;
  2250.             width: 90%;
  2251.             background-color: #333;
  2252.             color: #fff;
  2253.             padding: 12px 20px 41px 20px;
  2254.             transition: bottom 0.3s ease; /* Smooth transition for hiding */
  2255.             transform: translateY(100%); /* Le bloc est déplacé vers le bas de l'écran */
  2256.             display: none;
  2257.         }
  2258.         .visible {
  2259.             transform: translateY(0);
  2260.         }
  2261.         .hidden {
  2262.             transform: translateY(100%);
  2263.         }
  2264.         .hidden_btn {
  2265.             transform: translateY(100%) !important;
  2266.         }
  2267.         @media only screen and (max-width: 500px) {
  2268.             #wrapper {
  2269.                 width: -webkit-fill-available;
  2270.             }
  2271.             .sidebar-sticky {
  2272.                 position: static !important;
  2273.                 margin-bottom: 1rem;
  2274.             }
  2275.             .ez-toc-list li {
  2276.                 list-style-type: none !important; /* Remove bullets from the list */
  2277.                 padding-left: 9px !important; /* Remove padding from the list */
  2278.             }
  2279.             .mobile-device {
  2280.                 display: block;
  2281.             }
  2282.             .large-device {
  2283.                 display: none;
  2284.             }
  2285.             .scroll-block {
  2286.                 display: block;
  2287.                 border-radius: 20px;
  2288.                 background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://www.abcportage.fr/wp-content/themes/abcportage/assets/build/img/img_cta_right_small.jpg);
  2289.                 background-size: cover;
  2290.                 color: white;
  2291.                 z-index: 200 !important;
  2292.                 flex-direction: column;
  2293.                 margin-bottom: -12px;
  2294.             }
  2295.         }
  2296.         .btn-mission-spec {
  2297.             border-radius: 50px !important;
  2298.             padding: 12px 24px !important;
  2299.             font-size: 20px !important;
  2300.             font-weight: 500 !important;
  2301.             background-clip: padding-box;
  2302.             background-color: rgb(33 99 139) !important;
  2303.         }
  2304.         .btn-mission-spec-flottant {
  2305.             border-radius: 50px !important;
  2306.             padding: 10px 24px !important;
  2307.             font-size: 20px !important;
  2308.             font-weight: 500 !important;
  2309.             background-clip: padding-box;
  2310.             background-color: #2a41e8 !important;
  2311.         }
  2312.         #breadcrumbs {
  2313.             transform: translateY(-190%);
  2314.             right: 1.2% !important;
  2315.         }
  2316.         #breadcrumbs ul {
  2317.             display: flex;
  2318.         }
  2319.         .btn-mission-spec:hover {
  2320.             background-color: #2a41e8 !important; /* Utilisation de RGBA avec une opacité de 1 (complètement opaque) */
  2321.         }
  2322.         .spec-breadcrumbs {
  2323.             bottom: -5rem !important;
  2324.             top: auto !important;
  2325.         }
  2326.         .end-list-crumbs::before {
  2327.             display: none !important;
  2328.         }
  2329.         .blog-post-content ul {
  2330.             list-style-type: none; /* Supprimer les puces par défaut */
  2331.         }
  2332.         .blog-post-content ul li::before {
  2333.             content: \"\\2022\"; /* Code Unicode pour un point (•) */
  2334.             color: #2a41e8; /* Couleur bleue pour les puces */
  2335.             display: inline-block;
  2336.             width: 1em; /* Espacement entre la puce et le texte */
  2337.             margin-left: -1em; /* Pour aligner la puce avec le texte */
  2338.         }
  2339.         .blog-post-content ol {
  2340.             list-style-type: decimal; /* Style de numéro par défaut pour les listes ordonnées */
  2341.         }
  2342.         /* Styles pour les listes ordonnées */
  2343.         .blog-post-content ol {
  2344.             list-style-type: none; /* Supprimer les numéros par défaut */
  2345.             margin: 0; /* Supprimer les marges */
  2346.             padding: 0; /* Supprimer les paddings */
  2347.         }
  2348.         .blog-post-content ol::marker {
  2349.             color: #2a41e8; /* Couleur bleue pour les numéros */
  2350.         }
  2351.         .blog-post-content ol > li {
  2352.             counter-increment: my-counter;
  2353.         }
  2354.         .blog-post-content ol > li::before {
  2355.             content: counter(my-counter) \".\"; /* Utiliser le compteur pour les listes ordonnées avec un point */
  2356.             color: #2a41e8; /* Couleur bleue pour les numéros */
  2357.             font-weight: bold; /* Pour rendre les numéros en gras */
  2358.             margin-right: 0.5em; /* Espacement entre le numéro et le texte */
  2359.         }
  2360.         .blog-post-content ol > li > *:first-child {
  2361.             display: contents; /* Appliquer display: contents; à la première balise enfant de chaque li */
  2362.         }
  2363.         .blog-post-content h1,
  2364.         .blog-post-content h2,
  2365.         .blog-post-content h3 {
  2366.             color: #2a41e8;
  2367.         }
  2368.         .widget-content.active:before, .widget-content:hover:before {
  2369.             opacity: 0.8 !important;
  2370.         }
  2371.         @media (max-width: 980px) {
  2372.             .spec {
  2373.                 flex-basis: 100% !important;
  2374.                 max-width: 100% !important;
  2375.             }
  2376.             .spec:last-child {
  2377.                 margin-top: 16px !important; /* Ajoute une marge supérieure de 16px uniquement au dernier élément spécifique */
  2378.             }
  2379.             .spec-breadcrumbs {
  2380.                 bottom: auto !important;
  2381.                 top: 50% !important;
  2382.             }
  2383.             .article-right-flottant {
  2384.                 max-width: 100% !important;
  2385.                 margin: 0 !important;
  2386.                 padding: 1rem 2rem !important;
  2387.             }
  2388.             .blog-post.single-post.spec {
  2389.                 margin: 3rem 0rem !important;
  2390.             }
  2391.             #breadcrumbs {
  2392.                 transform: translateY(-20%) translateX(-26px);
  2393.             }
  2394.             .blog-post.single-post .blog-post-thumbnail {
  2395.                 width: 100%;
  2396.                 height: 250px;
  2397.             }
  2398.         }
  2399.         @media screen and (max-width: 500px) {
  2400.             .blog-post-content h1 {
  2401.                 font-size: 46px !important;
  2402.             }
  2403.             .blog-post-content {
  2404.                 padding: 32px;
  2405.             }
  2406.             .blog-post-content ul {
  2407.                 padding-inline-start: 20px;
  2408.             }
  2409.             .blog-post, .single-page-header .header-image {
  2410.                 box-shadow: none !important;
  2411.             }
  2412.             #breadcrumbs {
  2413.                 font-size: 12px !important;
  2414.             }
  2415.             .blog-post.single-post.spec {
  2416.                 margin: 0 !important;
  2417.             }
  2418.             .blog-post-content {
  2419.                 padding: 20px 2rem !important;
  2420.             }
  2421.         }
  2422.     </style>
  2423. {% endblock %}
  2424. {% block body %}
  2425.     <div class=\"container\">
  2426.         <div class=\"row\">
  2427.             <div class=\"col-md-12 margin-bottom-16 margin-top-16\" style=\"padding: 0 32px;\">
  2428.                 <div class=\"widget-content active text-center\" style=\"border-radius: 20px;position:relative\">
  2429.                     <img src={{ asset('uploads/img/6287a440d1176.jpg') }} alt=\"\">
  2430.                     <div class=\"overlay\"></div>
  2431.                     <nav aria-label=\"breadcrumb\" class=\"breadcrumb-container\">
  2432.                         <ol class=\"breadcrumb\">
  2433.                             <li class=\"breadcrumb-item\"><a href=\"{{ path('homepage') }}\">Accueil</a></li>
  2434.                             &nbsp;>&nbsp;
  2435.                             <li class=\"breadcrumb-item active\" aria-current=\"page\">{{ publication.breadcrumbs }}</li>
  2436.                         </ol>
  2437.                     </nav>
  2438.                     <div class=\"widget-text\">
  2439.                         <p style=\"font-size: 30px; line-height: 45px; color: white; font-weight: 600;\">Offres d'emploi et missions freelance sans commission en France</p>
  2440.                         <a href=\"{{ not is_granted('ROLE_ADMIN') and is_granted('ROLE_FREELANCE') and app.user.uniqueProfile.id == null ? '#complete-cv-dialog' : path('offre_search') }}\">
  2441.                             <span class=\"btn-mission-spec\">Voir les offres</span>
  2442.                         </a>
  2443.                     </div>
  2444.                 </div>
  2445.             </div>
  2446.             {#             <div class=\"col-md-12\"> #}
  2447.             {#                 <nav id=\"breadcrumbs\" class=\"dark spec-breadcrumbs\" #}
  2448.             {#                      style=\"top: 0;right: 16px;bottom: -5rem;\"> #}
  2449.             {#                     <ul> #}
  2450.             {#                         <li><a href=\"/\">Accueil</a></li> #}
  2451.             {#                         {% if publication.breadcrumbs %} #}
  2452.             {#                             <li>{{ publication.breadcrumbs }}</li> #}
  2453.             {#                         {% endif %} #}
  2454.             {#                     </ul> #}
  2455.             {#                 </nav> #}
  2456.             {#             </div> #}
  2457.         </div>
  2458.         <div class=\"row d-flex flex-wrap margin-bottom-16\">
  2459.             <div class=\"blog-post single-post spec\"
  2460.                  style=\"border-radius: 20px; flex: 2; margin: 0 1rem; -webkit-box-flex: 2;max-width: calc(66.666% - 2rem);\">
  2461.                 <!-- Blog Post Content -->
  2462.                 <div class=\"blog-post-content\">
  2463.                     <h1 class=\"margin-bottom-10\"
  2464.                         style=\"line-height: 1.2;font-size: 50px\">{{ publication.bigtitle }}</h1>
  2465.                     <div class=\"blog-post-info-list margin-bottom-20\">
  2466.                             <span class=\"meta-date blog-post-info \"
  2467.                                   style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  2468.                                     style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  2469.                                     height=\"16\"
  2470.                                     xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  2471.                                         d=\"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z\"/></svg> <span> {% set trans_month_hash = {
  2472.                                         \"January\": \"Janvier\",
  2473.                                         \"February\": \"Février\",
  2474.                                         \"March\": \"Mars\",
  2475.                                         \"April\": \"Avril\",
  2476.                                         \"May\": \"Mai\",
  2477.                                         \"June\": \"Juin\",
  2478.                                         \"July\": \"Juillet\",
  2479.                                         \"August\": \"Août\",
  2480.                                         \"September\": \"Septembre\",
  2481.                                         \"October\": \"Octobre\",
  2482.                                         \"November\": \"Novembre\",
  2483.                                         \"December\": \"Décembre\"
  2484.                                     } %}{% if publication.getUpdatedAt() is empty or publication.getCreatedAt() == publication.getUpdatedAt() %}Publiée le {{ publication.getCreatedAt()|date(\"d\") }} {{ trans_month_hash[publication.getCreatedAt()|date(\"F\")] }} {{ publication.getCreatedAt()|date(\"Y\") }}{% else %}Mis à jour le {{ publication.getUpdatedAt()|date(\"d\") }} {{ trans_month_hash[publication.getUpdatedAt()|date(\"F\")] }} {{ publication.getUpdatedAt()|date(\"Y\") }}{% endif %}</span></span>
  2485.                         <span class=\"meta-views blog-post-info \"
  2486.                               style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  2487.                                 style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  2488.                                 height=\"16\"
  2489.                                 xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  2490.                                     d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg><span>{{ publication.view }} vues</span></span>
  2491.                         <span class=\"meta-rtime blog-post-info \"
  2492.                               style=\"width: fit-content;font-size: 12px;padding: 1px 5px;\"><svg
  2493.                                 style=\"margin-right: 5px;vertical-align: sub;opacity: 0.3\" width=\"16\"
  2494.                                 height=\"16\"
  2495.                                 xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path
  2496.                                     d=\"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"/></svg><span>{{ publication.rtTime }}min</span></span>
  2497.                     </div>
  2498.                     <div class=\"sidebar-sticky mobile-device\" style=\"height: 260px;\">
  2499.                         <div id=\"sidebar-container\" class=\"sidebar-content toc-wrapper\">
  2500.                             <div class=\"toc-title-container\">
  2501.                                 <p class=\"toc-title\">
  2502.                                     Sommaire
  2503.                                 </p>
  2504.                             </div>
  2505.                             <div id=\"toc-container\" class=\"toc-content\">
  2506.                                 <div id=\"ez-toc-container\"
  2507.                                      class=\"ez-toc-v2_0_37 counter-flat ez-toc-counter ez-toc-grey ez-toc-container-direction\">
  2508.                                     <div class=\"ez-toc-title-container\">
  2509.                                                      <span class=\"ez-toc-title-toggle\"><a
  2510.                                                              class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\"
  2511.                                                              style=\"display: none;\"><span
  2512.                                                                  style=\"display: flex;align-items: center;width: 35px;height: 30px;justify-content: center;\"><svg
  2513.                                                                      style=\"fill: #999;color:#999\"
  2514.                                                                      xmlns=\"http://www.w3.org/2000/svg\"
  2515.                                                                      class=\"list-377408\" width=\"20px\" height=\"20px\"
  2516.                                                                      viewBox=\"0 0 24 24\"
  2517.                                                                      fill=\"none\"><path
  2518.                                                                          d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\"
  2519.                                                                          fill=\"currentColor\"></path></svg><svg
  2520.                                                                      style=\"fill: #999;color:#999\"
  2521.                                                                      class=\"arrow-unsorted-368013\"
  2522.                                                                      xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\"
  2523.                                                                      height=\"10px\"
  2524.                                                                      viewBox=\"0 0 24 24\" version=\"1.2\"
  2525.                                                                      baseProfile=\"tiny\"><path
  2526.                                                                          d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"></path></svg></span></a></span>
  2527.                                     </div>
  2528.                                     <nav>
  2529.                                         {% set h2_titles = publication.content|extract_h2 %}
  2530.                                         <ul class=\"ez-toc-list ez-toc-list-level-1\"
  2531.                                             style=\"margin-bottom: 0 !important;    padding-left: 0 !important;\">
  2532.                                             {% for title in h2_titles %}
  2533.                                                 {% set anchor = title|slugify %}
  2534.                                                 <li class=\"ez-toc-page-1\">
  2535.                                                     <a onclick=\"applyStyle(this)\" class=\"ez-toc-link\"
  2536.                                                        href=\"#{{ anchor }}\"
  2537.                                                        title=\"{{ title }}\">
  2538.                                                         <svg class=\"icon\" style=\"fill: #2a41e8 ;margin-right: 5px\"
  2539.                                                              width=\"16\" height=\"16\"
  2540.                                                              xmlns=\"http://www.w3.org/2000/svg\"
  2541.                                                              viewBox=\"0 0 448 512\">
  2542.                                                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  2543.                                                             <path
  2544.                                                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  2545.                                                         </svg> {% if title|length > 30 %}
  2546.                                                             {{ title|slice(0, 30) }}...
  2547.                                                         {% else %}
  2548.                                                             {{ title }}
  2549.                                                         {% endif %}</a>
  2550.                                                 </li>
  2551.                                             {% endfor %}
  2552.                                         </ul>
  2553.                                     </nav>
  2554.                                 </div>
  2555.                             </div>
  2556.                             <div class=\"toc-footer\">
  2557.                                 <div class=\"social-section\">
  2558.                                     <a href=\"https://www.linkedin.com/sharing/share-offsite/?url=https://reassurez-moi.fr/guide/banque\"
  2559.                                        target=\"_blank\">
  2560.                                         <i class=\"fa-brands fa-linkedin-in\" aria-hidden=\"true\"></i>
  2561.                                     </a>
  2562.                                     <a href=\"https://twitter.com/share?url=https://reassurez-moi.fr/guide/banque\"
  2563.                                        target=\"_blank\">
  2564.                                         <i class=\"fa-brands fa-twitter\" aria-hidden=\"true\"></i>
  2565.                                     </a>
  2566.                                 </div>
  2567.                             </div>
  2568.                         </div>
  2569.                         <div id=\"fix-sidebar-content\" class=\"mt-2\"></div>
  2570.                         <div id=\"sidebar-advertblock-container\" class=\"mt-2\"></div>
  2571.                     </div>
  2572.                     <!-- Post Thumbnail -->
  2573.                     <div class=\"blog-post-thumbnail\">
  2574.                         <div class=\"blog-post-thumbnail-inner\">
  2575.                             <img
  2576.                                 src=\"{{ asset( publication.publicationImage ? 'uploads/img/'~publication.publicationImage.path : 'images/blog-04.jpg') }}\"
  2577.                                 alt=\"{{ publication.publicationImage ? publication.publicationImage.name : '' }}\">
  2578.                         </div>
  2579.                     </div>
  2580.                     <!--  Post Content -->
  2581.                     {% set publication_content_with_anchors =publication.content|add_h2_anchors %}
  2582.                     <!-- Blog Post Content -->
  2583.                     {{ publication_content_with_anchors  | replace({'<li><p>': '<li>', '</p></li>': '</li>'})
  2584.                     | replace({'https://www.freelance-dispo.fr': 'https://www.workdispo.com'})
  2585.                     | raw }}
  2586.                     {#                    {{ publication.content | replace({'<li><p>': '<li>', '</p></li>': '</li>'}) | raw }} #}
  2587.                     <!-- Share Buttons -->
  2588.                     {% include 'common/social_share.html.twig' %}
  2589.                 </div>
  2590.             </div>
  2591.             <div class=\"article-right-flottant\"
  2592.                  style=\"border-radius: 20px; flex: 1; margin: 0; -webkit-box-flex: 1;max-width: calc(33.333% - 2rem);padding:  0;position: relative;\">
  2593.                 <div class=\"margin-bottom-4\">
  2594.                     <script src=\"https://platform.linkedin.com/in.js\"
  2595.                             type=\"text/javascript\"> lang: fr_FR</script>
  2596.                     <script type=\"IN/FollowCompany\" data-id=\"35595945\"
  2597.                             data-counter=\"right\"></script>
  2598.                 </div>
  2599.                 <div class=\"sidebar-sticky large-device\" style=\"height: 260px;\">
  2600.                     <div id=\"sidebar-container\" class=\"sidebar-content toc-wrapper\">
  2601.                         <div class=\"toc-title-container\">
  2602.                             <p class=\"toc-title\">
  2603.                                 Sommaire
  2604.                             </p>
  2605.                         </div>
  2606.                         <div id=\"toc-container\" class=\"toc-content\">
  2607.                             <div id=\"ez-toc-container\"
  2608.                                  class=\"ez-toc-v2_0_37 counter-flat ez-toc-counter ez-toc-grey ez-toc-container-direction\">
  2609.                                 <div class=\"ez-toc-title-container\">
  2610.                                                      <span class=\"ez-toc-title-toggle\"><a
  2611.                                                              class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\"
  2612.                                                              style=\"display: none;\"><span
  2613.                                                                  style=\"display: flex;align-items: center;width: 35px;height: 30px;justify-content: center;\"><svg
  2614.                                                                      style=\"fill: #999;color:#999\"
  2615.                                                                      xmlns=\"http://www.w3.org/2000/svg\"
  2616.                                                                      class=\"list-377408\" width=\"20px\" height=\"20px\"
  2617.                                                                      viewBox=\"0 0 24 24\"
  2618.                                                                      fill=\"none\"><path
  2619.                                                                          d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\"
  2620.                                                                          fill=\"currentColor\"></path></svg><svg
  2621.                                                                      style=\"fill: #999;color:#999\"
  2622.                                                                      class=\"arrow-unsorted-368013\"
  2623.                                                                      xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\"
  2624.                                                                      height=\"10px\"
  2625.                                                                      viewBox=\"0 0 24 24\" version=\"1.2\"
  2626.                                                                      baseProfile=\"tiny\"><path
  2627.                                                                          d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"></path></svg></span></a></span>
  2628.                                 </div>
  2629.                                 <nav>
  2630.                                     {% set h2_titles = publication.content|extract_h2 %}
  2631.                                     <ul class=\"ez-toc-list ez-toc-list-level-1\"
  2632.                                         style=\"margin-bottom: 0 !important;    padding-left: 0 !important;\">
  2633.                                         {% for title in h2_titles %}
  2634.                                             {% set anchor = title|slugify %}
  2635.                                             <li class=\"ez-toc-page-1\">
  2636.                                                 <a onclick=\"applyStyle(this)\" class=\"ez-toc-link\"
  2637.                                                    href=\"#{{ anchor }}\"
  2638.                                                    title=\"{{ title }}\">
  2639.                                                     <svg class=\"icon\" style=\"fill: #2a41e8 ;margin-right: 5px\"
  2640.                                                          width=\"16\" height=\"16\"
  2641.                                                          xmlns=\"http://www.w3.org/2000/svg\"
  2642.                                                          viewBox=\"0 0 448 512\">
  2643.                                                         <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  2644.                                                         <path
  2645.                                                             d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  2646.                                                     </svg> {% if title|length > 30 %}
  2647.                                                         {{ title|slice(0, 30) }}...
  2648.                                                     {% else %}
  2649.                                                         {{ title }}
  2650.                                                     {% endif %}</a>
  2651.                                             </li>
  2652.                                         {% endfor %}
  2653.                                     </ul>
  2654.                                 </nav>
  2655.                             </div>
  2656.                         </div>
  2657.                         <div class=\"toc-footer\">
  2658.                             <div class=\"social-section\">
  2659.                                 <a href=\"https://www.linkedin.com/sharing/share-offsite/?url=https://reassurez-moi.fr/guide/banque\"
  2660.                                    target=\"_blank\">
  2661.                                     <i class=\"fa-brands fa-linkedin-in\" aria-hidden=\"true\"></i>
  2662.                                 </a>
  2663.                                 <a href=\"https://twitter.com/share?url=https://reassurez-moi.fr/guide/banque\"
  2664.                                    target=\"_blank\">
  2665.                                     <i class=\"fa-brands fa-twitter\" aria-hidden=\"true\"></i>
  2666.                                 </a>
  2667.                             </div>
  2668.                         </div>
  2669.                     </div>
  2670.                     <div id=\"fix-sidebar-content\" class=\"mt-2\"></div>
  2671.                     <div id=\"sidebar-advertblock-container\" class=\"mt-2\"></div>
  2672.                 </div>
  2673.                 <div class=\"blog-post single-post sticky-bottom\"
  2674.                      style=\"margin-bottom: 0;display: none; flex-direction: column; padding: 12px; border-radius: 20px; position: sticky; top: 53%; background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(https://www.abcportage.fr/wp-content/themes/abcportage/assets/build/img/img_cta_right_small.jpg); background-size: cover; color: white;\">
  2675.                     {# <div class=\"blog-post single-post\" style=\";display: flex;flex-direction: column;padding: 12px;border-radius: 20px;position: sticky;top: 50%;background-image: url('{{ absolute_url(asset('images/anthony-riera-kylWNDQFd5A-unsplash.jpg')) }}');background-size:cover;color:white;\"> #}
  2676.                     <h3 style=\"text-align: center;margin: 1rem;color:white;font-size:23px;\">Missions et emplois
  2677.                         disponibles</h3>
  2678.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  2679.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  2680.                              xmlns=\"http://www.w3.org/2000/svg\"
  2681.                              viewBox=\"0 0 448 512\">
  2682.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  2683.                             <path
  2684.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  2685.                         </svg>
  2686.                         </span>
  2687.                         <span>Emplois et missions freelance</span>
  2688.                     </div>
  2689.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  2690.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  2691.                              xmlns=\"http://www.w3.org/2000/svg\"
  2692.                              viewBox=\"0 0 448 512\">
  2693.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  2694.                             <path
  2695.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  2696.                         </svg>
  2697.                         </span>
  2698.                         <span>Emplois et missions avec du télétravail</span>
  2699.                     </div>
  2700.                     <div class=\"d-flex align-items-center\" style=\"padding-left: 24px;margin: 5px 0;\">
  2701.                         <svg style=\"fill: #2a41e8 ;margin-right: 5px\" width=\"16\" height=\"16\"
  2702.                              xmlns=\"http://www.w3.org/2000/svg\"
  2703.                              viewBox=\"0 0 448 512\">
  2704.                             <!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
  2705.                             <path
  2706.                                 d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>
  2707.                         </svg>
  2708.                         </span>
  2709.                         <span>Des offres sur toute la France</span>
  2710.                     </div>
  2711.                     <span style=\"margin: 1rem auto\"><a
  2712.                             href=\"{{ not is_granted('ROLE_ADMIN') and is_granted('ROLE_FREELANCE') and app.user.uniqueProfile.id == null ? '#complete-cv-dialog' : path('offre_search') }}\"><span
  2713.                                 class=\"btn-mission-spec-flottant\"
  2714.                                 style=\"color: #FFFFFF\">Voir les offres</span></a></span>
  2715.                 </div>
  2716.             </div>
  2717.         </div>
  2718.         <!-- Scroll detection block -->
  2719.         <div id=\"scrollBlock\" class=\"scroll-block hidden\"
  2720.             {# style=\"padding: 12px;display: flex;flex-direction: column;margin-bottom: -12px;\" #}
  2721.         >
  2722.             <div style=\"text-align:center;\">
  2723.                 <div class=\"closeButtonContainer\">
  2724.                     <button onclick=\"closeScrollBlock()\" id=\"closeButton\">&times;</button>
  2725.                 </div>
  2726.                 <p style=\"color:white;font-size:20px;font-weight:700;margin-bottom: 32px;\">Mission WorkDisponibles</p>
  2727.                 <span style=\"margin: 2rem auto\">
  2728.                     <a
  2729.                         href=\"{{ not is_granted('ROLE_ADMIN') and is_granted('ROLE_FREELANCE')
  2730.                         and app.user.uniqueProfile.id == null ? '#complete-cv-dialog' : path('mission_search_default') }}\"
  2731.                     >
  2732.                         <span class=\"btn-mission-spec-flottant\" style=\"color: #FFFFFF\">Voir les missions</span>
  2733.                     </a>
  2734.                 </span>
  2735.             </div>
  2736.         </div>
  2737.     </div>
  2738. {% endblock %}
  2739. {% block javascripts %}
  2740.     <script>
  2741.         document.addEventListener(\"DOMContentLoaded\", function () {
  2742.             // JavaScript to handle scroll event
  2743.             window.addEventListener('scroll', function () {
  2744.                 // Get the scroll position
  2745.                 var scrollPosition = window.scrollY;
  2746.                 // Define the threshold to show the block
  2747.                 var threshold = 300; // Adjust as needed
  2748.                 // Get the scroll block element
  2749.                 var scrollBlock = document.getElementById('scrollBlock');
  2750.                 // Show or hide the block based on scroll position
  2751.                 if (scrollPosition > threshold) {
  2752.                     scrollBlock.classList.remove('hidden');
  2753.                     scrollBlock.classList.add('visible');
  2754.                 } else {
  2755.                     scrollBlock.classList.remove('visible');
  2756.                     scrollBlock.classList.add('hidden');
  2757.                 }
  2758.             });
  2759.         });
  2760.         // Fonction pour fermer le bloc de détection du défilement
  2761.         function closeScrollBlock() {
  2762.             console.log(\"Fermeture du bloc de détection du défilement\");
  2763.             var scrollBlock = document.getElementById('scrollBlock');
  2764.             scrollBlock.classList.remove('visible');
  2765.             scrollBlock.classList.add('hidden_btn');
  2766.         }
  2767.         document.addEventListener('scroll', function () {
  2768.             const container = document.querySelector('.article-right-flottant');
  2769.             const stickyBottom = document.querySelector('.sticky-bottom');
  2770.             const containerRect = container.getBoundingClientRect();
  2771.             const windowHeight = window.innerHeight;
  2772.             const contentHeight = containerRect.height;
  2773.             // Assuming scrollPosition is the current vertical scroll position
  2774.             const scrollPosition = window.scrollY;
  2775.             // Fixed threshold of 250 pixels
  2776.             const fixedThreshold = 5;
  2777.             // Calculate how close we are to the bottom of the content
  2778.             const distanceToBottom = contentHeight - (scrollPosition + windowHeight);
  2779.             console.log(Math.abs(distanceToBottom))
  2780.             if (distanceToBottom < 0) {
  2781.                 if (Math.abs(distanceToBottom) >= 357 || window.scrollY <= 199) {
  2782.                     stickyBottom.style.display = 'none';
  2783.                 } else {
  2784.                     stickyBottom.style.display = 'flex';
  2785.                 }
  2786.             } else {
  2787.                 // Check if we are within 250 pixels from the bottom
  2788.                 if (distanceToBottom <= fixedThreshold || window.scrollY <= 199) {
  2789.                     stickyBottom.style.display = 'none';
  2790.                 } else {
  2791.                     stickyBottom.style.display = 'flex';
  2792.                 }
  2793.             }
  2794.         });
  2795.         function applyStyle(element) {
  2796.             // Supprimer la classe 'active' de tous les liens
  2797.             const links = document.querySelectorAll('.large-device .ez-toc-link');
  2798.             links.forEach(link => link.classList.remove('active'));
  2799.             if (window.innerWidth <= 500) {
  2800.                 const links_mobile = document.querySelectorAll('.mobile-device .ez-toc-link');
  2801.                 links_mobile.forEach(link => link.classList.remove('active'));
  2802.             }
  2803.             // Ajouter la classe 'active' au lien cliqué
  2804.             element.classList.add('active');
  2805.             // Appliquez le style à l'élément <a> lorsque le lien est cliqué
  2806.             // element.style.color = 'grey';
  2807.             // element.style.opacity = '0.8';
  2808.             element.classList.add('clicked-link');
  2809.         }
  2810.         // Sélectionnez tous les liens de votre sommaire
  2811.         const links = document.querySelectorAll('.large-device .ez-toc-link');
  2812.         const headings = Array.from(links).map(link => {
  2813.             const id = link.getAttribute('href').substring(1);
  2814.             return document.getElementById(id);
  2815.         });
  2816.         let currentActiveSection = null;
  2817.         let isScrollingToLink = false;
  2818.         function scrollToElement(element, container) {
  2819.             if (!isElementInViewport(element, container) && !isScrollingToLink) {
  2820.                 isScrollingToLink = true;
  2821.                 document.body.style.overflow = 'hidden';
  2822.                 element.scrollIntoView({ behavior: 'smooth', block: 'start' });
  2823.                 setTimeout(() => {
  2824.                     document.body.style.overflow = '';
  2825.                     isScrollingToLink = false;
  2826.                 }, 500);
  2827.             }
  2828.         }
  2829.         function isElementInViewport(element, container) {
  2830.             var elementRect = element.getBoundingClientRect();
  2831.             var containerRect = container.getBoundingClientRect();
  2832.             return (
  2833.                 elementRect.top >= containerRect.top &&
  2834.                 elementRect.left >= containerRect.left &&
  2835.                 elementRect.bottom <= containerRect.bottom &&
  2836.                 elementRect.right <= containerRect.right
  2837.             );
  2838.         }
  2839.         function updateActiveLink() {
  2840.             let indexToActivate = -1;
  2841.             // Parcours du bas vers le haut
  2842.             for (let i = headings.length - 1; i >= 0; i--) {
  2843.                 const heading = headings[i];
  2844.                 if (heading) {
  2845.                     const rect = heading.getBoundingClientRect();
  2846.                     if (rect.top <= 0) { // 0px du haut de la fenêtre
  2847.                         indexToActivate = i;
  2848.                         break;
  2849.                     }
  2850.                 }
  2851.             }
  2852.             links.forEach(link => link.classList.remove('active'));
  2853.             if (indexToActivate !== -1) {
  2854.                 links[indexToActivate].classList.add('active');
  2855.                 // Scroll le menu pour garder le lien actif visible
  2856.                 const activeLink = links[indexToActivate];
  2857.                 const tocList = activeLink.closest('.ez-toc-list');
  2858.                 if (tocList && activeLink) {
  2859.                     const linkRect = activeLink.getBoundingClientRect();
  2860.                     const listRect = tocList.getBoundingClientRect();
  2861.                     if (linkRect.top < listRect.top || linkRect.bottom > listRect.bottom) {
  2862.                         tocList.scrollTop += linkRect.top - listRect.top - listRect.height / 2 + linkRect.height / 2;
  2863.                     }
  2864.                 }
  2865.             }
  2866.         }
  2867.         window.addEventListener('scroll', updateActiveLink);
  2868.         document.addEventListener('DOMContentLoaded', () => {
  2869.             const links = document.querySelectorAll('.large-device .ez-toc-link');
  2870.             if (links.length > 0) {
  2871.                 links[0].classList.add('active');
  2872.             }
  2873.             if (window.innerWidth <= 500) {
  2874.                 const links_mobile = document.querySelectorAll('.mobile-device .ez-toc-link');
  2875.                 if (links_mobile.length > 0) {
  2876.                     links_mobile[0].classList.add('active');
  2877.                 }
  2878.             }
  2879.         });
  2880.         // window.addEventListener('scroll', () => {
  2881.         //     const stickyBottom = document.querySelector('.sticky-bottom');
  2882.         //     // console.log(window.scrollY); // ou window.pageYOffset
  2883.         //
  2884.         // });
  2885.     </script>
  2886. {% endblock %}
  2887. ""page/page.html.twig""/home/u430011172/domains/workdispo.com/public_html/testafaire/templates/page/page.html.twig");
  2888.     }
  2889. }