var/cache/dev/twig/e5/e556f7b94b4d4f3e761909d6146d9b2389859efe886ecb159aa9c25eec82afe4.php line 91

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* project.html.twig */
  14. class __TwigTemplate_13f70910f050a903c91d2cc0b7d3a762f174758d7f6b6d653c908236a1984926 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'title' => [$this'block_title'],
  24.             'body' => [$this'block_body'],
  25.         ];
  26.     }
  27.     protected function doGetParent(array $context)
  28.     {
  29.         // line 1
  30.         return "base.html.twig";
  31.     }
  32.     protected function doDisplay(array $context, array $blocks = [])
  33.     {
  34.         $macros $this->macros;
  35.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""project.html.twig"));
  37.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""project.html.twig"));
  39.         $this->parent $this->loadTemplate("base.html.twig""project.html.twig"1);
  40.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  41.         
  42.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  43.         
  44.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  45.     }
  46.     // line 3
  47.     public function block_title($context, array $blocks = [])
  48.     {
  49.         $macros $this->macros;
  50.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  51.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  52.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  53.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  54.         echo "Projets";
  55.         
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  57.         
  58.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  59.     }
  60.     // line 5
  61.     public function block_body($context, array $blocks = [])
  62.     {
  63.         $macros $this->macros;
  64.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  65.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  66.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  67.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  68.         // line 6
  69.         echo "
  70.     ";
  71.         // line 7
  72.         $context["headerContent"] = $this->extensions['App\Twig\ContentExtension']->Content("Projets""Header");
  73.         // line 8
  74.         echo "
  75.     ";
  76.         // line 9
  77.         if ((twig_get_attribute($this->env$this->source, ($context["headerContent"] ?? null), "picture", [], "any"truetruefalse9) &&  !twig_test_empty(twig_get_attribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'9$this->source); })()), "picture", [], "any"falsefalsefalse9)))) {
  78.             // line 10
  79.             echo "        ";
  80.             $context["backgroundImage"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'10$this->source); })()), "picture", [], "any"falsefalsefalse10), 0, [], "array"falsefalsefalse10), "path", [], "any"falsefalsefalse10);
  81.             // line 11
  82.             echo "    ";
  83.         } else {
  84.             // line 12
  85.             echo "        ";
  86.             $context["backgroundImage"] = "empty";
  87.             // line 13
  88.             echo "    ";
  89.         }
  90.         // line 14
  91.         echo "    <header class=\"header-tracol col-lg-8 mx-auto\" style=\"background-image: url(";
  92.         if ((!== twig_compare((isset($context["backgroundImage"]) || array_key_exists("backgroundImage"$context) ? $context["backgroundImage"] : (function () { throw new RuntimeError('Variable "backgroundImage" does not exist.'14$this->source); })()), "empty"))) {
  93.             echo "'/uploads/images/";
  94.             echo twig_escape_filter($this->env, (isset($context["backgroundImage"]) || array_key_exists("backgroundImage"$context) ? $context["backgroundImage"] : (function () { throw new RuntimeError('Variable "backgroundImage" does not exist.'14$this->source); })()), "html"nulltrue);
  95.             echo "'";
  96.         } else {
  97.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/projets_header.jpg"), "html"nulltrue);
  98.         }
  99.         echo ");\">
  100.         <div class=\"col-lg-8 mx-auto div-svg-header\">
  101.             <div id=\"header-project\" class=\"header-habiter-div\">
  102.                 <svg id=\"svg-habiter\" width=\"10\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:avocode=\"https://avocode.com/\" viewBox=\"0 0 10 16\"><defs></defs><desc>Generated with Avocode.</desc><g><g><title>TracĂ© 76</title><path d=\"M9.08929,0.51465v0h-9.08929v0v14.77002v0l9.08929,-1.93109v0z\" fill=\"#f6a400\" fill-opacity=\"1\"></path></g></g></svg>
  103.                 <h2 class=\"header-habiter-title col-lg-6\">";
  104.         // line 18
  105.         if (twig_get_attribute($this->env$this->source, ($context["headerContent"] ?? null), "name", [], "any"truetruefalse18)) {
  106.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'18$this->source); })()), "name", [], "any"falsefalsefalse18), "html"nulltrue);
  107.         } else {
  108.             echo "Nos projets";
  109.         }
  110.         echo "</h2>
  111.                 <div class=\"col-lg-8 header-content\">
  112.                     ";
  113.         // line 20
  114.         if (twig_get_attribute($this->env$this->source, ($context["headerContent"] ?? null), "content", [], "any"truetruefalse20)) {
  115.             echo twig_get_attribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'20$this->source); })()), "content", [], "any"falsefalsefalse20);
  116.             echo " ";
  117.         } else {
  118.             echo "L’immobilier ayant un fort impact, Tracol Immobilier a pour ambition de rĂ©pondre aux grands enjeux urbains du Luxembourg, tout en dĂ©veloppant des projets environnementaux et sociĂ©taux.";
  119.         }
  120.         // line 21
  121.         echo "                </div>
  122.             </div>
  123.         </div>
  124.     </header>
  125.     <div class=\"container-fluid\">
  126.         ";
  127.         // line 27
  128.         $context["sectionContent1"] = $this->extensions['App\Twig\ContentExtension']->Content("Projets""Section-1");
  129.         // line 28
  130.         echo "        <div class=\"col-lg-8 mx-auto div-svg-header pre-section\">
  131.             <div class=\"col-lg-4\" style=\"font-size: 2.3em;display: flex;flex-direction: column;margin-left: 10px;\">
  132.                 <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  133.                     <path id=\"TracĂ©_76\" data-name=\"TracĂ© 76\" d=\"M682.759,232.441h-9.089v14.77l9.089-1.931Z\" transform=\"translate(-673.669 -232.441)\" fill=\"#f6a400\"/>
  134.                 </svg>
  135.                 ";
  136.         // line 33
  137.         if ((=== twig_compare(twig_length_filter($this->env, (isset($context["projects"]) || array_key_exists("projects"$context) ? $context["projects"] : (function () { throw new RuntimeError('Variable "projects" does not exist.'33$this->source); })())), 0))) {
  138.             // line 34
  139.             echo "                    <h1 class=\"project-title\">pas de projet</h1>
  140.                 ";
  141.         } elseif ((=== twig_compare(twig_length_filter($this->env,         // line 35
  142. (isset($context["projects"]) || array_key_exists("projects"$context) ? $context["projects"] : (function () { throw new RuntimeError('Variable "projects" does not exist.'35$this->source); })())), 1))) {
  143.             // line 36
  144.             echo "                    <h1 class=\"project-title\">";
  145.             echo twig_escape_filter($this->envtwig_length_filter($this->env, (isset($context["projects"]) || array_key_exists("projects"$context) ? $context["projects"] : (function () { throw new RuntimeError('Variable "projects" does not exist.'36$this->source); })())), "html"nulltrue);
  146.             echo " projet</h1>
  147.                 ";
  148.         } else {
  149.             // line 38
  150.             echo "                    <h1 class=\"project-title\">";
  151.             echo twig_escape_filter($this->envtwig_length_filter($this->env, (isset($context["projects"]) || array_key_exists("projects"$context) ? $context["projects"] : (function () { throw new RuntimeError('Variable "projects" does not exist.'38$this->source); })())), "html"nulltrue);
  152.             echo " projets</h1>
  153.                 ";
  154.         }
  155.         // line 40
  156.         echo "            </div>
  157.             <div class=\"separator\"></div>
  158.             <div id=\"section-1-project\" class=\"col-lg-6 pre-section-content\">
  159.                 ";
  160.         // line 43
  161.         if (twig_get_attribute($this->env$this->source, ($context["headerContent"] ?? null), "content", [], "any"truetruefalse43)) {
  162.             echo twig_get_attribute($this->env$this->source, (isset($context["sectionContent1"]) || array_key_exists("sectionContent1"$context) ? $context["sectionContent1"] : (function () { throw new RuntimeError('Variable "sectionContent1" does not exist.'43$this->source); })()), "content", [], "any"falsefalsefalse43);
  163.         } else {
  164.             echo "DĂ©velopper durable, travailler avec des entreprises locales, maximiser nos impacts positifs (rĂ©gĂ©nĂ©ration urbaine, emploi local, etc.) et rĂ©duire nos impacts nĂ©gatifs (Ă©missions de CO2, biodiversitĂ©, ressources, â€¦) pour apporter du mieux-vivre en ville, voilĂ  comment nous imaginons nos projets !";
  165.         }
  166.         // line 44
  167.         echo "            </div>
  168.         </div>
  169.         <section class=\"project filter mt-5\" style=\"margin-bottom: 120px\">
  170.             <div id=\"button-project-page\" class=\"col-lg-8 mx-auto div-svg-header mb-4\" style=\"display: flex; align-items: center; padding-left: 7px\">
  171.                 <div class=\"input-filter\">
  172.                     <label for=\"all-projects\">TOUS</label>
  173.                     <input data-id=\"all\" type=\"radio\" name=\"type\" id=\"all-projects\" class=\"mr-3 projectButton\">
  174.                 </div>
  175.                 <div class=\"input-filter\">
  176.                     <label for=\"futur-projects\">A VENIR</label>
  177.                     <input data-id=\"futur\" type=\"radio\" name=\"type\" id=\"futur-projects\" class=\"mr-3 projectButton\">
  178.                 </div>
  179.                 <div class=\"input-filter\">
  180.                     <label for=\"construction-projects\">EN COURS</label>
  181.                     <input data-id=\"construction\" type=\"radio\" name=\"type\" id=\"construction-projects\" class=\" projectButton\">
  182.                 </div>
  183.                 ";
  184.         // line 69
  185.         echo "            </div>
  186.             <div id=\"button-project-page-mobile\" class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: none; align-items: center\">
  187.                 <div  class=\"flicking-viewport\">
  188.                     <div class=\"flicking-camera\">
  189.                         <div class=\"input-filter\">
  190.                             <label for=\"all-projects-mobile\">TOUS</label>
  191.                             <input data-id=\"all\" type=\"radio\" name=\"type\" id=\"all-projects-mobile\" class=\"mr-3 projectButton\">
  192.                         </div>
  193.                         <div class=\"input-filter\">
  194.                             <label for=\"futur-projects-mobile\">A VENIR</label>
  195.                             <input data-id=\"futur\" type=\"radio\" name=\"type\" id=\"futur-projects-mobile\" class=\"mr-3 projectButton\">
  196.                         </div>
  197.                         <div class=\"input-filter\">
  198.                             <label for=\"construction-projects-mobile\">EN COURS</label>
  199.                             <input data-id=\"construction\" type=\"radio\" name=\"type\" id=\"construction-projects-mobile\" class=\" projectButton\">
  200.                         </div>
  201.                         ";
  202.         // line 90
  203.         echo "
  204.                     </div>
  205.                 </div>
  206.             </div>
  207.             <div class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex; justify-content: center; flex-direction: column;\">
  208.                 ";
  209.         // line 117
  210.         echo "
  211.                 ";
  212.         // line 124
  213.         echo "
  214.                 <div id=\"projects\" class=\"row\">
  215.                     ";
  216.         // line 158
  217.         echo "
  218.                     <div class=\"col-lg-12 project-desktop\" style=\"display: flex; flex-wrap: wrap; flex-direction: row\">
  219.                         ";
  220.         // line 160
  221.         $context['_parent'] = $context;
  222.         $context['_seq'] = twig_ensure_traversable(twig_slice($this->env, (isset($context["projects"]) || array_key_exists("projects"$context) ? $context["projects"] : (function () { throw new RuntimeError('Variable "projects" does not exist.'160$this->source); })()), 05));
  223.         foreach ($context['_seq'] as $context["key"] => $context["property"]) {
  224.             // line 161
  225.             echo "                            <div  class=\"col-12 col-xl-6 col-lg-6 col-md-12 col-sm-12\" style=\"position:relative;cursor: pointer\">
  226.                                 ";
  227.             // line 162
  228.             if ( !twig_test_empty(twig_get_attribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse162))) {
  229.                 // line 163
  230.                 echo "                                    <div class=\"position-relative properties-slide\">
  231.                                             <div class=\"img\" style=\"background-image: url('";
  232.                 // line 164
  233.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse164), 0, [], "any"falsefalsefalse164), "url", [], "any"falsefalsefalse164), "html"nulltrue);
  234.                 echo "')\"  onclick=\"location.href='";
  235.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("project-detail", ["id" => twig_get_attribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse164)]), "html"nulltrue);
  236.                 echo "'\">
  237.                                             </div>
  238.                                     </div>
  239.                                 ";
  240.             } else {
  241.                 // line 169
  242.                 echo "                                    <div class=\"img\" style=\"background-image: url('";
  243.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("build/Hudson_Ontario2.png"), "html"nulltrue);
  244.                 echo "')\"></div>
  245.                                 ";
  246.             }
  247.             // line 171
  248.             echo "                                ";
  249.             // line 183
  250.             echo "
  251.                                 <p class=\"city\">";
  252.             // line 184
  253.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["property"], "city", [], "any"falsefalsefalse184), "name", [], "any"falsefalsefalse184), "html"nulltrue);
  254.             echo "</p>
  255.                                 <p class=\"project-name\">";
  256.             // line 185
  257.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["property"], "reference", [], "any"falsefalsefalse185), "html"nulltrue);
  258.             echo "</p>
  259.                                 <div class=\"tag-ref-projet-2\"><span class=\"text-tag-ref\">";
  260.             // line 186
  261.             echo twig_escape_filter($this->env$this->extensions['App\Twig\ContentExtension']->typeProject(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["property"], "construction", [], "any"falsefalsefalse186), "construction_step", [], "any"falsefalsefalse186)), "html"nulltrue);
  262.             echo "</span></div>
  263.                             </div>
  264.                         ";
  265.         }
  266.         $_parent $context['_parent'];
  267.         unset($context['_seq'], $context['_iterated'], $context['key'], $context['property'], $context['_parent'], $context['loop']);
  268.         $context array_intersect_key($context$_parent) + $_parent;
  269.         // line 189
  270.         echo "                    </div>
  271.                 </div>
  272.                 <div class=\"text-center text-capitalize more-projects\">
  273.                     <p>AFFICHER PLUS DE PROJETS</p>
  274.                 </div>
  275.             </div>
  276.             ";
  277.         // line 228
  278.         echo "
  279.         </section>
  280.     </div>
  281.     <div id=\"img-property-section\" class=\"container-fluid\" style=\"display: none\">
  282.         <div class=\"col-lg-6 habiter-img\">
  283.             <img style=\"padding: 0px;\" height=\"430px\" class=\"img-100\" ";
  284.         // line 233
  285.         if (twig_get_attribute($this->env$this->source, ($context["sectionContent1"] ?? null), "picture", [], "any"truetruefalse233)) {
  286.             echo "src=\"/uploads/images/";
  287.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["sectionContent1"]) || array_key_exists("sectionContent1"$context) ? $context["sectionContent1"] : (function () { throw new RuntimeError('Variable "sectionContent1" does not exist.'233$this->source); })()), "picture", [], "any"falsefalsefalse233), 0, [], "array"falsefalsefalse233), "path", [], "any"falsefalsefalse233), "html"nulltrue);
  288.             echo "\"";
  289.         }
  290.         echo ">
  291.         </div>
  292.     </div>
  293.     <script>
  294.         const futurProjects = document.getElementById('projects')
  295.         let buttons = document.getElementsByClassName('projectButton')
  296.         for (const eElement of buttons) {
  297.             eElement.addEventListener('click', function (e) {
  298.                 e.preventDefault()
  299.                 for (let button of buttons) {
  300.                     if (button.classList.contains('all')){
  301.                         button.classList.remove('all')
  302.                         //button.classList.add('come')
  303.                         //button.querySelector('span').classList.replace('span-all', 'span-projects')
  304.                     }
  305.                 }
  306.                 eElement.classList.remove('come')
  307.                 //eElement.classList.add('all')
  308.                 //eElement.querySelector('span').classList.replace('span-projects', 'span-all')
  309.                 fetch('projects/display/'+this.dataset.id, {
  310.                     method: 'GET',
  311.                 })
  312.                     .then(response => response.json())
  313.                     .then(data => {
  314.                         futurProjects.innerHTML = ''
  315.                         futurProjects.innerHTML = data.data
  316.                         _ww = \$(window).width();
  317.                         var lightbox = \$('.lightbox'),
  318.                             item = 0;
  319.                         \$('.lightbox-on').click(function(e){
  320.                             e.stopPropagation();
  321.                             item = 0;
  322.                             console.log('click btn');
  323.                             var id = \$(this).attr('data-id'),
  324.                                 max = 0;
  325.                             \$('#'+id).toggle();
  326.                             \$('#'+id).animate({opacity: 1}, 300);
  327.                             \$('#'+id).find('img').each(function( i ) {
  328.                                 //console.log('h : '+\$(this).height());
  329.                                 //console.log('w : '+\$(this).width());
  330.                                 max = i;
  331.                                 item = 1;
  332.                                 counter(item, max+1);
  333.                                 itemWidth(\$(this));
  334.                             });
  335.                         });
  336.                         lightbox.click(function(e) {
  337.                             e.stopPropagation();
  338.                             \$(this).animate({opacity: 0}, 300, function(){
  339.                                 \$(this).toggle();
  340.                             });
  341.                         });
  342.                         \$('.closer').on('click', function (e) {
  343.                             e.stopPropagation();
  344.                             \$(this).parent().animate(
  345.                                 {opacity: 0},
  346.                                 300,
  347.                                 function(){
  348.                                     \$(this).toggle();
  349.                                 }
  350.                             );
  351.                         });
  352.                         function itemWidth(img){
  353.                             img.closest('.items').width(img.width());
  354.                         }
  355.                         function counter(item, max){
  356.                             \$('.counter').text(item + ' / ' + max);
  357.                         }
  358.                         \$('.item', lightbox).on('click, swipeleft', function (e) {
  359.                             var wd = \$(this).width(),
  360.                                 last = \$(this).parent().find('.item').last(),
  361.                                 img = \$(this).find('.img');
  362.                             itemWidth(img);
  363.                             \$(this).animate(
  364.                                 {marginLeft: -wd, opacity: 0},
  365.                                 500,
  366.                                 'swing',
  367.                                 function(){
  368.                                     \$(this).insertAfter(last);
  369.                                     \$(this).css({marginLeft: 0, opacity: 1});
  370.                                 }
  371.                             );
  372.                         });
  373.                         \$('.item', lightbox).on('swiperight', function (e) {
  374.                             var wd = \$(this).width(),
  375.                                 first = \$(this).parent().find('.item').first(),
  376.                                 last = \$(this).parent().find('.item').last(),
  377.                                 img = \$(this).find('.img');
  378.                             itemWidth(img);
  379.                             \$(last).insertBefore(\$(this));
  380.                             \$(last).css({marginLeft: -wd, opacity: 0});
  381.                             \$(this).parent().find('.item').eq(0).animate(
  382.                                 {marginLeft: 0, opacity: 1},
  383.                                 500,
  384.                                 'swing'
  385.                             );
  386.                         });
  387.                         \$('.arrows', lightbox).on('click', function (e) {
  388.                             e.stopPropagation();
  389.                             var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  390.                                 max = \$(this)
  391.                                     .siblings('.items').find('.item').length,
  392.                                 first = \$(this).siblings('.items').find('.item').first(),
  393.                                 last = \$(this).siblings('.items').find('.item').last(),
  394.                                 isRight = \$(this).hasClass('right'),
  395.                                 marginL = isRight ? -wd : 0,
  396.                                 marginL0 = isRight ? 0: -wd,
  397.                                 opacOn = isRight ? 1 : 0,
  398.                                 opacOff = isRight ? 0 : 1;
  399.                             if (!isRight){
  400.                                 \$(last).insertBefore(first);
  401.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  402.                                 item++;
  403.                                 if (item == max+1) {item = 1};
  404.                             } else {
  405.                                 item--;
  406.                                 if (item == 0) {item = max};
  407.                             };
  408.                             counter(item, max);
  409.                             var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  410.                             itemWidth(img);
  411.                             \$(this).siblings('.items').find('.item').eq(1).animate(
  412.                                 {opacity: opacOn},
  413.                                 500,
  414.                                 'swing');
  415.                             \$(this).siblings('.items').find('.item').eq(0).animate(
  416.                                 {marginLeft: marginL, opacity: 1},
  417.                                 500,
  418.                                 'swing',
  419.                                 function(){
  420.                                     if (isRight){
  421.                                         \$(this).insertAfter(last);
  422.                                         \$(this).css({ marginLeft: 0, opacity: 1});
  423.                                     }
  424.                                 }
  425.                             );
  426.                         });
  427.                         if (_ww > 768){
  428.                             \$('.div-img-hover-2').hover(function (e) {
  429.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  430.                                 var htext = \$(this).find('.project-content').height();
  431.                                 if (htext == undefined){htext = 0};
  432.                                 \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  433.                                 \$(this).find('.project-content').css({'visibility': 'visible'});
  434.                                 \$(this).find('.project-content').animate({opacity: 1}, 150);
  435.                             }, function() {
  436.                                 console.log('down');
  437.                                 \$(this).find('.div-hover-2').animate({height : 85}, 150);
  438.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  439.                                 \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  440.                                     \$(this).find('.project-content').css({'visibility': 'hidden'});
  441.                                 });
  442.                             });
  443.                         } else {
  444.                             \$('.div-img-hover-2').on( \"tap\", function( event ) {
  445.                                 console.log('tap tap');
  446.                                 var opened = \$(this).find('.div-hover-2').hasClass('open'),
  447.                                     ht = opened ? 85 : '100%',
  448.                                     vis = opened ? 0 : 1;
  449.                                 \$(this).find('.div-hover-2').toggleClass('open');
  450.                                 \$(this).find('.div-hover-2').animate({height : ht}, 150);
  451.                                 \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  452.                             });
  453.                         }
  454.                         \$('.div-hover').hover(function (e) {
  455.                             \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  456.                         }, function() {
  457.                             \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  458.                         });
  459.                     })
  460.                     .catch((error) => {
  461.                         console.error('Error:', error);
  462.                     });
  463.             })
  464.         }
  465.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  466.             const test = document.getElementsByClassName('select-filter')
  467.             for (const testElement of test) {
  468.                 testElement.addEventListener('click', function (e) {
  469.                     e.preventDefault()
  470.                     testElement.classList.toggle('select-projet-active')
  471.                     const infos = document.querySelector('.projectButton.all')
  472.                     const dataId = []
  473.                     const tests = document.querySelectorAll('.select-filter.select-projet-active')
  474.                     for (const test1 of tests) {
  475.                         dataId.push(parseFloat(test1.dataset.id))
  476.                     }
  477.                     fetch('projects/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  478.                         method: 'GET'
  479.                     })
  480.                         .then(response => response.json())
  481.                         .then(data => {
  482.                             futurProjects.innerHTML = data.data
  483.                         })
  484.                         .catch((error) => {
  485.                             console.error('Error:', error);
  486.                         });
  487.                 })
  488.             }
  489.         } else {
  490.             const test = document.getElementsByClassName('select-projet')
  491.             for (const testElement of test) {
  492.                 testElement.addEventListener('click', function (e) {
  493.                     displayLoading()
  494.                     e.preventDefault()
  495.                     testElement.classList.toggle('select-projet-active')
  496.                     const infos = document.querySelector('.projectButton.all')
  497.                     const dataId = []
  498.                     const tests = document.querySelectorAll('.select-projet.select-projet-active')
  499.                     for (const test1 of tests) {
  500.                         dataId.push(parseFloat(test1.dataset.id))
  501.                     }
  502.                     fetch('projects/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  503.                         method: 'GET'
  504.                     })
  505.                         .then(response => response.json())
  506.                         .then(data => {
  507.                             hideLoading()
  508.                             futurProjects.innerHTML = data.data
  509.                             _ww = \$(window).width();
  510.                             var lightbox = \$('.lightbox'),
  511.                                 item = 0;
  512.                             \$('.lightbox-on').click(function(e){
  513.                                 e.stopPropagation();
  514.                                 item = 0;
  515.                                 console.log('click btn');
  516.                                 var id = \$(this).attr('data-id'),
  517.                                     max = 0;
  518.                                 \$('#'+id).toggle();
  519.                                 \$('#'+id).animate({opacity: 1}, 300);
  520.                                 \$('#'+id).find('img').each(function( i ) {
  521.                                     //console.log('h : '+\$(this).height());
  522.                                     //console.log('w : '+\$(this).width());
  523.                                     max = i;
  524.                                     item = 1;
  525.                                     counter(item, max+1);
  526.                                     itemWidth(\$(this));
  527.                                 });
  528.                             });
  529.                             lightbox.click(function(e) {
  530.                                 e.stopPropagation();
  531.                                 \$(this).animate({opacity: 0}, 300, function(){
  532.                                     \$(this).toggle();
  533.                                 });
  534.                             });
  535.                             \$('.closer').on('click', function (e) {
  536.                                 e.stopPropagation();
  537.                                 \$(this).parent().animate(
  538.                                     {opacity: 0},
  539.                                     300,
  540.                                     function(){
  541.                                         \$(this).toggle();
  542.                                     }
  543.                                 );
  544.                             });
  545.                             function itemWidth(img){
  546.                                 img.closest('.items').width(img.width());
  547.                             }
  548.                             function counter(item, max){
  549.                                 \$('.counter').text(item + ' / ' + max);
  550.                             }
  551.                             \$('.item', lightbox).on('click, swipeleft', function (e) {
  552.                                 var wd = \$(this).width(),
  553.                                     last = \$(this).parent().find('.item').last(),
  554.                                     img = \$(this).find('.img');
  555.                                 itemWidth(img);
  556.                                 \$(this).animate(
  557.                                     {marginLeft: -wd, opacity: 0},
  558.                                     500,
  559.                                     'swing',
  560.                                     function(){
  561.                                         \$(this).insertAfter(last);
  562.                                         \$(this).css({marginLeft: 0, opacity: 1});
  563.                                     }
  564.                                 );
  565.                             });
  566.                             \$('.item', lightbox).on('swiperight', function (e) {
  567.                                 var wd = \$(this).width(),
  568.                                     first = \$(this).parent().find('.item').first(),
  569.                                     last = \$(this).parent().find('.item').last(),
  570.                                     img = \$(this).find('.img');
  571.                                 itemWidth(img);
  572.                                 \$(last).insertBefore(\$(this));
  573.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  574.                                 \$(this).parent().find('.item').eq(0).animate(
  575.                                     {marginLeft: 0, opacity: 1},
  576.                                     500,
  577.                                     'swing'
  578.                                 );
  579.                             });
  580.                             \$('.arrows', lightbox).on('click', function (e) {
  581.                                 e.stopPropagation();
  582.                                 var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  583.                                     max = \$(this)
  584.                                         .siblings('.items').find('.item').length,
  585.                                     first = \$(this).siblings('.items').find('.item').first(),
  586.                                     last = \$(this).siblings('.items').find('.item').last(),
  587.                                     isRight = \$(this).hasClass('right'),
  588.                                     marginL = isRight ? -wd : 0,
  589.                                     marginL0 = isRight ? 0: -wd,
  590.                                     opacOn = isRight ? 1 : 0,
  591.                                     opacOff = isRight ? 0 : 1;
  592.                                 if (!isRight){
  593.                                     \$(last).insertBefore(first);
  594.                                     \$(last).css({marginLeft: -wd, opacity: 0});
  595.                                     item++;
  596.                                     if (item == max+1) {item = 1};
  597.                                 } else {
  598.                                     item--;
  599.                                     if (item == 0) {item = max};
  600.                                 };
  601.                                 counter(item, max);
  602.                                 var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  603.                                 itemWidth(img);
  604.                                 \$(this).siblings('.items').find('.item').eq(1).animate(
  605.                                     {opacity: opacOn},
  606.                                     500,
  607.                                     'swing');
  608.                                 \$(this).siblings('.items').find('.item').eq(0).animate(
  609.                                     {marginLeft: marginL, opacity: 1},
  610.                                     500,
  611.                                     'swing',
  612.                                     function(){
  613.                                         if (isRight){
  614.                                             \$(this).insertAfter(last);
  615.                                             \$(this).css({ marginLeft: 0, opacity: 1});
  616.                                         }
  617.                                     }
  618.                                 );
  619.                             });
  620.                             if (_ww > 768){
  621.                                 \$('.div-img-hover-2').hover(function (e) {
  622.                                     \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  623.                                     var htext = \$(this).find('.project-content').height();
  624.                                     if (htext == undefined){htext = 0};
  625.                                     \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  626.                                     \$(this).find('.project-content').css({'visibility': 'visible'});
  627.                                     \$(this).find('.project-content').animate({opacity: 1}, 150);
  628.                                 }, function() {
  629.                                     console.log('down');
  630.                                     \$(this).find('.div-hover-2').animate({height : 85}, 150);
  631.                                     \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  632.                                     \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  633.                                         \$(this).find('.project-content').css({'visibility': 'hidden'});
  634.                                     });
  635.                                 });
  636.                             } else {
  637.                                 \$('.div-hover-2').on( \"click\", function( event ) {
  638.                                     console.log('tap tap');
  639.                                     var opened = \$(this).find('.div-hover-2').hasClass('open'),
  640.                                         ht = opened ? 85 : '100%',
  641.                                         vis = opened ? 0 : 1;
  642.                                     \$(this).find('.div-hover-2').toggleClass('open');
  643.                                     \$(this).find('.div-hover-2').animate({height : ht}, 150);
  644.                                     \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  645.                                 });
  646.                             }
  647.                             \$('.div-hover').hover(function (e) {
  648.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  649.                             }, function() {
  650.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  651.                             });
  652.                         })
  653.                         .catch((error) => {
  654.                             console.error('Error:', error);
  655.                         });
  656.                 })
  657.             }
  658.         }
  659.         const buttonFilter = document.getElementsByClassName('select-projet')
  660.         for (const buttonFilterElement of buttonFilter) {
  661.             buttonFilterElement.addEventListener('click', function () {
  662.             })
  663.         }
  664.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  665.             new Flicking(\"#flick4\", {
  666.                 moveType: \"freeScroll\",
  667.                 bound: true
  668.             });
  669.         }
  670.         const filter = document.getElementById('filters')
  671.         const filterElement = document.getElementById('form-search-filter-ajax')
  672.         filter.addEventListener('click', function (e) {
  673.             e.preventDefault()
  674.             filterElement.classList.toggle('show')
  675.         })
  676.         const loader = document.querySelector(\"#loading\");
  677.         function displayLoading() {
  678.             loader.classList.add(\"display\");
  679.             // to stop loading after some time
  680.             setTimeout(() => {
  681.                 loader.classList.remove(\"display\");
  682.             }, 5000);
  683.         }
  684.         // hiding loading
  685.         function hideLoading() {
  686.             loader.classList.remove(\"display\");
  687.         }
  688.     </script>
  689. ";
  690.         
  691.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  692.         
  693.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  694.     }
  695.     public function getTemplateName()
  696.     {
  697.         return "project.html.twig";
  698.     }
  699.     public function isTraitable()
  700.     {
  701.         return false;
  702.     }
  703.     public function getDebugInfo()
  704.     {
  705.         return array (  315 => 233,  308 => 228,  298 => 189,  289 => 186,  285 => 185,  281 => 184,  278 => 183,  276 => 171,  270 => 169,  260 => 164,  257 => 163,  255 => 162,  252 => 161,  248 => 160,  244 => 158,  240 => 124,  236 => 117,  227 => 90,  209 => 69,  187 => 44,  181 => 43,  176 => 40,  170 => 38,  164 => 36,  162 => 35,  159 => 34,  157 => 33,  150 => 28,  148 => 27,  140 => 21,  133 => 20,  124 => 18,  110 => 14,  107 => 13,  104 => 12,  101 => 11,  98 => 10,  96 => 9,  93 => 8,  91 => 7,  88 => 6,  78 => 5,  59 => 3,  36 => 1,);
  706.     }
  707.     public function getSourceContext()
  708.     {
  709.         return new Source("{% extends 'base.html.twig' %}
  710. {% block title %}Projets{% endblock %}
  711. {% block body %}
  712.     {% set headerContent = content('Projets', 'Header') %}
  713.     {% if headerContent.picture is defined and headerContent.picture is not empty %}
  714.         {% set backgroundImage = headerContent.picture[0].path %}
  715.     {% else %}
  716.         {% set backgroundImage = 'empty' %}
  717.     {% endif %}
  718.     <header class=\"header-tracol col-lg-8 mx-auto\" style=\"background-image: url({% if backgroundImage != 'empty' %}'/uploads/images/{{ backgroundImage }}'{% else %}{{ asset('img/projets_header.jpg') }}{% endif %});\">
  719.         <div class=\"col-lg-8 mx-auto div-svg-header\">
  720.             <div id=\"header-project\" class=\"header-habiter-div\">
  721.                 <svg id=\"svg-habiter\" width=\"10\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:avocode=\"https://avocode.com/\" viewBox=\"0 0 10 16\"><defs></defs><desc>Generated with Avocode.</desc><g><g><title>TracĂ© 76</title><path d=\"M9.08929,0.51465v0h-9.08929v0v14.77002v0l9.08929,-1.93109v0z\" fill=\"#f6a400\" fill-opacity=\"1\"></path></g></g></svg>
  722.                 <h2 class=\"header-habiter-title col-lg-6\">{% if headerContent.name is defined %}{{ headerContent.name }}{% else %}Nos projets{% endif %}</h2>
  723.                 <div class=\"col-lg-8 header-content\">
  724.                     {% if headerContent.content is defined %}{{ headerContent.content|raw }} {% else %}L’immobilier ayant un fort impact, Tracol Immobilier a pour ambition de rĂ©pondre aux grands enjeux urbains du Luxembourg, tout en dĂ©veloppant des projets environnementaux et sociĂ©taux.{% endif %}
  725.                 </div>
  726.             </div>
  727.         </div>
  728.     </header>
  729.     <div class=\"container-fluid\">
  730.         {% set sectionContent1 = content('Projets', 'Section-1') %}
  731.         <div class=\"col-lg-8 mx-auto div-svg-header pre-section\">
  732.             <div class=\"col-lg-4\" style=\"font-size: 2.3em;display: flex;flex-direction: column;margin-left: 10px;\">
  733.                 <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  734.                     <path id=\"TracĂ©_76\" data-name=\"TracĂ© 76\" d=\"M682.759,232.441h-9.089v14.77l9.089-1.931Z\" transform=\"translate(-673.669 -232.441)\" fill=\"#f6a400\"/>
  735.                 </svg>
  736.                 {% if projects|length == 0 %}
  737.                     <h1 class=\"project-title\">pas de projet</h1>
  738.                 {% elseif projects|length == 1  %}
  739.                     <h1 class=\"project-title\">{{ projects|length }} projet</h1>
  740.                 {% else %}
  741.                     <h1 class=\"project-title\">{{ projects|length }} projets</h1>
  742.                 {% endif %}
  743.             </div>
  744.             <div class=\"separator\"></div>
  745.             <div id=\"section-1-project\" class=\"col-lg-6 pre-section-content\">
  746.                 {% if headerContent.content is defined %}{{ sectionContent1.content|raw }}{% else %}DĂ©velopper durable, travailler avec des entreprises locales, maximiser nos impacts positifs (rĂ©gĂ©nĂ©ration urbaine, emploi local, etc.) et rĂ©duire nos impacts nĂ©gatifs (Ă©missions de CO2, biodiversitĂ©, ressources, â€¦) pour apporter du mieux-vivre en ville, voilĂ  comment nous imaginons nos projets !{% endif %}
  747.             </div>
  748.         </div>
  749.         <section class=\"project filter mt-5\" style=\"margin-bottom: 120px\">
  750.             <div id=\"button-project-page\" class=\"col-lg-8 mx-auto div-svg-header mb-4\" style=\"display: flex; align-items: center; padding-left: 7px\">
  751.                 <div class=\"input-filter\">
  752.                     <label for=\"all-projects\">TOUS</label>
  753.                     <input data-id=\"all\" type=\"radio\" name=\"type\" id=\"all-projects\" class=\"mr-3 projectButton\">
  754.                 </div>
  755.                 <div class=\"input-filter\">
  756.                     <label for=\"futur-projects\">A VENIR</label>
  757.                     <input data-id=\"futur\" type=\"radio\" name=\"type\" id=\"futur-projects\" class=\"mr-3 projectButton\">
  758.                 </div>
  759.                 <div class=\"input-filter\">
  760.                     <label for=\"construction-projects\">EN COURS</label>
  761.                     <input data-id=\"construction\" type=\"radio\" name=\"type\" id=\"construction-projects\" class=\" projectButton\">
  762.                 </div>
  763.                 {#
  764.                 <button data-id=\"all\" class=\"btn btn-primary all border-radius projectButton\"><span class=\"span-all\">TOUS</span></button>
  765.                 <button data-id=\"futur\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">A VENIR</span></button>
  766.                 <button data-id=\"construction\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">EN COURS</span></button>
  767.                 #}
  768.             </div>
  769.             <div id=\"button-project-page-mobile\" class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: none; align-items: center\">
  770.                 <div  class=\"flicking-viewport\">
  771.                     <div class=\"flicking-camera\">
  772.                         <div class=\"input-filter\">
  773.                             <label for=\"all-projects-mobile\">TOUS</label>
  774.                             <input data-id=\"all\" type=\"radio\" name=\"type\" id=\"all-projects-mobile\" class=\"mr-3 projectButton\">
  775.                         </div>
  776.                         <div class=\"input-filter\">
  777.                             <label for=\"futur-projects-mobile\">A VENIR</label>
  778.                             <input data-id=\"futur\" type=\"radio\" name=\"type\" id=\"futur-projects-mobile\" class=\"mr-3 projectButton\">
  779.                         </div>
  780.                         <div class=\"input-filter\">
  781.                             <label for=\"construction-projects-mobile\">EN COURS</label>
  782.                             <input data-id=\"construction\" type=\"radio\" name=\"type\" id=\"construction-projects-mobile\" class=\" projectButton\">
  783.                         </div>
  784.                         {#
  785.                         <button data-id=\"all\" class=\"btn btn-primary all border-radius projectButton\"><span class=\"span-all\">TOUS</span></button>
  786.                         <button data-id=\"futur\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">A VENIR</span></button>
  787.                         <button data-id=\"construction\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">EN COURS</span></button>
  788.                         #}
  789.                     </div>
  790.                 </div>
  791.             </div>
  792.             <div class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex; justify-content: center; flex-direction: column;\">
  793.                 {#
  794.                 <div id=\"filter-project-desktop\">
  795.                     {% for key, subType in getSubTypeProject() %}
  796.                         <button data-id=\"{{ key }}\" class=\"select-projet\">{{ subType }} <i class=\"fas fa-times\"></i></button>
  797.                     {% endfor %}
  798.                 </div>
  799.                 <div id=\"filter-project-mobile\" class=\"col-lg-3 div-form selectSubFilter\" style=\"display: none\">
  800.                     <div class=\"input-group dropdown show\">
  801.                         <label class=\"label-search-filter\" for=\"location\">Filtrer par Type</label>
  802.                         <input style=\"height: 75px; width: 60px;\" type=\"text\" autocomplete=\"off\" name=\"filters\" id=\"filters\"
  803.                                class=\"form-control\" aria-expanded=\"false\">
  804.                         <ul id=\"form-search-filter-ajax\" class=\"dropdown-menu form-search-filter-ajax\" aria-labelledby=\"\">
  805.                             {% for key, subType in getSubTypeProject() %}
  806.                                 <li value=\"{{ key }}\" data-id=\"{{ key }}\" class=\"select-filter\"><i class=\"fas fa-times\"></i>{{ subType }}</li>
  807.                             {% endfor %}
  808.                         </ul>
  809.                     </div>
  810.                 </div>
  811.                 #}
  812.                 {#
  813.                 <div id=\"loading\">
  814.                     <h1 id=\"showOutput\"></h1>
  815.                 </div>
  816.                 #}
  817.                 <div id=\"projects\" class=\"row\">
  818.                     {#
  819.                     {% for key, project in projects|slice(0,5) %}
  820.                         <div onclick=\"location.href='{{ path('project-detail', {'id': project.id}) }}'\" data-id=\"{{ path('project-detail', {'id': project.id}) }}\" class=\"col-lg-12 div-img-hover-2 project-desktop\" style=\"cursor: pointer\">
  821.                             {% if key == 0 %}
  822.                                 <div class=\"div-hover-2\" id=\"div-hover-2\" style=\"position: absolute; bottom: 8px; left: 8px; background-color: #242424; color: white; width: 291px; height: 85px\">
  823.                                     <p class=\"city\">{{ project.city.name }}</p>
  824.                                     <p class=\"project-name\">{{ project.reference }}</p>
  825.                                     {% if project.comments[0].comment is not empty %}
  826.                                         <p class=\"project-content\">
  827.                                             {{ project.comments[0].comment|slice(0, 250) }}</p>
  828.                                         <a  href=\"{{ path('project-detail', {'id': project.id}) }}\" class=\"project-arrow-2\">
  829.                                             <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  830.                                         </a>
  831.                                     {% else %}
  832.                                         <a style=\"margin-top: 180px\" href=\"{{ path('project-detail', {'id': project.id}) }}\" class=\"project-arrow-2\">
  833.                                             <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  834.                                         </a>
  835.                                     {% endif %}
  836.                                 </div>
  837.                                 <div class=\"tag-ref-projet-2\"><span class=\"text-tag-ref\">{{ typeProject(project.construction.construction_step) }}</span></div>
  838.                                 {% if project.pictures is not empty %}
  839.                                     {% for picture in project.pictures|slice(0,1) %}
  840.                                         <div class=\"img\" style=\"background-image: url('{{ picture.url }}')\"></div>
  841.                                     {% endfor %}
  842.                                 {% else %}
  843.                                     <div class=\"img\" style=\"background-image: url('{{ asset('build/Hudson_Ontario2.png') }}')\"></div>
  844.                                 {% endif %}
  845.                             {% endif %}
  846.                         </div>
  847.                     {% endfor %}
  848.                     #}
  849.                     <div class=\"col-lg-12 project-desktop\" style=\"display: flex; flex-wrap: wrap; flex-direction: row\">
  850.                         {% for key, property in projects|slice(0,5) %}
  851.                             <div  class=\"col-12 col-xl-6 col-lg-6 col-md-12 col-sm-12\" style=\"position:relative;cursor: pointer\">
  852.                                 {% if property.pictures is not empty %}
  853.                                     <div class=\"position-relative properties-slide\">
  854.                                             <div class=\"img\" style=\"background-image: url('{{ property.pictures.0.url }}')\"  onclick=\"location.href='{{ path('project-detail', {'id': property.id}) }}'\">
  855.                                             </div>
  856.                                     </div>
  857.                                 {% else %}
  858.                                     <div class=\"img\" style=\"background-image: url('{{ asset('build/Hudson_Ontario2.png') }}')\"></div>
  859.                                 {% endif %}
  860.                                 {#
  861.                                 <div class=\"row col-md-12 justify-content-between\">
  862.                                     <ul class=\"col-md-4 items\">
  863.                                         <li class=\"item surface\">
  864.                                             <img src=\"{{ asset('img/surface.svg') }}\" class=\"surface-logo\"> {{ property.area.value == null ? '' : property.area.value ~ areaConversion(property.area.unit) }}
  865.                                         </li>
  866.                                     </ul>
  867.                                     <div class=\"col-md-8 properties-price d-flex justify-content-end\">
  868.                                         {{ property.price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : property.price.value|number_format(2, ',', ' ') ~  property.price.currency|replace({\"EUR\": \" â‚¬\"})  }}
  869.                                     </div>
  870.                                 </div>
  871.                                 #}
  872.                                 <p class=\"city\">{{ property.city.name }}</p>
  873.                                 <p class=\"project-name\">{{ property.reference }}</p>
  874.                                 <div class=\"tag-ref-projet-2\"><span class=\"text-tag-ref\">{{ typeProject(property.construction.construction_step) }}</span></div>
  875.                             </div>
  876.                         {% endfor %}
  877.                     </div>
  878.                 </div>
  879.                 <div class=\"text-center text-capitalize more-projects\">
  880.                     <p>AFFICHER PLUS DE PROJETS</p>
  881.                 </div>
  882.             </div>
  883.             {#
  884.             <div class=\"col-lg-8 mx-auto div-svg-header content-projet\">
  885.                 {% set sectionContent1 = content('Projets', 'Section-2') %}
  886.                 <div id=\"section-2-project\" class=\"col-lg-6 habiter-content\">
  887.                     <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  888.                         <path id=\"TracĂ©_76\" data-name=\"TracĂ© 76\" d=\"M682.759,232.441h-9.089v14.77l9.089-1.931Z\" transform=\"translate(-673.669 -232.441)\" fill=\"#f6a400\"/>
  889.                     </svg>
  890.                     <div class=\"col-lg-9\">
  891.                         <h1 class=\"habiter-title mb-5\">
  892.                             {% if sectionContent1.name is defined %}{{ sectionContent1.name }}{% else %}INVESTIR Ă€ LUXEMBOURG{% endif %}
  893.                         </h1>
  894.                         {% if sectionContent1.content is defined %}{{ sectionContent1.content|raw }}{% else %}La demande locative est très importante au Luxembourg. En choisissant d’investir dans nos projets, vous avez l’assurance de louer très vite votre bien immobilier sans souci de devoir partir Ă  la recherche de locataires potentiels. Votre investissement devient rapidement rentable. De plus, notre service de gestion locative peut vous accompagner dans votre dĂ©marche de A Ă  Z.{% endif %}
  895.                     </div>
  896.                 </div>
  897.                 <div id=\"display-none-mobile\" class=\"col-lg-6 habiter-img\" {% if sectionContent1.picture is defined %}style=\"background-image: url('/uploads/images/{{ sectionContent1.picture[0].path }}')\"{% endif %}>
  898.                 </div>
  899.             </div>
  900.             <div class=\"col-lg-12 div-svg-header last-section-project\">
  901.                 <div id=\"section-projet-margin\" class=\"offset-lg-2 col-lg-2\" style=\"display: flex; justify-content: flex-start;\">
  902.                     <a id=\"link-more\" class=\"property-span-arrow\" href=\"{{ path('invest') }}\">EN SAVOIR PLUS
  903.                         <i class=\"fas fa-arrow-right property-arrow\"></i>
  904.                     </a>
  905.                 </div>
  906.                 <div class=\"col-lg-3\" style=\"display: flex;justify-content: flex-start;margin-left: 0;\">
  907.                     <a href=\"{{ path('location-management') }}\" class=\"property-span-arrow\">LA GESTION LOCATIVE
  908.                         <i class=\"fas fa-arrow-right property-arrow\"></i>
  909.                     </a>
  910.                 </div>
  911.             </div>
  912.             #}
  913.         </section>
  914.     </div>
  915.     <div id=\"img-property-section\" class=\"container-fluid\" style=\"display: none\">
  916.         <div class=\"col-lg-6 habiter-img\">
  917.             <img style=\"padding: 0px;\" height=\"430px\" class=\"img-100\" {% if sectionContent1.picture is defined %}src=\"/uploads/images/{{ sectionContent1.picture[0].path }}\"{% endif %}>
  918.         </div>
  919.     </div>
  920.     <script>
  921.         const futurProjects = document.getElementById('projects')
  922.         let buttons = document.getElementsByClassName('projectButton')
  923.         for (const eElement of buttons) {
  924.             eElement.addEventListener('click', function (e) {
  925.                 e.preventDefault()
  926.                 for (let button of buttons) {
  927.                     if (button.classList.contains('all')){
  928.                         button.classList.remove('all')
  929.                         //button.classList.add('come')
  930.                         //button.querySelector('span').classList.replace('span-all', 'span-projects')
  931.                     }
  932.                 }
  933.                 eElement.classList.remove('come')
  934.                 //eElement.classList.add('all')
  935.                 //eElement.querySelector('span').classList.replace('span-projects', 'span-all')
  936.                 fetch('projects/display/'+this.dataset.id, {
  937.                     method: 'GET',
  938.                 })
  939.                     .then(response => response.json())
  940.                     .then(data => {
  941.                         futurProjects.innerHTML = ''
  942.                         futurProjects.innerHTML = data.data
  943.                         _ww = \$(window).width();
  944.                         var lightbox = \$('.lightbox'),
  945.                             item = 0;
  946.                         \$('.lightbox-on').click(function(e){
  947.                             e.stopPropagation();
  948.                             item = 0;
  949.                             console.log('click btn');
  950.                             var id = \$(this).attr('data-id'),
  951.                                 max = 0;
  952.                             \$('#'+id).toggle();
  953.                             \$('#'+id).animate({opacity: 1}, 300);
  954.                             \$('#'+id).find('img').each(function( i ) {
  955.                                 //console.log('h : '+\$(this).height());
  956.                                 //console.log('w : '+\$(this).width());
  957.                                 max = i;
  958.                                 item = 1;
  959.                                 counter(item, max+1);
  960.                                 itemWidth(\$(this));
  961.                             });
  962.                         });
  963.                         lightbox.click(function(e) {
  964.                             e.stopPropagation();
  965.                             \$(this).animate({opacity: 0}, 300, function(){
  966.                                 \$(this).toggle();
  967.                             });
  968.                         });
  969.                         \$('.closer').on('click', function (e) {
  970.                             e.stopPropagation();
  971.                             \$(this).parent().animate(
  972.                                 {opacity: 0},
  973.                                 300,
  974.                                 function(){
  975.                                     \$(this).toggle();
  976.                                 }
  977.                             );
  978.                         });
  979.                         function itemWidth(img){
  980.                             img.closest('.items').width(img.width());
  981.                         }
  982.                         function counter(item, max){
  983.                             \$('.counter').text(item + ' / ' + max);
  984.                         }
  985.                         \$('.item', lightbox).on('click, swipeleft', function (e) {
  986.                             var wd = \$(this).width(),
  987.                                 last = \$(this).parent().find('.item').last(),
  988.                                 img = \$(this).find('.img');
  989.                             itemWidth(img);
  990.                             \$(this).animate(
  991.                                 {marginLeft: -wd, opacity: 0},
  992.                                 500,
  993.                                 'swing',
  994.                                 function(){
  995.                                     \$(this).insertAfter(last);
  996.                                     \$(this).css({marginLeft: 0, opacity: 1});
  997.                                 }
  998.                             );
  999.                         });
  1000.                         \$('.item', lightbox).on('swiperight', function (e) {
  1001.                             var wd = \$(this).width(),
  1002.                                 first = \$(this).parent().find('.item').first(),
  1003.                                 last = \$(this).parent().find('.item').last(),
  1004.                                 img = \$(this).find('.img');
  1005.                             itemWidth(img);
  1006.                             \$(last).insertBefore(\$(this));
  1007.                             \$(last).css({marginLeft: -wd, opacity: 0});
  1008.                             \$(this).parent().find('.item').eq(0).animate(
  1009.                                 {marginLeft: 0, opacity: 1},
  1010.                                 500,
  1011.                                 'swing'
  1012.                             );
  1013.                         });
  1014.                         \$('.arrows', lightbox).on('click', function (e) {
  1015.                             e.stopPropagation();
  1016.                             var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  1017.                                 max = \$(this)
  1018.                                     .siblings('.items').find('.item').length,
  1019.                                 first = \$(this).siblings('.items').find('.item').first(),
  1020.                                 last = \$(this).siblings('.items').find('.item').last(),
  1021.                                 isRight = \$(this).hasClass('right'),
  1022.                                 marginL = isRight ? -wd : 0,
  1023.                                 marginL0 = isRight ? 0: -wd,
  1024.                                 opacOn = isRight ? 1 : 0,
  1025.                                 opacOff = isRight ? 0 : 1;
  1026.                             if (!isRight){
  1027.                                 \$(last).insertBefore(first);
  1028.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  1029.                                 item++;
  1030.                                 if (item == max+1) {item = 1};
  1031.                             } else {
  1032.                                 item--;
  1033.                                 if (item == 0) {item = max};
  1034.                             };
  1035.                             counter(item, max);
  1036.                             var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  1037.                             itemWidth(img);
  1038.                             \$(this).siblings('.items').find('.item').eq(1).animate(
  1039.                                 {opacity: opacOn},
  1040.                                 500,
  1041.                                 'swing');
  1042.                             \$(this).siblings('.items').find('.item').eq(0).animate(
  1043.                                 {marginLeft: marginL, opacity: 1},
  1044.                                 500,
  1045.                                 'swing',
  1046.                                 function(){
  1047.                                     if (isRight){
  1048.                                         \$(this).insertAfter(last);
  1049.                                         \$(this).css({ marginLeft: 0, opacity: 1});
  1050.                                     }
  1051.                                 }
  1052.                             );
  1053.                         });
  1054.                         if (_ww > 768){
  1055.                             \$('.div-img-hover-2').hover(function (e) {
  1056.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1057.                                 var htext = \$(this).find('.project-content').height();
  1058.                                 if (htext == undefined){htext = 0};
  1059.                                 \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  1060.                                 \$(this).find('.project-content').css({'visibility': 'visible'});
  1061.                                 \$(this).find('.project-content').animate({opacity: 1}, 150);
  1062.                             }, function() {
  1063.                                 console.log('down');
  1064.                                 \$(this).find('.div-hover-2').animate({height : 85}, 150);
  1065.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  1066.                                 \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  1067.                                     \$(this).find('.project-content').css({'visibility': 'hidden'});
  1068.                                 });
  1069.                             });
  1070.                         } else {
  1071.                             \$('.div-img-hover-2').on( \"tap\", function( event ) {
  1072.                                 console.log('tap tap');
  1073.                                 var opened = \$(this).find('.div-hover-2').hasClass('open'),
  1074.                                     ht = opened ? 85 : '100%',
  1075.                                     vis = opened ? 0 : 1;
  1076.                                 \$(this).find('.div-hover-2').toggleClass('open');
  1077.                                 \$(this).find('.div-hover-2').animate({height : ht}, 150);
  1078.                                 \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  1079.                             });
  1080.                         }
  1081.                         \$('.div-hover').hover(function (e) {
  1082.                             \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1083.                         }, function() {
  1084.                             \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  1085.                         });
  1086.                     })
  1087.                     .catch((error) => {
  1088.                         console.error('Error:', error);
  1089.                     });
  1090.             })
  1091.         }
  1092.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  1093.             const test = document.getElementsByClassName('select-filter')
  1094.             for (const testElement of test) {
  1095.                 testElement.addEventListener('click', function (e) {
  1096.                     e.preventDefault()
  1097.                     testElement.classList.toggle('select-projet-active')
  1098.                     const infos = document.querySelector('.projectButton.all')
  1099.                     const dataId = []
  1100.                     const tests = document.querySelectorAll('.select-filter.select-projet-active')
  1101.                     for (const test1 of tests) {
  1102.                         dataId.push(parseFloat(test1.dataset.id))
  1103.                     }
  1104.                     fetch('projects/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  1105.                         method: 'GET'
  1106.                     })
  1107.                         .then(response => response.json())
  1108.                         .then(data => {
  1109.                             futurProjects.innerHTML = data.data
  1110.                         })
  1111.                         .catch((error) => {
  1112.                             console.error('Error:', error);
  1113.                         });
  1114.                 })
  1115.             }
  1116.         } else {
  1117.             const test = document.getElementsByClassName('select-projet')
  1118.             for (const testElement of test) {
  1119.                 testElement.addEventListener('click', function (e) {
  1120.                     displayLoading()
  1121.                     e.preventDefault()
  1122.                     testElement.classList.toggle('select-projet-active')
  1123.                     const infos = document.querySelector('.projectButton.all')
  1124.                     const dataId = []
  1125.                     const tests = document.querySelectorAll('.select-projet.select-projet-active')
  1126.                     for (const test1 of tests) {
  1127.                         dataId.push(parseFloat(test1.dataset.id))
  1128.                     }
  1129.                     fetch('projects/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  1130.                         method: 'GET'
  1131.                     })
  1132.                         .then(response => response.json())
  1133.                         .then(data => {
  1134.                             hideLoading()
  1135.                             futurProjects.innerHTML = data.data
  1136.                             _ww = \$(window).width();
  1137.                             var lightbox = \$('.lightbox'),
  1138.                                 item = 0;
  1139.                             \$('.lightbox-on').click(function(e){
  1140.                                 e.stopPropagation();
  1141.                                 item = 0;
  1142.                                 console.log('click btn');
  1143.                                 var id = \$(this).attr('data-id'),
  1144.                                     max = 0;
  1145.                                 \$('#'+id).toggle();
  1146.                                 \$('#'+id).animate({opacity: 1}, 300);
  1147.                                 \$('#'+id).find('img').each(function( i ) {
  1148.                                     //console.log('h : '+\$(this).height());
  1149.                                     //console.log('w : '+\$(this).width());
  1150.                                     max = i;
  1151.                                     item = 1;
  1152.                                     counter(item, max+1);
  1153.                                     itemWidth(\$(this));
  1154.                                 });
  1155.                             });
  1156.                             lightbox.click(function(e) {
  1157.                                 e.stopPropagation();
  1158.                                 \$(this).animate({opacity: 0}, 300, function(){
  1159.                                     \$(this).toggle();
  1160.                                 });
  1161.                             });
  1162.                             \$('.closer').on('click', function (e) {
  1163.                                 e.stopPropagation();
  1164.                                 \$(this).parent().animate(
  1165.                                     {opacity: 0},
  1166.                                     300,
  1167.                                     function(){
  1168.                                         \$(this).toggle();
  1169.                                     }
  1170.                                 );
  1171.                             });
  1172.                             function itemWidth(img){
  1173.                                 img.closest('.items').width(img.width());
  1174.                             }
  1175.                             function counter(item, max){
  1176.                                 \$('.counter').text(item + ' / ' + max);
  1177.                             }
  1178.                             \$('.item', lightbox).on('click, swipeleft', function (e) {
  1179.                                 var wd = \$(this).width(),
  1180.                                     last = \$(this).parent().find('.item').last(),
  1181.                                     img = \$(this).find('.img');
  1182.                                 itemWidth(img);
  1183.                                 \$(this).animate(
  1184.                                     {marginLeft: -wd, opacity: 0},
  1185.                                     500,
  1186.                                     'swing',
  1187.                                     function(){
  1188.                                         \$(this).insertAfter(last);
  1189.                                         \$(this).css({marginLeft: 0, opacity: 1});
  1190.                                     }
  1191.                                 );
  1192.                             });
  1193.                             \$('.item', lightbox).on('swiperight', function (e) {
  1194.                                 var wd = \$(this).width(),
  1195.                                     first = \$(this).parent().find('.item').first(),
  1196.                                     last = \$(this).parent().find('.item').last(),
  1197.                                     img = \$(this).find('.img');
  1198.                                 itemWidth(img);
  1199.                                 \$(last).insertBefore(\$(this));
  1200.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  1201.                                 \$(this).parent().find('.item').eq(0).animate(
  1202.                                     {marginLeft: 0, opacity: 1},
  1203.                                     500,
  1204.                                     'swing'
  1205.                                 );
  1206.                             });
  1207.                             \$('.arrows', lightbox).on('click', function (e) {
  1208.                                 e.stopPropagation();
  1209.                                 var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  1210.                                     max = \$(this)
  1211.                                         .siblings('.items').find('.item').length,
  1212.                                     first = \$(this).siblings('.items').find('.item').first(),
  1213.                                     last = \$(this).siblings('.items').find('.item').last(),
  1214.                                     isRight = \$(this).hasClass('right'),
  1215.                                     marginL = isRight ? -wd : 0,
  1216.                                     marginL0 = isRight ? 0: -wd,
  1217.                                     opacOn = isRight ? 1 : 0,
  1218.                                     opacOff = isRight ? 0 : 1;
  1219.                                 if (!isRight){
  1220.                                     \$(last).insertBefore(first);
  1221.                                     \$(last).css({marginLeft: -wd, opacity: 0});
  1222.                                     item++;
  1223.                                     if (item == max+1) {item = 1};
  1224.                                 } else {
  1225.                                     item--;
  1226.                                     if (item == 0) {item = max};
  1227.                                 };
  1228.                                 counter(item, max);
  1229.                                 var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  1230.                                 itemWidth(img);
  1231.                                 \$(this).siblings('.items').find('.item').eq(1).animate(
  1232.                                     {opacity: opacOn},
  1233.                                     500,
  1234.                                     'swing');
  1235.                                 \$(this).siblings('.items').find('.item').eq(0).animate(
  1236.                                     {marginLeft: marginL, opacity: 1},
  1237.                                     500,
  1238.                                     'swing',
  1239.                                     function(){
  1240.                                         if (isRight){
  1241.                                             \$(this).insertAfter(last);
  1242.                                             \$(this).css({ marginLeft: 0, opacity: 1});
  1243.                                         }
  1244.                                     }
  1245.                                 );
  1246.                             });
  1247.                             if (_ww > 768){
  1248.                                 \$('.div-img-hover-2').hover(function (e) {
  1249.                                     \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1250.                                     var htext = \$(this).find('.project-content').height();
  1251.                                     if (htext == undefined){htext = 0};
  1252.                                     \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  1253.                                     \$(this).find('.project-content').css({'visibility': 'visible'});
  1254.                                     \$(this).find('.project-content').animate({opacity: 1}, 150);
  1255.                                 }, function() {
  1256.                                     console.log('down');
  1257.                                     \$(this).find('.div-hover-2').animate({height : 85}, 150);
  1258.                                     \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  1259.                                     \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  1260.                                         \$(this).find('.project-content').css({'visibility': 'hidden'});
  1261.                                     });
  1262.                                 });
  1263.                             } else {
  1264.                                 \$('.div-hover-2').on( \"click\", function( event ) {
  1265.                                     console.log('tap tap');
  1266.                                     var opened = \$(this).find('.div-hover-2').hasClass('open'),
  1267.                                         ht = opened ? 85 : '100%',
  1268.                                         vis = opened ? 0 : 1;
  1269.                                     \$(this).find('.div-hover-2').toggleClass('open');
  1270.                                     \$(this).find('.div-hover-2').animate({height : ht}, 150);
  1271.                                     \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  1272.                                 });
  1273.                             }
  1274.                             \$('.div-hover').hover(function (e) {
  1275.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1276.                             }, function() {
  1277.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  1278.                             });
  1279.                         })
  1280.                         .catch((error) => {
  1281.                             console.error('Error:', error);
  1282.                         });
  1283.                 })
  1284.             }
  1285.         }
  1286.         const buttonFilter = document.getElementsByClassName('select-projet')
  1287.         for (const buttonFilterElement of buttonFilter) {
  1288.             buttonFilterElement.addEventListener('click', function () {
  1289.             })
  1290.         }
  1291.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  1292.             new Flicking(\"#flick4\", {
  1293.                 moveType: \"freeScroll\",
  1294.                 bound: true
  1295.             });
  1296.         }
  1297.         const filter = document.getElementById('filters')
  1298.         const filterElement = document.getElementById('form-search-filter-ajax')
  1299.         filter.addEventListener('click', function (e) {
  1300.             e.preventDefault()
  1301.             filterElement.classList.toggle('show')
  1302.         })
  1303.         const loader = document.querySelector(\"#loading\");
  1304.         function displayLoading() {
  1305.             loader.classList.add(\"display\");
  1306.             // to stop loading after some time
  1307.             setTimeout(() => {
  1308.                 loader.classList.remove(\"display\");
  1309.             }, 5000);
  1310.         }
  1311.         // hiding loading
  1312.         function hideLoading() {
  1313.             loader.classList.remove(\"display\");
  1314.         }
  1315.     </script>
  1316. {% endblock %}
  1317. ""project.html.twig""/home/juca-stage/sites/sym/tracol/templates/project.html.twig");
  1318.     }
  1319. }