var/cache/dev/twig/b9/b9f86ce1c1590efec78b1412f4c8d337a3602bc7a804d11f24351f6588d3096f.php line 51

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. /* property.html.twig */
  15. class __TwigTemplate_688911016a73e4f1042c389755a10c3987573148adc90eca33ef42a76f6e9f16 extends Template
  16. {
  17.     private $source;
  18.     private $macros = [];
  19.     public function __construct(Environment $env)
  20.     {
  21.         parent::__construct($env);
  22.         $this->source $this->getSourceContext();
  23.         $this->blocks = [
  24.             'title' => [$this'block_title'],
  25.             'metaDescription' => [$this'block_metaDescription'],
  26.             'body' => [$this'block_body'],
  27.         ];
  28.     }
  29.     protected function doGetParent(array $context)
  30.     {
  31.         // line 1
  32.         return "base.html.twig";
  33.     }
  34.     protected function doDisplay(array $context, array $blocks = [])
  35.     {
  36.         $macros $this->macros;
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  38.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""property.html.twig"));
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  40.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""property.html.twig"));
  41.         $this->parent $this->loadTemplate("base.html.twig""property.html.twig"1);
  42.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  43.         
  44.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  45.         
  46.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  47.     }
  48.     // line 3
  49.     public function block_title($context, array $blocks = [])
  50.     {
  51.         $macros $this->macros;
  52.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  53.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  54.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  55.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  56.         yield "Biens";
  57.         
  58.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  59.         
  60.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  61.         return; yield '';
  62.     }
  63.     // line 4
  64.     public function block_metaDescription($context, array $blocks = [])
  65.     {
  66.         $macros $this->macros;
  67.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  68.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  69.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  70.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""metaDescription"));
  71.         // line 5
  72.         yield "    ";
  73.         $context["headerContent"] = $this->extensions['App\Twig\ContentExtension']->Content("Biens""Header");
  74.         // line 6
  75.         yield "    <meta name=\"description\" content=\"
  76.     ";
  77.         // line 7
  78.         if (CoreExtension::getAttribute($this->env$this->source, ($context["headerContent"] ?? null), "content", [], "any"truetruefalse7)) {
  79.             // line 8
  80.             yield "        ";
  81.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::striptags(CoreExtension::getAttribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'8$this->source); })()), "content", [], "any"falsefalsefalse8)), "html"nulltrue);
  82.             yield "
  83.     ";
  84.         } else {
  85.             // line 10
  86.             yield "         Tracol Immobilier propose une large offre en immobilier neuf (logements, bureaux, commerces), qui se caractérise par une architecture résolument contemporaine, des matériaux de qualité, et le soin apporté à chaque détail.
  87.     ";
  88.         }
  89.         // line 12
  90.         yield "    \">
  91. ";
  92.         
  93.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  94.         
  95.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  96.         return; yield '';
  97.     }
  98.     // line 15
  99.     public function block_body($context, array $blocks = [])
  100.     {
  101.         $macros $this->macros;
  102.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  103.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  104.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  105.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  106.         yield 
  107.     ";
  108.         // line 17
  109.         $context["headerContent"] = $this->extensions['App\Twig\ContentExtension']->Content("Biens""Header");
  110.         // line 18
  111.         yield "
  112.     ";
  113.         // line 19
  114.         if ((CoreExtension::getAttribute($this->env$this->source, ($context["headerContent"] ?? null), "picture", [], "any"truetruefalse19) &&  !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source, (isset($context["headerContent"]) || array_key_exists("headerContent"$context) ? $context["headerContent"] : (function () { throw new RuntimeError('Variable "headerContent" does not exist.'19$this->source); })()), "picture", [], "any"falsefalsefalse19)))) {
  115.             // line 20
  116.             yield "        ";
  117.             $context["backgroundImage"] = CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($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); })()), "picture", [], "any"falsefalsefalse20), 0, [], "array"falsefalsefalse20), "path", [], "any"falsefalsefalse20);
  118.             // line 21
  119.             yield "    ";
  120.         } else {
  121.             // line 22
  122.             yield "        ";
  123.             $context["backgroundImage"] = "empty";
  124.             // line 23
  125.             yield "    ";
  126.         }
  127.         // line 24
  128.         yield "
  129.     ";
  130.         // line 39
  131.         yield "
  132.     <div class=\"container-fluid\">
  133.         ";
  134.         // line 44
  135.         $context["sectionContent1"] = $this->extensions['App\Twig\ContentExtension']->Content("Biens""Section-1");
  136.         // line 45
  137.         yield "
  138.         ";
  139.         // line 70
  140.         yield "
  141.         <section class=\"project\" style=\"margin-top: 60px\">
  142.             
  143.             <div id=\"button-property-page\"  class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex; align-items: center; padding-left: 7px\">
  144.                 <button data-id=\"all\" class=\"btn btn-primary all border-radius projectButton\"><span class=\"span-all\">TOUS</span></button>
  145.                 <button data-id=\"sale\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">ACHAT</span></button>
  146.                 <button data-id=\"rental\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">LOCATION</span></button>
  147.             </div>
  148.             <div id=\"button-property-page-mobile\" class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: none; align-items: center\">
  149.                 ";
  150.         // line 88
  151.         yield "            </div>
  152.             <div class=\"col-xl-8 mx-auto div-svg-header deactive-tablet\" style=\"display: flex; flex-direction: column; justify-content: center\">
  153.                 <div class=\"col-md-4\" style=\"margin-top: 40px\">
  154.                     <p>Trier par :</p>
  155.                     <form>
  156.                         <select name=\"subfilter\" class=\"form-control with-appearance\" id=\"filterProperties\">
  157.                             <option value=\"\">Sélectionner</option>
  158.                             <option value=\"date\">Date de publication</option>
  159.                             <option value=\"asc\">Prix croissant</option>
  160.                             <option value=\"desc\">Prix décroissant</option>
  161.                         </select>
  162.                     </form>
  163.                 </div>
  164.                 ";
  165.         // line 128
  166.         yield "
  167.                 <div id=\"loading\">
  168.                     <h1 id=\"showOutput\"></h1>
  169.                 </div>
  170.                 <div id=\"properties\" class=\"row col-lg-12\">
  171.                     ";
  172.         // line 138
  173.         $context['_parent'] = $context;
  174.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["properties"]) || array_key_exists("properties"$context) ? $context["properties"] : (function () { throw new RuntimeError('Variable "properties" does not exist.'138$this->source); })()));
  175.         $context['_iterated'] = false;
  176.         $context['loop'] = [
  177.           'parent' => $context['_parent'],
  178.           'index0' => 0,
  179.           'index'  => 1,
  180.           'first'  => true,
  181.         ];
  182.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  183.             $length count($context['_seq']);
  184.             $context['loop']['revindex0'] = $length 1;
  185.             $context['loop']['revindex'] = $length;
  186.             $context['loop']['length'] = $length;
  187.             $context['loop']['last'] = === $length;
  188.         }
  189.         foreach ($context['_seq'] as $context["_key"] => $context["property"]) {
  190.             // line 139
  191.             yield "                        <div  class=\"property col-xxl-4 col-xl-6 col-lg-6 col-md-6 col-sm-12 div-img-hover-2\" data-date=\"";
  192.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["property"], "created_at", [], "any"falsefalsefalse139), "html"nulltrue);
  193.             yield "\" data-price=\"";
  194.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse139), "value", [], "any"falsefalsefalse139), "html"nulltrue);
  195.             yield "\" style=\"cursor: pointer\">
  196.                             ";
  197.             // line 162
  198.             yield "
  199.                             ";
  200.             // line 164
  201.             yield "                            ";
  202.             if ( !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse164))) {
  203.                 // line 165
  204.                 yield "                                <div class=\"position-relative properties-slide slick-slide-single-";
  205.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse165), "html"nulltrue);
  206.                 yield " image\">
  207.                                     ";
  208.                 // line 166
  209.                 $context['_parent'] = $context;
  210.                 $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::slice($this->env->getCharset(), CoreExtension::getAttribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse166), 03));
  211.                 foreach ($context['_seq'] as $context["_key"] => $context["picture"]) {
  212.                     // line 167
  213.                     yield "                                        ";
  214.                     $context["url"] = ((CoreExtension::inFilter("http"CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse167))) ? (CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse167)) : ($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((("uploads/images/properties/" CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse167)) . "/") . CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse167)))));
  215.                     // line 168
  216.                     yield "                                        <div class=\"img\" style=\"background: url('";
  217.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["url"]) || array_key_exists("url"$context) ? $context["url"] : (function () { throw new RuntimeError('Variable "url" does not exist.'168$this->source); })()), "html"nulltrue);
  218.                     yield "')no-repeat center;background-size:cover;\"  onclick=\"location.href='";
  219.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse168)]), "html"nulltrue);
  220.                     yield "'\">
  221.                                         </div>
  222.                                     ";
  223.                 }
  224.                 $_parent $context['_parent'];
  225.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['picture'], $context['_parent'], $context['loop']);
  226.                 $context array_intersect_key($context$_parent) + $_parent;
  227.                 // line 171
  228.                 yield "                                </div>
  229.                             ";
  230.             } else {
  231.                 // line 173
  232.                 yield "                            <div class=\"position-relative properties-slide image\">
  233.                                 <a href=\"";
  234.                 // line 174
  235.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse174)]), "html"nulltrue);
  236.                 yield "\"><img src=\"";
  237.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("build/Hudson_Ontario2.png"), "html"nulltrue);
  238.                 yield "\" /></a>
  239.                             </div>
  240.                             ";
  241.             }
  242.             // line 177
  243.             yield "                            <a href=\"";
  244.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse177)]), "html"nulltrue);
  245.             yield "\">
  246.                             <div class=\"row col-md-12 justify-content-between\">
  247.                                 <ul class=\"col-md-4 items\">
  248.                                     <li class=\"item surface\">
  249.                                         ";
  250.             // line 184
  251.             yield "                                         ";
  252.             (((=== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse184), "value", [], "any"falsefalsefalse184), null))) ? (yield "") : (yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse184), "value", [], "any"falsefalsefalse184) . $this->extensions['App\Twig\ContentExtension']->areaConversion(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse184), "unit", [], "any"falsefalsefalse184))), "html"nulltrue)));
  253.             yield "
  254.                                     </li>
  255.                                     ";
  256.             // line 186
  257.             if ((!== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->source$context["property"], "bedrooms", [], "any"falsefalsefalse186), 0))) {
  258.                 // line 187
  259.                 yield "                                        <li class=\"item surface\">
  260.                                             <img src=\"";
  261.                 // line 188
  262.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/icons/chambre.svg"), "html"nulltrue);
  263.                 yield "\" alt=\"Icone chambre\" style=\"width:22px;margin-right:10px;margin-top:5px;\"> ";
  264.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["property"], "bedrooms", [], "any"falsefalsefalse188), "html"nulltrue);
  265.                 yield "
  266.                                         </li>
  267.                                     ";
  268.             }
  269.             // line 191
  270.             yield "                                </ul>
  271.                                 <div class=\"col-md-8 properties-price d-flex justify-content-end\">
  272.                                     ";
  273.             // line 193
  274.             (((=== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse193), "value", [], "any"falsefalsefalse193), null))) ? (yield "<span style=\"font-size: 21px !important;\">sur demande</span>") : (yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($this->extensions['Twig\Extension\CoreExtension']->formatNumber(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse193), "value", [], "any"falsefalsefalse193), 2","" ") . Twig\Extension\CoreExtension::replace(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse193), "currency", [], "any"falsefalsefalse193), ["EUR" => " €"])), "html"nulltrue)));
  275.             yield "
  276.                                 </div>
  277.                             </div>
  278.                             <p class=\"city\">";
  279.             // line 196
  280.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "city", [], "any"falsefalsefalse196), "name", [], "any"falsefalsefalse196), "html"nulltrue);
  281.             yield "</p>
  282.                             <p class=\"project-name\">";
  283.             // line 197
  284.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\ContentExtension']->getTypeProperty(CoreExtension::getAttribute($this->env$this->source$context["property"], "type", [], "any"falsefalsefalse197)), "html"nulltrue);
  285.             yield "</p>
  286.                             </a>
  287.                         </div>
  288.                     ";
  289.             $context['_iterated'] = true;
  290.             ++$context['loop']['index0'];
  291.             ++$context['loop']['index'];
  292.             $context['loop']['first'] = false;
  293.             if (isset($context['loop']['length'])) {
  294.                 --$context['loop']['revindex0'];
  295.                 --$context['loop']['revindex'];
  296.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  297.             }
  298.         }
  299.         if (!$context['_iterated']) {
  300.             // line 201
  301.             yield "                        <h4>Aucun bien disponible avec ces critères</h4>
  302.                     ";
  303.         }
  304.         $_parent $context['_parent'];
  305.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['property'], $context['_parent'], $context['loop']);
  306.         $context array_intersect_key($context$_parent) + $_parent;
  307.         // line 203
  308.         yield "                </div>
  309.                 ";
  310.         // line 207
  311.         yield "            </div>
  312.         </section>
  313.         <section class=\"other-properties pt-5 pb-5\" style=\"background:#F7F7F7\">
  314.             <div class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex;\">
  315.                 <div class=\"col-lg-6\">
  316.                     <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  317.                         <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\"></path>
  318.                     </svg>
  319.                     <h1 class=\"project-title\">
  320.                         ";
  321.         // line 217
  322.         if ((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, ($context["app"] ?? null), "request", [], "any"falsetruefalse217), "attributes", [], "any"falsetruefalse217), "get", ["_route_params"], "method"falsetruefalse217), "keyword", [], "array"truetruefalse217) || array_key_exists("idCategory"$context))) {
  323.             // line 218
  324.             yield "                            ";
  325.             if (((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, ($context["app"] ?? null), "request", [], "any"falsetruefalse218), "attributes", [], "any"falsetruefalse218), "get", ["_route_params"], "method"falsetruefalse218), "keyword", [], "array"truetruefalse218) && (=== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::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.'218$this->source); })()), "request", [], "any"falsefalsefalse218), "attributes", [], "any"falsefalsefalse218), "get", ["_route_params"], "method"falsefalsefalse218), "keyword", [], "array"falsefalsefalse218), "location"))) || (array_key_exists("idCategory"$context) && (=== CoreExtension::compare((isset($context["idCategory"]) || array_key_exists("idCategory"$context) ? $context["idCategory"] : (function () { throw new RuntimeError('Variable "idCategory" does not exist.'218$this->source); })()), 1))))) {
  326.                 // line 219
  327.                 yield "                                ";
  328.                 $context["otherDispo"] = "vente";
  329.                 // line 220
  330.                 yield "                            ";
  331.             } else {
  332.                 // line 221
  333.                 yield "                                ";
  334.                 $context["otherDispo"] = "location";
  335.                 // line 222
  336.                 yield "                            ";
  337.             }
  338.             // line 223
  339.             yield "                        ";
  340.         } else {
  341.             // line 224
  342.             yield "                            ";
  343.             $context["otherDispo"] = null;
  344.             // line 225
  345.             yield "                        ";
  346.         }
  347.         // line 226
  348.         yield "                        NOS biens disponibles<br> ";
  349.         if ((isset($context["otherDispo"]) || array_key_exists("otherDispo"$context) ? $context["otherDispo"] : (function () { throw new RuntimeError('Variable "otherDispo" does not exist.'226$this->source); })())) {
  350.             yield "À la <span style=\"color:#F6A400\">";
  351.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["otherDispo"]) || array_key_exists("otherDispo"$context) ? $context["otherDispo"] : (function () { throw new RuntimeError('Variable "otherDispo" does not exist.'226$this->source); })()), "html"nulltrue);
  352.             yield "</span>";
  353.         }
  354.         // line 227
  355.         yield "                    </h1>
  356.                 </div>
  357.             </div>
  358.             <div  class=\"col-lg-8 mx-auto\">
  359.                 <div id=\"propertiesOther\" class=\"col-lg-12 property-other-list\" style=\"display: flex; flex-wrap: wrap; flex-direction: row\">
  360.                     ";
  361.         // line 233
  362.         $context['_parent'] = $context;
  363.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["otherProperties"]) || array_key_exists("otherProperties"$context) ? $context["otherProperties"] : (function () { throw new RuntimeError('Variable "otherProperties" does not exist.'233$this->source); })()));
  364.         $context['loop'] = [
  365.           'parent' => $context['_parent'],
  366.           'index0' => 0,
  367.           'index'  => 1,
  368.           'first'  => true,
  369.         ];
  370.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  371.             $length count($context['_seq']);
  372.             $context['loop']['revindex0'] = $length 1;
  373.             $context['loop']['revindex'] = $length;
  374.             $context['loop']['length'] = $length;
  375.             $context['loop']['last'] = === $length;
  376.         }
  377.         foreach ($context['_seq'] as $context["_key"] => $context["property"]) {
  378.             // line 234
  379.             yield "                        <div  class=\"property-other other col-xl-4 col-lg-6 col-md-12 col-sm-12 div-img-hover-2\" style=\"cursor: pointer\">
  380.                             ";
  381.             // line 257
  382.             yield "
  383.                             ";
  384.             // line 260
  385.             yield "                            ";
  386.             if ( !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse260))) {
  387.                 // line 261
  388.                 yield "                                <div class=\"position-relative properties-slide slick-slide-single-";
  389.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse261), "html"nulltrue);
  390.                 yield "\">
  391.                                     ";
  392.                 // line 262
  393.                 $context['_parent'] = $context;
  394.                 $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::slice($this->env->getCharset(), CoreExtension::getAttribute($this->env$this->source$context["property"], "pictures", [], "any"falsefalsefalse262), 03));
  395.                 foreach ($context['_seq'] as $context["_key"] => $context["picture"]) {
  396.                     // line 263
  397.                     yield "                                        ";
  398.                     // line 264
  399.                     yield "                                        ";
  400.                     $context["url"] = ((CoreExtension::inFilter("http"CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse264))) ? (CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse264)) : ($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(((("uploads/images/properties/" CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse264)) . "/") . CoreExtension::getAttribute($this->env$this->source$context["picture"], "url", [], "any"falsefalsefalse264)))));
  401.                     // line 265
  402.                     yield "                                        <div class=\"img\" style=\"background-image: url('";
  403.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["url"]) || array_key_exists("url"$context) ? $context["url"] : (function () { throw new RuntimeError('Variable "url" does not exist.'265$this->source); })()), "html"nulltrue);
  404.                     yield "')\"  onclick=\"location.href='";
  405.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse265)]), "html"nulltrue);
  406.                     yield "'\">
  407.                                         </div>
  408.                                     ";
  409.                 }
  410.                 $_parent $context['_parent'];
  411.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['picture'], $context['_parent'], $context['loop']);
  412.                 $context array_intersect_key($context$_parent) + $_parent;
  413.                 // line 268
  414.                 yield "                                </div>
  415.                             ";
  416.             } else {
  417.                 // line 271
  418.                 yield "                                <div class=\"position-relative properties-slide\">
  419.                                     <a href=\"";
  420.                 // line 272
  421.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse272)]), "html"nulltrue);
  422.                 yield "\"><img src=\"";
  423.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("build/Hudson_Ontario2.png"), "html"nulltrue);
  424.                 yield "\" /></a>
  425.                                 </div>
  426.                             ";
  427.             }
  428.             // line 275
  429.             yield "                            <a href=\"";
  430.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("property-detail", ["id" => CoreExtension::getAttribute($this->env$this->source$context["property"], "id", [], "any"falsefalsefalse275)]), "html"nulltrue);
  431.             yield "\">
  432.                             <div class=\"row col-md-12 justify-content-between infos-list\">
  433.                                 <ul class=\"col-md-4 items\">
  434.                                     <li class=\"item surface\">
  435.                                         ";
  436.             // line 280
  437.             yield "                                        ";
  438.             (((=== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse280), "value", [], "any"falsefalsefalse280), null))) ? (yield "") : (yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse280), "value", [], "any"falsefalsefalse280) . $this->extensions['App\Twig\ContentExtension']->areaConversion(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "area", [], "any"falsefalsefalse280), "unit", [], "any"falsefalsefalse280))), "html"nulltrue)));
  439.             yield "
  440.                                     </li>
  441.                                 </ul>
  442.                                 <div class=\"col-md-8 properties-price d-flex justify-content-end\">
  443.                                     ";
  444.             // line 284
  445.             (((=== CoreExtension::compare(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse284), "value", [], "any"falsefalsefalse284), null))) ? (yield "<span style=\"font-size: 14px !important;\">sur demande</span>") : (yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($this->extensions['Twig\Extension\CoreExtension']->formatNumber(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse284), "value", [], "any"falsefalsefalse284), 2","" ") . Twig\Extension\CoreExtension::replace(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "price", [], "any"falsefalsefalse284), "currency", [], "any"falsefalsefalse284), ["EUR" => " €"])), "html"nulltrue)));
  446.             yield "
  447.                                 </div>
  448.                             </div>
  449.                             <p class=\"city\">";
  450.             // line 287
  451.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source$context["property"], "city", [], "any"falsefalsefalse287), "name", [], "any"falsefalsefalse287), "html"nulltrue);
  452.             yield "</p>
  453.                             <p class=\"project-name\">";
  454.             // line 288
  455.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\ContentExtension']->getTypeProperty(CoreExtension::getAttribute($this->env$this->source$context["property"], "type", [], "any"falsefalsefalse288)), "html"nulltrue);
  456.             yield "</p>
  457.                             </a>
  458.                         </div>
  459.                     ";
  460.             ++$context['loop']['index0'];
  461.             ++$context['loop']['index'];
  462.             $context['loop']['first'] = false;
  463.             if (isset($context['loop']['length'])) {
  464.                 --$context['loop']['revindex0'];
  465.                 --$context['loop']['revindex'];
  466.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  467.             }
  468.         }
  469.         $_parent $context['_parent'];
  470.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['property'], $context['_parent'], $context['loop']);
  471.         $context array_intersect_key($context$_parent) + $_parent;
  472.         // line 292
  473.         yield "                </div>
  474.                 ";
  475.         // line 294
  476.         $context["paramUrl"] = CoreExtension::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.'294$this->source); })()), "request", [], "any"falsefalsefalse294), "get", ["keyword"], "method"falsefalsefalse294);
  477.         // line 295
  478.         yield "                ";
  479.         if ((=== CoreExtension::compare(CoreExtension::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.'295$this->source); })()), "request", [], "any"falsefalsefalse295), "get", ["keyword"], "method"falsefalsefalse295), "location"))) {
  480.             // line 296
  481.             yield "                    ";
  482.             $context["paramUrl"] = "vente";
  483.             // line 297
  484.             yield "                ";
  485.         } elseif ((=== CoreExtension::compare(CoreExtension::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.'297$this->source); })()), "request", [], "any"falsefalsefalse297), "get", ["keyword"], "method"falsefalsefalse297), "vente"))) {
  486.             // line 298
  487.             yield "                    ";
  488.             $context["paramUrl"] = "location";
  489.             // line 299
  490.             yield "                ";
  491.         }
  492.         // line 300
  493.         yield "                <div id=\"link-none\" class=\"col-lg-12 mx-auto other-property-link div-svg-header d-flex justify-content-end\">
  494.                     <div>
  495.                         <a id=\"link-none-a d-flex\" class=\"property-span-arrow\" href=\"";
  496.         // line 302
  497.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("properties", ["keyword" => (isset($context["paramUrl"]) || array_key_exists("paramUrl"$context) ? $context["paramUrl"] : (function () { throw new RuntimeError('Variable "paramUrl" does not exist.'302$this->source); })())]), "html"nulltrue);
  498.         yield "\">Découvrir plus
  499.                             <svg class=\"svg-inline--fa fa-arrow-right fa-w-14 property-arrow\" aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"arrow-right\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" data-fa-i2svg=\"\"><path fill=\"currentColor\" d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"></path></svg><!-- <i class=\"fas fa-arrow-right property-arrow\"></i> Font Awesome fontawesome.com -->
  500.                         </a>
  501.                     </div>
  502.                 </div>
  503.             </div>
  504.         </section>
  505.         ";
  506.         // line 351
  507.         yield "
  508.     </div>
  509.     
  510.     <div id=\"img-property-section\" class=\"container-fluid\" style=\"display: none\">
  511.         <div id=\"link-ok\" class=\"col-lg-3\" style=\"display: flex; align-content: center\">
  512.             <a class=\"property-span-arrow\" href=\"";
  513.         // line 356
  514.         yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("habiter");
  515.         yield "\">Découvrir les avantages
  516.                 <i class=\"fas fa-arrow-right property-arrow\"></i>
  517.             </a>
  518.         </div>
  519.         <div class=\"col-lg-6 habiter-img\">
  520.             ";
  521.         // line 363
  522.         if ((CoreExtension::getAttribute($this->env$this->source, ($context["sectionContent1"] ?? null), "picture", [], "any"truetruefalse363) && CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, ($context["sectionContent1"] ?? null), "picture", [], "any"falsetruefalse363), 0, [], "array"truetruefalse363))) {
  523.             // line 364
  524.             yield "                <img style=\"padding: 0px;\"  class=\"img-100\" src=\"/uploads/images/";
  525.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["sectionContent1"]) || array_key_exists("sectionContent1"$context) ? $context["sectionContent1"] : (function () { throw new RuntimeError('Variable "sectionContent1" does not exist.'364$this->source); })()), "picture", [], "any"falsefalsefalse364), 0, [], "array"falsefalsefalse364), "path", [], "any"falsefalsefalse364), "html"nulltrue);
  526.             yield "\">
  527.             ";
  528.         } else {
  529.             // line 366
  530.             yield "                <img style=\"padding: 0px;\"  class=\"img-100\" src=\"https://tracol.lu/uploads/images/millebierg-6194cb6331d44212004123.png\">
  531.             ";
  532.         }
  533.         // line 368
  534.         yield "        </div>
  535.     </div>
  536.     <script>
  537.         ";
  538.         // line 372
  539.         yield "        ";
  540.         // line 373
  541.         yield "        ";
  542.         // line 374
  543.         yield "        ";
  544.         // line 375
  545.         yield "        ";
  546.         // line 376
  547.         yield "        ";
  548.         // line 377
  549.         yield "        ";
  550.         // line 378
  551.         yield "        ";
  552.         // line 379
  553.         yield "        ";
  554.         // line 380
  555.         yield "
  556.         ";
  557.         // line 383
  558.         yield "        ";
  559.         // line 384
  560.         yield "        ";
  561.         // line 385
  562.         yield "
  563.         ";
  564.         // line 387
  565.         yield "        ";
  566.         // line 388
  567.         yield "        ";
  568.         // line 389
  569.         yield "        ";
  570.         // line 390
  571.         yield "        ";
  572.         // line 391
  573.         yield "        ";
  574.         // line 392
  575.         yield "        ";
  576.         // line 393
  577.         yield "        ";
  578.         // line 394
  579.         yield "        ";
  580.         // line 395
  581.         yield "        ";
  582.         // line 396
  583.         yield "        ";
  584.         // line 397
  585.         yield "        ";
  586.         // line 398
  587.         yield "        ";
  588.         // line 399
  589.         yield "        ";
  590.         // line 400
  591.         yield "        ";
  592.         // line 401
  593.         yield "        ";
  594.         // line 402
  595.         yield "        ";
  596.         // line 403
  597.         yield "        ";
  598.         // line 404
  599.         yield "        ";
  600.         // line 405
  601.         yield "        ";
  602.         // line 406
  603.         yield "        ";
  604.         // line 407
  605.         yield "        ";
  606.         // line 408
  607.         yield "        ";
  608.         // line 409
  609.         yield "        ";
  610.         // line 410
  611.         yield "        ";
  612.         // line 411
  613.         yield "        ";
  614.         // line 412
  615.         yield "        ";
  616.         // line 413
  617.         yield "        ";
  618.         // line 414
  619.         yield "        ";
  620.         // line 415
  621.         yield "        ";
  622.         // line 416
  623.         yield "        ";
  624.         // line 417
  625.         yield "        ";
  626.         // line 418
  627.         yield "
  628.         ";
  629.         // line 420
  630.         yield "        ";
  631.         // line 421
  632.         yield "        ";
  633.         // line 422
  634.         yield "        ";
  635.         // line 423
  636.         yield "        ";
  637.         // line 424
  638.         yield "        ";
  639.         // line 425
  640.         yield "        ";
  641.         // line 426
  642.         yield "        ";
  643.         // line 427
  644.         yield "
  645.         ";
  646.         // line 429
  647.         yield "        ";
  648.         // line 430
  649.         yield "        ";
  650.         // line 431
  651.         yield "        ";
  652.         // line 432
  653.         yield "        ";
  654.         // line 433
  655.         yield "        ";
  656.         // line 434
  657.         yield "        ";
  658.         // line 435
  659.         yield "
  660.         ";
  661.         // line 438
  662.         yield "        ";
  663.         // line 439
  664.         yield "        ";
  665.         // line 440
  666.         yield "        ";
  667.         // line 441
  668.         yield "        ";
  669.         // line 442
  670.         yield "        ";
  671.         // line 443
  672.         yield "        ";
  673.         // line 444
  674.         yield "        ";
  675.         // line 445
  676.         yield "        ";
  677.         // line 446
  678.         yield "        ";
  679.         // line 447
  680.         yield "        ";
  681.         // line 448
  682.         yield "        ";
  683.         // line 449
  684.         yield "        ";
  685.         // line 450
  686.         yield "        ";
  687.         // line 451
  688.         yield "        ";
  689.         // line 452
  690.         yield "        ";
  691.         // line 453
  692.         yield "
  693.         ";
  694.         // line 456
  695.         yield "        ";
  696.         // line 457
  697.         yield "
  698.         const futurProjects = document.getElementById('properties')
  699.         let buttons = document.getElementsByClassName('projectButton')
  700.         for (const eElement of buttons) {
  701.             eElement.addEventListener('click', function (e) {
  702.                 e.preventDefault()
  703.                 for (let button of buttons) {
  704.                     if (button.classList.contains('all')){
  705.                         button.classList.remove('all')
  706.                         button.classList.add('come')
  707.                         button.querySelector('span').classList.replace('span-all', 'span-projects')
  708.                     }
  709.                 }
  710.                 eElement.classList.remove('come')
  711.                 eElement.classList.add('all')
  712.                 eElement.querySelector('span').classList.replace('span-projects', 'span-all')
  713.                 fetch('properties/display/'+this.dataset.id, {
  714.                     method: 'GET',
  715.                 })
  716.                     .then(response => response.json())
  717.                     .then(data => {
  718.                         futurProjects.innerHTML = ''
  719.                         futurProjects.innerHTML = data.data
  720.                         _ww = \$(window).width();
  721.                         var lightbox = \$('.lightbox'),
  722.                             item = 0;
  723.                         \$('.lightbox-on').click(function(e){
  724.                             e.stopPropagation();
  725.                             item = 0;
  726.                             var id = \$(this).attr('data-id'),
  727.                                 max = 0;
  728.                             \$('#'+id).toggle();
  729.                             \$('#'+id).animate({opacity: 1}, 300);
  730.                             \$('#'+id).find('img').each(function( i ) {
  731.                                 max = i;
  732.                                 item = 1;
  733.                                 counter(item, max+1);
  734.                                 itemWidth(\$(this));
  735.                             });
  736.                         });
  737.                         lightbox.click(function(e) {
  738.                             e.stopPropagation();
  739.                             \$(this).animate({opacity: 0}, 300, function(){
  740.                                 \$(this).toggle();
  741.                             });
  742.                         });
  743.                         \$('.closer').on('click', function (e) {
  744.                             e.stopPropagation();
  745.                             \$(this).parent().animate(
  746.                                 {opacity: 0},
  747.                                 300,
  748.                                 function(){
  749.                                     \$(this).toggle();
  750.                                 }
  751.                             );
  752.                         });
  753.                         function itemWidth(img){
  754.                             img.closest('.items').width(img.width());
  755.                         }
  756.                         function counter(item, max){
  757.                             \$('.counter').text(item + ' / ' + max);
  758.                         }
  759.                         \$('.item', lightbox).on('click, swipeleft', function (e) {
  760.                             var wd = \$(this).width(),
  761.                                 last = \$(this).parent().find('.item').last(),
  762.                                 img = \$(this).find('.img');
  763.                             itemWidth(img);
  764.                             \$(this).animate(
  765.                                 {marginLeft: -wd, opacity: 0},
  766.                                 500,
  767.                                 'swing',
  768.                                 function(){
  769.                                     \$(this).insertAfter(last);
  770.                                     \$(this).css({marginLeft: 0, opacity: 1});
  771.                                 }
  772.                             );
  773.                         });
  774.                         \$('.item', lightbox).on('swiperight', function (e) {
  775.                             var wd = \$(this).width(),
  776.                                 first = \$(this).parent().find('.item').first(),
  777.                                 last = \$(this).parent().find('.item').last(),
  778.                                 img = \$(this).find('.img');
  779.                             itemWidth(img);
  780.                             \$(last).insertBefore(\$(this));
  781.                             \$(last).css({marginLeft: -wd, opacity: 0});
  782.                             \$(this).parent().find('.item').eq(0).animate(
  783.                                 {marginLeft: 0, opacity: 1},
  784.                                 500,
  785.                                 'swing'
  786.                             );
  787.                         });
  788.                         \$('.arrows', lightbox).on('click', function (e) {
  789.                             e.stopPropagation();
  790.                             var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  791.                                 max = \$(this)
  792.                                     .siblings('.items').find('.item').length,
  793.                                 first = \$(this).siblings('.items').find('.item').first(),
  794.                                 last = \$(this).siblings('.items').find('.item').last(),
  795.                                 isRight = \$(this).hasClass('right'),
  796.                                 marginL = isRight ? -wd : 0,
  797.                                 marginL0 = isRight ? 0: -wd,
  798.                                 opacOn = isRight ? 1 : 0,
  799.                                 opacOff = isRight ? 0 : 1;
  800.                             if (!isRight){
  801.                                 \$(last).insertBefore(first);
  802.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  803.                                 item++;
  804.                                 if (item == max+1) {item = 1};
  805.                             } else {
  806.                                 item--;
  807.                                 if (item == 0) {item = max};
  808.                             };
  809.                             counter(item, max);
  810.                             var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  811.                             itemWidth(img);
  812.                             \$(this).siblings('.items').find('.item').eq(1).animate(
  813.                                 {opacity: opacOn},
  814.                                 500,
  815.                                 'swing');
  816.                             \$(this).siblings('.items').find('.item').eq(0).animate(
  817.                                 {marginLeft: marginL, opacity: 1},
  818.                                 500,
  819.                                 'swing',
  820.                                 function(){
  821.                                     if (isRight){
  822.                                         \$(this).insertAfter(last);
  823.                                         \$(this).css({ marginLeft: 0, opacity: 1});
  824.                                     }
  825.                                 }
  826.                             );
  827.                         });
  828.                         if (_ww > 768){
  829.                             \$('.div-img-hover-2').hover(function (e) {
  830.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  831.                                 var htext = \$(this).find('.project-content').height();
  832.                                 if (htext == undefined){htext = 0};
  833.                                 \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  834.                                 \$(this).find('.project-content').css({'visibility': 'visible'});
  835.                                 \$(this).find('.project-content').animate({opacity: 1}, 150);
  836.                             }, function() {
  837.                                 \$(this).find('.div-hover-2').animate({height : 85}, 150);
  838.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  839.                                 \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  840.                                     \$(this).find('.project-content').css({'visibility': 'hidden'});
  841.                                 });
  842.                             });
  843.                         } else {
  844.                             \$('.div-img-hover-2').on( \"tap\", function( event ) {
  845.                                 var opened = \$(this).find('.div-hover-2').hasClass('open'),
  846.                                     ht = opened ? 85 : '100%',
  847.                                     vis = opened ? 0 : 1;
  848.                                 \$(this).find('.div-hover-2').toggleClass('open');
  849.                                 \$(this).find('.div-hover-2').animate({height : ht}, 150);
  850.                                 \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  851.                             });
  852.                         }
  853.                     })
  854.                     .catch((error) => {
  855.                         console.error('Error:', error);
  856.                     });
  857.             })
  858.         }
  859.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  860.             new Flicking(\"#flick3\", {
  861.                 moveType: \"freeScroll\",
  862.                 bound: true
  863.             });
  864.         }
  865.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  866.             const test = document.getElementsByClassName('select-filter')
  867.             for (const testElement of test) {
  868.                 testElement.addEventListener('click', function (e) {
  869.                     e.preventDefault()
  870.                     testElement.classList.toggle('select-projet-active')
  871.                     const infos = document.querySelector('.projectButton.all')
  872.                     const dataId = []
  873.                     const tests = document.querySelectorAll('.select-filter.select-projet-active')
  874.                     for (const test1 of tests) {
  875.                         dataId.push(parseFloat(test1.dataset.id))
  876.                     }
  877.                     fetch('properties/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  878.                         method: 'GET',
  879.                     })
  880.                         .then(response => response.json())
  881.                         .then(data => {
  882.                             futurProjects.innerHTML = data.data
  883.                         })
  884.                         .catch((error) => {
  885.                             console.error('Error:', error);
  886.                         });
  887.                 })
  888.             }
  889.         } else {
  890.             const test = document.getElementsByClassName('select-projet')
  891.             const textOutput = document.querySelector(\"#showOutput\");
  892.             for (const testElement of test) {
  893.                 testElement.addEventListener('click', function (e) {
  894.                     displayLoading()
  895.                     e.preventDefault()
  896.                     testElement.classList.toggle('select-projet-active')
  897.                     const infos = document.querySelector('.projectButton.all')
  898.                     const dataId = []
  899.                     const tests = document.querySelectorAll('.select-projet.select-projet-active')
  900.                     for (const test1 of tests) {
  901.                         dataId.push(parseFloat(test1.dataset.id))
  902.                     }
  903.                     fetch('properties/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  904.                         method: 'GET'
  905.                     })
  906.                         .then(response => response.json())
  907.                         .then(data => {
  908.                             hideLoading()
  909.                             futurProjects.innerHTML = data.data
  910.                             _ww = \$(window).width();
  911.                             var lightbox = \$('.lightbox'),
  912.                                 item = 0;
  913.                             \$('.lightbox-on').click(function(e){
  914.                                 e.stopPropagation();
  915.                                 item = 0;
  916.                                 var id = \$(this).attr('data-id'),
  917.                                     max = 0;
  918.                                 \$('#'+id).toggle();
  919.                                 \$('#'+id).animate({opacity: 1}, 300);
  920.                                 \$('#'+id).find('img').each(function( i ) {
  921.                                     max = i;
  922.                                     item = 1;
  923.                                     counter(item, max+1);
  924.                                     itemWidth(\$(this));
  925.                                 });
  926.                             });
  927.                             lightbox.click(function(e) {
  928.                                 e.stopPropagation();
  929.                                 \$(this).animate({opacity: 0}, 300, function(){
  930.                                     \$(this).toggle();
  931.                                 });
  932.                             });
  933.                             \$('.closer').on('click', function (e) {
  934.                                 e.stopPropagation();
  935.                                 \$(this).parent().animate(
  936.                                     {opacity: 0},
  937.                                     300,
  938.                                     function(){
  939.                                         \$(this).toggle();
  940.                                     }
  941.                                 );
  942.                             });
  943.                             function itemWidth(img){
  944.                                 img.closest('.items').width(img.width());
  945.                             }
  946.                             function counter(item, max){
  947.                                 \$('.counter').text(item + ' / ' + max);
  948.                             }
  949.                             \$('.item', lightbox).on('click, swipeleft', function (e) {
  950.                                 var wd = \$(this).width(),
  951.                                     last = \$(this).parent().find('.item').last(),
  952.                                     img = \$(this).find('.img');
  953.                                 itemWidth(img);
  954.                                 \$(this).animate(
  955.                                     {marginLeft: -wd, opacity: 0},
  956.                                     500,
  957.                                     'swing',
  958.                                     function(){
  959.                                         \$(this).insertAfter(last);
  960.                                         \$(this).css({marginLeft: 0, opacity: 1});
  961.                                     }
  962.                                 );
  963.                             });
  964.                             \$('.item', lightbox).on('swiperight', function (e) {
  965.                                 var wd = \$(this).width(),
  966.                                     first = \$(this).parent().find('.item').first(),
  967.                                     last = \$(this).parent().find('.item').last(),
  968.                                     img = \$(this).find('.img');
  969.                                 itemWidth(img);
  970.                                 \$(last).insertBefore(\$(this));
  971.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  972.                                 \$(this).parent().find('.item').eq(0).animate(
  973.                                     {marginLeft: 0, opacity: 1},
  974.                                     500,
  975.                                     'swing'
  976.                                 );
  977.                             });
  978.                             \$('.arrows', lightbox).on('click', function (e) {
  979.                                 e.stopPropagation();
  980.                                 var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  981.                                     max = \$(this)
  982.                                         .siblings('.items').find('.item').length,
  983.                                     first = \$(this).siblings('.items').find('.item').first(),
  984.                                     last = \$(this).siblings('.items').find('.item').last(),
  985.                                     isRight = \$(this).hasClass('right'),
  986.                                     marginL = isRight ? -wd : 0,
  987.                                     marginL0 = isRight ? 0: -wd,
  988.                                     opacOn = isRight ? 1 : 0,
  989.                                     opacOff = isRight ? 0 : 1;
  990.                                 if (!isRight){
  991.                                     \$(last).insertBefore(first);
  992.                                     \$(last).css({marginLeft: -wd, opacity: 0});
  993.                                     item++;
  994.                                     if (item == max+1) {item = 1};
  995.                                 } else {
  996.                                     item--;
  997.                                     if (item == 0) {item = max};
  998.                                 };
  999.                                 counter(item, max);
  1000.                                 var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  1001.                                 itemWidth(img);
  1002.                                 \$(this).siblings('.items').find('.item').eq(1).animate(
  1003.                                     {opacity: opacOn},
  1004.                                     500,
  1005.                                     'swing');
  1006.                                 \$(this).siblings('.items').find('.item').eq(0).animate(
  1007.                                     {marginLeft: marginL, opacity: 1},
  1008.                                     500,
  1009.                                     'swing',
  1010.                                     function(){
  1011.                                         if (isRight){
  1012.                                             \$(this).insertAfter(last);
  1013.                                             \$(this).css({ marginLeft: 0, opacity: 1});
  1014.                                         }
  1015.                                     }
  1016.                                 );
  1017.                             });
  1018.                             if (_ww > 768){
  1019.                                 \$('.div-img-hover-2').hover(function (e) {
  1020.                                     \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1021.                                     var htext = \$(this).find('.project-content').height();
  1022.                                     if (htext == undefined){htext = 0};
  1023.                                     \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  1024.                                     \$(this).find('.project-content').css({'visibility': 'visible'});
  1025.                                     \$(this).find('.project-content').animate({opacity: 1}, 150);
  1026.                                 }, function() {
  1027.                                     \$(this).find('.div-hover-2').animate({height : 85}, 150);
  1028.                                     \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  1029.                                     \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  1030.                                         \$(this).find('.project-content').css({'visibility': 'hidden'});
  1031.                                     });
  1032.                                 });
  1033.                             } else {
  1034.                                 \$('.div-img-hover-2').on( \"tap\", function( event ) {
  1035.                                     var opened = \$(this).find('.div-hover-2').hasClass('open'),
  1036.                                         ht = opened ? 85 : '100%',
  1037.                                         vis = opened ? 0 : 1;
  1038.                                     \$(this).find('.div-hover-2').toggleClass('open');
  1039.                                     \$(this).find('.div-hover-2').animate({height : ht}, 150);
  1040.                                     \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  1041.                                 });
  1042.                             }
  1043.                             \$('.div-hover').hover(function (e) {
  1044.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1045.                             }, function() {
  1046.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  1047.                             });
  1048.                         })
  1049.                         .catch((error) => {
  1050.                         });
  1051.                 })
  1052.             }
  1053.         }
  1054.         const filter = document.getElementById('filters')
  1055.         const filterElement = document.getElementById('form-search-filter-ajax')
  1056.         filter.addEventListener('click', function (e) {
  1057.             e.preventDefault()
  1058.             filterElement.classList.toggle('show')
  1059.         })
  1060.         const loader = document.querySelector(\"#loading\");
  1061.         function displayLoading() {
  1062.             loader.classList.add(\"display\");
  1063.             // to stop loading after some time
  1064.             setTimeout(() => {
  1065.                 loader.classList.remove(\"display\");
  1066.             }, 5000);
  1067.         }
  1068.         // hiding loading
  1069.         function hideLoading() {
  1070.             loader.classList.remove(\"display\");
  1071.         }
  1072.     </script>
  1073.     <script>
  1074.         const arrowPrev = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7.985\" height=\"13.211\" viewBox=\"0 0 7.985 13.211\">
  1075.                                 <path id=\"np_arrow-up_888648_000000\" d=\"M13.211,1.381l-6.606,6.6L0,1.381,1.381,0,6.606,5.022h0L11.83,0Z\" transform=\"translate(7.985) rotate(90)\" fill=\"#fff\"/>
  1076.                             </svg>`;
  1077.         const arrowNext= `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7.985\" height=\"13.211\" viewBox=\"0 0 7.985 13.211\">
  1078.                             <path id=\"np_arrow-up_888648_000000\" d=\"M13.211,1.381l-6.606,6.6L0,1.381,1.381,0,6.606,5.022h0L11.83,0Z\" transform=\"translate(7.985) rotate(90)\" fill=\"#fff\"/>
  1079.                         </svg>`;
  1080.         var countProperties = '";
  1081.         // line 900
  1082.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["properties"]) || array_key_exists("properties"$context) ? $context["properties"] : (function () { throw new RuntimeError('Variable "properties" does not exist.'900$this->source); })())), "html"nulltrue);
  1083.         yield "';
  1084.         var loopProp = 1;
  1085.         while (loopProp <= countProperties+3) {
  1086.             \$('.slick-slide-single-'+loopProp).slick({
  1087.                 'slidesToShow': 1,
  1088.                 'prevArrow': `<div class=\"arrow-left square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowPrev}</div>`,
  1089.                 'nextArrow': `<div class=\"arrow-right square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowNext}</div>`
  1090.             });
  1091.             ";
  1092.         // line 920
  1093.         yield "
  1094.             loopProp++;
  1095.         }
  1096.     </script>
  1097. ";
  1098.         
  1099.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1100.         
  1101.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1102.         return; yield '';
  1103.     }
  1104.     /**
  1105.      * @codeCoverageIgnore
  1106.      */
  1107.     public function getTemplateName()
  1108.     {
  1109.         return "property.html.twig";
  1110.     }
  1111.     /**
  1112.      * @codeCoverageIgnore
  1113.      */
  1114.     public function isTraitable()
  1115.     {
  1116.         return false;
  1117.     }
  1118.     /**
  1119.      * @codeCoverageIgnore
  1120.      */
  1121.     public function getDebugInfo()
  1122.     {
  1123.         return array (  1208 => 920,  1194 => 900,  749 => 457,  747 => 456,  743 => 453,  741 => 452,  739 => 451,  737 => 450,  735 => 449,  733 => 448,  731 => 447,  729 => 446,  727 => 445,  725 => 444,  723 => 443,  721 => 442,  719 => 441,  717 => 440,  715 => 439,  713 => 438,  709 => 435,  707 => 434,  705 => 433,  703 => 432,  701 => 431,  699 => 430,  697 => 429,  694 => 427,  692 => 426,  690 => 425,  688 => 424,  686 => 423,  684 => 422,  682 => 421,  680 => 420,  677 => 418,  675 => 417,  673 => 416,  671 => 415,  669 => 414,  667 => 413,  665 => 412,  663 => 411,  661 => 410,  659 => 409,  657 => 408,  655 => 407,  653 => 406,  651 => 405,  649 => 404,  647 => 403,  645 => 402,  643 => 401,  641 => 400,  639 => 399,  637 => 398,  635 => 397,  633 => 396,  631 => 395,  629 => 394,  627 => 393,  625 => 392,  623 => 391,  621 => 390,  619 => 389,  617 => 388,  615 => 387,  612 => 385,  610 => 384,  608 => 383,  604 => 380,  602 => 379,  600 => 378,  598 => 377,  596 => 376,  594 => 375,  592 => 374,  590 => 373,  588 => 372,  583 => 368,  579 => 366,  573 => 364,  571 => 363,  561 => 356,  554 => 351,  542 => 302,  538 => 300,  535 => 299,  532 => 298,  529 => 297,  526 => 296,  523 => 295,  521 => 294,  517 => 292,  499 => 288,  495 => 287,  489 => 284,  481 => 280,  473 => 275,  465 => 272,  462 => 271,  457 => 268,  445 => 265,  442 => 264,  440 => 263,  436 => 262,  431 => 261,  428 => 260,  424 => 257,  421 => 234,  404 => 233,  396 => 227,  389 => 226,  386 => 225,  383 => 224,  380 => 223,  377 => 222,  374 => 221,  371 => 220,  368 => 219,  365 => 218,  363 => 217,  351 => 207,  348 => 203,  341 => 201,  324 => 197,  320 => 196,  314 => 193,  310 => 191,  302 => 188,  299 => 187,  297 => 186,  291 => 184,  283 => 177,  275 => 174,  272 => 173,  268 => 171,  256 => 168,  253 => 167,  249 => 166,  244 => 165,  241 => 164,  238 => 162,  231 => 139,  213 => 138,  201 => 128,  181 => 88,  168 => 70,  165 => 45,  163 => 44,  156 => 39,  153 => 24,  150 => 23,  147 => 22,  144 => 21,  141 => 20,  139 => 19,  136 => 18,  134 => 17,  121 => 15,  109 => 12,  105 => 10,  99 => 8,  97 => 7,  94 => 6,  91 => 5,  81 => 4,  61 => 3,  38 => 1,);
  1124.     }
  1125.     public function getSourceContext()
  1126.     {
  1127.         return new Source("{% extends 'base.html.twig' %}
  1128. {% block title %}Biens{% endblock %}
  1129. {% block metaDescription %}
  1130.     {% set headerContent = content('Biens', 'Header') %}
  1131.     <meta name=\"description\" content=\"
  1132.     {% if headerContent.content is defined %}
  1133.         {{ headerContent.content|striptags }}
  1134.     {% else %}
  1135.          Tracol Immobilier propose une large offre en immobilier neuf (logements, bureaux, commerces), qui se caractérise par une architecture résolument contemporaine, des matériaux de qualité, et le soin apporté à chaque détail.
  1136.     {% endif %}
  1137.     \">
  1138. {% endblock %}
  1139. {% block body %} 
  1140.     {% set headerContent = content('Biens', 'Header') %}
  1141.     {% if headerContent.picture is defined and headerContent.picture is not empty %}
  1142.         {% set backgroundImage = headerContent.picture[0].path %}
  1143.     {% else %}
  1144.         {% set backgroundImage = 'empty' %}
  1145.     {% endif %}
  1146.     {#
  1147.     <header class=\"header-tracol slider-home slider-not-home who-is bottom-right-border position-relative overflow-hidden to-right\" id=\"sliderHeader\"  style=\"background: url({% if backgroundImage == 'empty' %}'https://tracol.lu/uploads/images/residences-61c0b1dd3141b610699350.jpeg'{% else %}'/uploads/images/{{ backgroundImage }}'{% endif %}) center center no-repeat;background-size:cover;\">
  1148.         <div class=\"container-fluid\">
  1149.             <div id=\"header-habiter\" class=\"col-lg-8 mx-auto div-svg-header\">
  1150.                 <div class=\"header-habiter-div2\">
  1151.                     {% if headerContent.name is defined %}
  1152.                         <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>
  1153.                         <h2 class=\"header-habiter-title col-lg-8\">{{ headerContent.name }}</h2>
  1154.                     {% endif %}
  1155.                 </div>
  1156.             </div>
  1157.         </div>
  1158.     </header>
  1159.     #}
  1160.     <div class=\"container-fluid\">
  1161.         {% set sectionContent1 = content('Biens', 'Section-1') %}
  1162.         {#
  1163.         <div class=\"col-lg-8 mx-auto div-svg-header pre-section\">
  1164.             <div class=\"col-lg-5 property-title\" style=\"font-size: 2.3em;display: flex;flex-direction: column;margin-left: 10px;\">
  1165.                 <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  1166.                     <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\"/>
  1167.                 </svg>
  1168.                 {% if properties|length == 0 %}
  1169.                     <h1 class=\"lowercase-title\">Nous n'avons aucun bien correspondant à votre recherche.</h1>
  1170.                 {% elseif properties|length == 1 %}
  1171.                     <h1 class=\"project-title\">{{ properties|length }} bien disponible</h1>
  1172.                 {% else %}
  1173.                     <h1 class=\"project-title\">{{properties|length }} biens disponibles</h1>
  1174.                 {% endif %}
  1175.             </div>
  1176.             <div class=\"separator\"></div>
  1177.             <div class=\"col-lg-6 pre-section-content\">
  1178.                 {% if sectionContent1.content is defined %}
  1179.                     {{ sectionContent1.content|raw }}
  1180.                 {% else %}
  1181.                     Que vous soyez un particulier ou un professionnel, que vous recherchiez un appartement, une maison, un bureau ou un commerce, nos équipes d’experts vous accompagnent tout au long de votre projet immobilier.
  1182.                 {% endif %}
  1183.             </div>
  1184.         </div>
  1185.         #}
  1186.         <section class=\"project\" style=\"margin-top: 60px\">
  1187.             
  1188.             <div id=\"button-property-page\"  class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex; align-items: center; padding-left: 7px\">
  1189.                 <button data-id=\"all\" class=\"btn btn-primary all border-radius projectButton\"><span class=\"span-all\">TOUS</span></button>
  1190.                 <button data-id=\"sale\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">ACHAT</span></button>
  1191.                 <button data-id=\"rental\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">LOCATION</span></button>
  1192.             </div>
  1193.             <div id=\"button-property-page-mobile\" class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: none; align-items: center\">
  1194.                 {#<div id=\"flick3\" class=\"flicking-viewport\">
  1195.                     <div class=\"flicking-camera\">
  1196.                         <button data-id=\"all\" class=\"btn btn-primary all border-radius projectButton\"><span class=\"span-all\">TOUS</span></button>
  1197.                         <button data-id=\"sale\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">ACHAT</span></button>
  1198.                         <button data-id=\"rental\" class=\"btn btn-primary come border-radius projectButton\"><span class=\"span-projects\">LOCATION</span></button>
  1199.                     </div>
  1200.                 </div>#}
  1201.             </div>
  1202.             <div class=\"col-xl-8 mx-auto div-svg-header deactive-tablet\" style=\"display: flex; flex-direction: column; justify-content: center\">
  1203.                 <div class=\"col-md-4\" style=\"margin-top: 40px\">
  1204.                     <p>Trier par :</p>
  1205.                     <form>
  1206.                         <select name=\"subfilter\" class=\"form-control with-appearance\" id=\"filterProperties\">
  1207.                             <option value=\"\">Sélectionner</option>
  1208.                             <option value=\"date\">Date de publication</option>
  1209.                             <option value=\"asc\">Prix croissant</option>
  1210.                             <option value=\"desc\">Prix décroissant</option>
  1211.                         </select>
  1212.                     </form>
  1213.                 </div>
  1214.                 {#
  1215.                 <div style=\"display: flex; flex-direction: row; padding-left: 7px; align-items: center; margin-top: 15px;\">
  1216.                     <div id=\"filter-desktop\" class=\"filters-biens\">
  1217.                         {% for key, subType in getTypeProperties() %}
  1218.                             <button data-id=\"{{ key }}\" class=\"select-projet\">{{ subType }} <i class=\"fas fa-times\"></i></button>
  1219.                         {% endfor %}
  1220.                     </div>
  1221.                     <div id=\"filter-mobile\" class=\"col-lg-3 div-form selectSubFilter property\" style=\"display: none\">
  1222.                         <div class=\"input-group dropdown show\">
  1223.                             <label class=\"label-search-filter\" for=\"location\">Filtrer par Type</label>
  1224.                             <input style=\"height: 75px; width: 60px;\" type=\"text\" autocomplete=\"off\" name=\"filters\" id=\"filters\"
  1225.                                    class=\"form-control\" aria-expanded=\"false\">
  1226.                             <ul id=\"form-search-filter-ajax\" class=\"dropdown-menu form-search-filter-ajax\" aria-labelledby=\"\">
  1227.                                 {% for key, subType in getTypeProperties() %}
  1228.                                     <li value=\"{{ key }}\" data-id=\"{{ key }}\" class=\"select-filter\"><i class=\"fas fa-times\"></i>{{ subType }}</li>
  1229.                                 {% endfor %}
  1230.                             </ul>
  1231.                         </div>
  1232.                     </div>
  1233.                 </div>
  1234.                 #}
  1235.                 <div id=\"loading\">
  1236.                     <h1 id=\"showOutput\"></h1>
  1237.                 </div>
  1238.                 <div id=\"properties\" class=\"row col-lg-12\">
  1239.                     {% for property in properties %}
  1240.                         <div  class=\"property col-xxl-4 col-xl-6 col-lg-6 col-md-6 col-sm-12 div-img-hover-2\" data-date=\"{{ property.created_at }}\" data-price=\"{{ property.price.value }}\" style=\"cursor: pointer\">
  1241.                             {#
  1242.                             <div class=\"div-hover-2\" id=\"div-hover-2\" aria-haspopup=\"true\" style=\"position: absolute; bottom: 8px; left: 9px; background-color: #242424; color: white; width: 291px; height: 70px\">
  1243.                                                             {% if property.comments[0].comment is not empty %}
  1244.                                                                 <p class=\"project-content\">
  1245.                                                                     {{ property.comments[0].comment|slice(0, 350) }}</p>
  1246.                                                                 <a href=\"{{ path('property-detail', {'id': property.id}) }}\" class=\"project-arrow-2\">
  1247.                                                                     <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  1248.                                                                 </a>
  1249.                                                             {% else %}
  1250.                                                                 <a style=\"margin-top: 180px\" href=\"{{ path('property-detail', {'id': property.id}) }}\" class=\"project-arrow-2\">
  1251.                                                                     <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  1252.                                                                 </a>
  1253.                                                             {% endif %}
  1254.                                                         </div>
  1255.                                                         <div class=\"col-lg-3 properties-price-absolute\" style=\"background-color: #c48300; height: 56px;\">
  1256.                                                             <p style=\"font-size: 20px;\" class=\"properties-price\">
  1257.                                                                 {{ property.price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : property.price.value ~  property.price.currency|replace({\"EUR\": \" €\"})  }}
  1258.                                                             </p>
  1259.                                                         </div>
  1260.                             #}
  1261.                             {# <div class=\"tag-ref-projet-2\"><span class=\"text-tag-ref\">{{ specialPropertyCategory(property.category) }}</span></div> #}
  1262.                             {% if property.pictures is not empty %}
  1263.                                 <div class=\"position-relative properties-slide slick-slide-single-{{ loop.index }} image\">
  1264.                                     {% for picture in property.pictures|slice(0,3) %}
  1265.                                         {% set url = 'http' in picture.url ? picture.url : asset('uploads/images/properties/'~property.id~'/'~picture.url) %}
  1266.                                         <div class=\"img\" style=\"background: url('{{ url }}')no-repeat center;background-size:cover;\"  onclick=\"location.href='{{ path('property-detail', {'id': property.id}) }}'\">
  1267.                                         </div>
  1268.                                     {% endfor %}
  1269.                                 </div>
  1270.                             {% else %}
  1271.                             <div class=\"position-relative properties-slide image\">
  1272.                                 <a href=\"{{ path('property-detail', {'id': property.id}) }}\"><img src=\"{{ asset('build/Hudson_Ontario2.png') }}\" /></a>
  1273.                             </div>
  1274.                             {% endif %}
  1275.                             <a href=\"{{ path('property-detail', {'id': property.id}) }}\">
  1276.                             <div class=\"row col-md-12 justify-content-between\">
  1277.                                 <ul class=\"col-md-4 items\">
  1278.                                     <li class=\"item surface\">
  1279.                                         {#
  1280.                                         <img src=\"{{ asset('img/surface.svg') }}\" class=\"surface-logo\">
  1281.                                         #}
  1282.                                          {{ property.area.value == null ? '' : property.area.value ~ areaConversion(property.area.unit) }}
  1283.                                     </li>
  1284.                                     {% if property.bedrooms != 0 %}
  1285.                                         <li class=\"item surface\">
  1286.                                             <img src=\"{{ asset('img/icons/chambre.svg') }}\" alt=\"Icone chambre\" style=\"width:22px;margin-right:10px;margin-top:5px;\"> {{ property.bedrooms }}
  1287.                                         </li>
  1288.                                     {% endif %}
  1289.                                 </ul>
  1290.                                 <div class=\"col-md-8 properties-price d-flex justify-content-end\">
  1291.                                     {{ property.price.value == null ? '<span style=\"font-size: 21px !important;\">sur demande</span>' : property.price.value|number_format(2, ',', ' ') ~  property.price.currency|replace({\"EUR\": \" €\"})  }}
  1292.                                 </div>
  1293.                             </div>
  1294.                             <p class=\"city\">{{ property.city.name }}</p>
  1295.                             <p class=\"project-name\">{{ getTypeProperty(property.type) }}</p>
  1296.                             </a>
  1297.                         </div>
  1298.                     {% else %}
  1299.                         <h4>Aucun bien disponible avec ces critères</h4>
  1300.                     {% endfor %}
  1301.                 </div>
  1302.                 {#<div class=\"text-center text-capitalize more-projects\">
  1303.                     <p>AFFICHER PLUS DE BIENS</p>
  1304.                 </div>#}
  1305.             </div>
  1306.         </section>
  1307.         <section class=\"other-properties pt-5 pb-5\" style=\"background:#F7F7F7\">
  1308.             <div class=\"col-lg-8 mx-auto div-svg-header\" style=\"display: flex;\">
  1309.                 <div class=\"col-lg-6\">
  1310.                     <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  1311.                         <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\"></path>
  1312.                     </svg>
  1313.                     <h1 class=\"project-title\">
  1314.                         {% if app.request.attributes.get('_route_params')['keyword'] is defined or idCategory is defined %}
  1315.                             {% if (app.request.attributes.get('_route_params')['keyword'] is defined and app.request.attributes.get('_route_params')['keyword'] == 'location') or (idCategory is defined and idCategory == 1) %}
  1316.                                 {% set otherDispo = 'vente' %}
  1317.                             {% else %}
  1318.                                 {% set otherDispo = 'location' %}
  1319.                             {% endif %}
  1320.                         {% else %}
  1321.                             {% set otherDispo = null %}
  1322.                         {% endif %}
  1323.                         NOS biens disponibles<br> {% if otherDispo %}À la <span style=\"color:#F6A400\">{{ otherDispo }}</span>{% endif %}
  1324.                     </h1>
  1325.                 </div>
  1326.             </div>
  1327.             <div  class=\"col-lg-8 mx-auto\">
  1328.                 <div id=\"propertiesOther\" class=\"col-lg-12 property-other-list\" style=\"display: flex; flex-wrap: wrap; flex-direction: row\">
  1329.                     {% for property in otherProperties %}
  1330.                         <div  class=\"property-other other col-xl-4 col-lg-6 col-md-12 col-sm-12 div-img-hover-2\" style=\"cursor: pointer\">
  1331.                             {#
  1332.                             <div class=\"div-hover-2\" id=\"div-hover-2\" aria-haspopup=\"true\" style=\"position: absolute; bottom: 8px; left: 9px; background-color: #242424; color: white; width: 291px; height: 70px\">
  1333.                                                             {% if property.comments[0].comment is not empty %}
  1334.                                                                 <p class=\"project-content\">
  1335.                                                                     {{ property.comments[0].comment|slice(0, 350) }}</p>
  1336.                                                                 <a href=\"{{ path('property-detail', {'id': property.id}) }}\" class=\"project-arrow-2\">
  1337.                                                                     <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  1338.                                                                 </a>
  1339.                                                             {% else %}
  1340.                                                                 <a style=\"margin-top: 180px\" href=\"{{ path('property-detail', {'id': property.id}) }}\" class=\"project-arrow-2\">
  1341.                                                                     <span class=\"galerry-ref\"></span><i class=\"fas fa-arrow-right project-svg-arrow-2\"></i>
  1342.                                                                 </a>
  1343.                                                             {% endif %}
  1344.                                                         </div>
  1345.                                                         <div class=\"col-lg-3 properties-price-absolute\" style=\"background-color: #c48300; height: 56px;\">
  1346.                                                             <p style=\"font-size: 20px;\" class=\"properties-price\">
  1347.                                                                 {{ property.price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : property.price.value ~  property.price.currency|replace({\"EUR\": \" €\"})  }}
  1348.                                                             </p>
  1349.                                                         </div>
  1350.                             #}
  1351.                             {# <div class=\"tag-ref-projet-2\"><span class=\"text-tag-ref\">{{ specialPropertyCategory(property.category) }}</span></div> #}
  1352.                             {% if property.pictures is not empty %}
  1353.                                 <div class=\"position-relative properties-slide slick-slide-single-{{ loop.index }}\">
  1354.                                     {% for picture in property.pictures|slice(0,3) %}
  1355.                                         {#                                    <img class=\"img-100\" src=\"{{ picture.url }}\">#}
  1356.                                         {% set url = 'http' in picture.url ? picture.url : asset('uploads/images/properties/'~property.id~'/'~picture.url) %}
  1357.                                         <div class=\"img\" style=\"background-image: url('{{ url }}')\"  onclick=\"location.href='{{ path('property-detail', {'id': property.id}) }}'\">
  1358.                                         </div>
  1359.                                     {% endfor %}
  1360.                                 </div>
  1361.                             {% else %}
  1362.                                 <div class=\"position-relative properties-slide\">
  1363.                                     <a href=\"{{ path('property-detail', {'id': property.id}) }}\"><img src=\"{{ asset('build/Hudson_Ontario2.png') }}\" /></a>
  1364.                                 </div>
  1365.                             {% endif %}
  1366.                             <a href=\"{{ path('property-detail', {'id': property.id}) }}\">
  1367.                             <div class=\"row col-md-12 justify-content-between infos-list\">
  1368.                                 <ul class=\"col-md-4 items\">
  1369.                                     <li class=\"item surface\">
  1370.                                         {# <img src=\"{{ asset('img/surface.svg') }}\" alt=\"icon surface\" class=\"surface-logo\"> #}
  1371.                                         {{ property.area.value == null ? '' : property.area.value ~ areaConversion(property.area.unit) }}
  1372.                                     </li>
  1373.                                 </ul>
  1374.                                 <div class=\"col-md-8 properties-price d-flex justify-content-end\">
  1375.                                     {{ property.price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : property.price.value|number_format(2, ',', ' ') ~  property.price.currency|replace({\"EUR\": \" €\"})  }}
  1376.                                 </div>
  1377.                             </div>
  1378.                             <p class=\"city\">{{ property.city.name }}</p>
  1379.                             <p class=\"project-name\">{{ getTypeProperty(property.type) }}</p>
  1380.                             </a>
  1381.                         </div>
  1382.                     {% endfor %}
  1383.                 </div>
  1384.                 {% set paramUrl = app.request.get('keyword') %}
  1385.                 {% if app.request.get('keyword') == 'location' %}
  1386.                     {% set paramUrl = 'vente' %}
  1387.                 {% elseif app.request.get('keyword') == 'vente' %}
  1388.                     {% set paramUrl = 'location' %}
  1389.                 {% endif %}
  1390.                 <div id=\"link-none\" class=\"col-lg-12 mx-auto other-property-link div-svg-header d-flex justify-content-end\">
  1391.                     <div>
  1392.                         <a id=\"link-none-a d-flex\" class=\"property-span-arrow\" href=\"{{ path('properties', {'keyword': paramUrl}) }}\">Découvrir plus
  1393.                             <svg class=\"svg-inline--fa fa-arrow-right fa-w-14 property-arrow\" aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"arrow-right\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" data-fa-i2svg=\"\"><path fill=\"currentColor\" d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"></path></svg><!-- <i class=\"fas fa-arrow-right property-arrow\"></i> Font Awesome fontawesome.com -->
  1394.                         </a>
  1395.                     </div>
  1396.                 </div>
  1397.             </div>
  1398.         </section>
  1399.         {#
  1400.         <section style=\"margin-bottom: 80px; margin-top: 150px;\">
  1401.             <div class=\"col-lg-8 mx-auto div-svg-header\">
  1402.                 {% set sectionContent1 = content('Biens', 'Section-2') %}
  1403.                 <div id=\"habiter-content-id\" class=\"col-lg-6 habiter-content\">
  1404.                     <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"9.089\" height=\"14.77\" viewBox=\"0 0 9.089 14.77\">
  1405.                         <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\"/>
  1406.                     </svg>
  1407.                     <div class=\"col-lg-7\">
  1408.                         <h1 class=\"habiter-title mb-5\">
  1409.                             {% if sectionContent1.name is defined %}
  1410.                                 {{ sectionContent1.name }}
  1411.                             {% else %}
  1412.                                 HABITER AU LUXEMBOURG
  1413.                             {% endif %}
  1414.                         </h1>
  1415.                         {% if sectionContent1.content is defined %}
  1416.                             {{ sectionContent1.content|raw }}
  1417.                         {% else %}
  1418.                             Vous avez découvert l’appartement ou la maison de vos rêves ? Parfait ! En achetant au Luxembourg vous pouvez bénéficier de plusieurs avantages fiscaux.
  1419.                         {% endif %}
  1420.                     </div>
  1421.                 </div>
  1422.                 <div id=\"display-none-mobile\" class=\"col-lg-6 habiter-img\">
  1423.                     {% if sectionContent1.picture is defined %}
  1424.                         <img id=\"img-property-section\" class=\"img-100\" src=\"/uploads/images/{{ sectionContent1.picture[0].path }}\">
  1425.                     {% else %}
  1426.                         <img id=\"img-property-section\" class=\"img-100\" src=\"https://tracol.lu/uploads/images/millebierg-6194cb6331d44212004123.png\">
  1427.                     {% endif %}
  1428.                 </div>
  1429.             </div>
  1430.             <div id=\"link-none\" class=\"col-lg-8 mx-auto div-svg-header\">
  1431.                 <div style=\"display: flex; align-content: center\">
  1432.                     <a id=\"link-none-a\" class=\"property-span-arrow\" href=\"{{ path('habiter') }}\">Découvrir les avantages
  1433.                         <i class=\"fas fa-arrow-right property-arrow\"></i>
  1434.                     </a>
  1435.                 </div>
  1436.             </div>
  1437.         </section>
  1438.         #}
  1439.     </div>
  1440.     
  1441.     <div id=\"img-property-section\" class=\"container-fluid\" style=\"display: none\">
  1442.         <div id=\"link-ok\" class=\"col-lg-3\" style=\"display: flex; align-content: center\">
  1443.             <a class=\"property-span-arrow\" href=\"{{ path('habiter') }}\">Découvrir les avantages
  1444.                 <i class=\"fas fa-arrow-right property-arrow\"></i>
  1445.             </a>
  1446.         </div>
  1447.         <div class=\"col-lg-6 habiter-img\">
  1448.             {% if sectionContent1.picture is defined and sectionContent1.picture[0] is defined %}
  1449.                 <img style=\"padding: 0px;\"  class=\"img-100\" src=\"/uploads/images/{{ sectionContent1.picture[0].path }}\">
  1450.             {% else %}
  1451.                 <img style=\"padding: 0px;\"  class=\"img-100\" src=\"https://tracol.lu/uploads/images/millebierg-6194cb6331d44212004123.png\">
  1452.             {% endif %}
  1453.         </div>
  1454.     </div>
  1455.     <script>
  1456.         {#const slideNextHeader = document.getElementById('slideNextHeader');#}
  1457.         {#const slidePreviousHeader = document.getElementById('slidePreviousHeader');#}
  1458.         {#const propertiesCity = document.getElementsByClassName('properties-city')#}
  1459.         {#const propertiesArea = document.getElementsByClassName('properties-area')#}
  1460.         {#const propertiesReference = document.getElementsByClassName('properties-reference')#}
  1461.         {#const propertiesPrice = document.getElementsByClassName('properties-price')#}
  1462.         {#const propertiesLink = document.getElementsByClassName('properties-link')#}
  1463.         {#const currentFigure = document.getElementsByClassName('current-figure')#}
  1464.         {#const lastFigure = document.getElementsByClassName('last-figure')#}
  1465.         {#let slideHeader = document.getElementById('sliderHeader');#}
  1466.         {#let positionHeader = 0;#}
  1467.         {#let positionThumbHeader = 1;#}
  1468.         {#arraySlidesHeader = [#}
  1469.         {#    {#}
  1470.         {#        'position': 1,#}
  1471.         {#        'img': '{{ saleProperties[0].pictures[0].url }}',#}
  1472.         {#        'city': '{{ saleProperties[0].city.name }}',#}
  1473.         {#        'area': '{{ saleProperties[0].area.value == null ? '' : saleProperties[0].area.value ~ areaConversion(saleProperties[0].area.unit) }}',#}
  1474.         {#        'reference': '{{ saleProperties[0].reference }}',#}
  1475.         {#        'price':  '{{ saleProperties[0].price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : saleProperties[0].price.value ~  saleProperties[0].price.currency|replace({\"EUR\": \" €\"})  }}',#}
  1476.         {#        'link': '{{ path('property-detail', {'id': saleProperties[0].id}) }}',#}
  1477.         {#        'dot': 'dot1'#}
  1478.         {#    },#}
  1479.         {#    {#}
  1480.         {#        'position': 2,#}
  1481.         {#        'img': '{{ saleProperties[1].pictures[0].url }}',#}
  1482.         {#        'city': '{{ saleProperties[1].city.name }}',#}
  1483.         {#        'area': '{{ saleProperties[1].area.value == null ? '' : saleProperties[1].area.value ~ areaConversion(saleProperties[1].area.unit) }}',#}
  1484.         {#        'reference': '{{ saleProperties[1].reference }}',#}
  1485.         {#        'price':  '{{ saleProperties[1].price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : saleProperties[1].price.value ~  saleProperties[1].price.currency|replace({\"EUR\": \" €\"})  }}',#}
  1486.         {#        'link': '{{ path('property-detail', {'id': saleProperties[1].id}) }}',#}
  1487.         {#        'dot': 'dot2'#}
  1488.         {#    },#}
  1489.         {#    {#}
  1490.         {#        'position': 3,#}
  1491.         {#        'img': '{{ saleProperties[2].pictures[0].url }}',#}
  1492.         {#        'city': '{{ saleProperties[2].city.name }}',#}
  1493.         {#        'area': '{{ saleProperties[2].area.value == null ? '' : saleProperties[2].area.value ~ areaConversion(saleProperties[2].area.unit) }}',#}
  1494.         {#        'reference': '{{ saleProperties[2].reference }}',#}
  1495.         {#        'price':  '{{ saleProperties[2].price.value == null ? '<span style=\"font-size: 14px !important;\">sur demande</span>' : saleProperties[2].price.value ~  saleProperties[2].price.currency|replace({\"EUR\": \" €\"})  }}',#}
  1496.         {#        'link': '{{ path('property-detail', {'id': saleProperties[2].id}) }}',#}
  1497.         {#        'dot': 'dot3'#}
  1498.         {#    },#}
  1499.         {#];#}
  1500.         {#slidePreviousHeader.addEventListener('click', () => {#}
  1501.         {#    if (arraySlidesHeader.length < (positionThumbHeader  + 1)) {#}
  1502.         {#        positionHeader = 0;#}
  1503.         {#        positionThumbHeader = 1;#}
  1504.         {#    } else {#}
  1505.         {#        positionHeader++;#}
  1506.         {#        positionThumbHeader++;#}
  1507.         {#    }#}
  1508.         {#    slideHeader.style.background =  `url(\${arraySlidesHeader[positionHeader].img})no-repeat center`;#}
  1509.         {#    propertiesCity[0].innerHTML = arraySlidesHeader[positionHeader].city#}
  1510.         {#    propertiesArea[0].innerHTML = arraySlidesHeader[positionHeader].area#}
  1511.         {#    propertiesReference[0].innerHTML = arraySlidesHeader[positionHeader].reference#}
  1512.         {#    propertiesPrice[0].innerHTML = arraySlidesHeader[positionHeader].price#}
  1513.         {#    propertiesLink[0].setAttribute('href', arraySlidesHeader[positionHeader].link)#}
  1514.         {#    currentFigure[0].innerHTML = '0'+positionThumbHeader#}
  1515.         {#    slideHeader.style.backgroundSize = `cover`;#}
  1516.         {#});#}
  1517.         {#slideNextHeader.addEventListener('click', () => {#}
  1518.         {#    if (positionThumbHeader === 1) {#}
  1519.         {#        positionHeader = (arraySlidesHeader.length - 1);#}
  1520.         {#        positionThumbHeader = arraySlidesHeader.length;#}
  1521.         {#    } else {#}
  1522.         {#        positionHeader = positionHeader - 1;#}
  1523.         {#        positionThumbHeader = positionThumbHeader - 1;#}
  1524.         {#    }#}
  1525.         {#    slideHeader.style.background =  `url(\${arraySlidesHeader[positionHeader].img})no-repeat center`;#}
  1526.         {#    propertiesCity[0].innerHTML = arraySlidesHeader[positionHeader].city#}
  1527.         {#    propertiesArea[0].innerHTML = arraySlidesHeader[positionHeader].area#}
  1528.         {#    propertiesReference[0].innerHTML = arraySlidesHeader[positionHeader].reference#}
  1529.         {#    propertiesPrice[0].innerHTML = arraySlidesHeader[positionHeader].price#}
  1530.         {#    currentFigure[0].innerHTML = '0'+positionThumbHeader#}
  1531.         {#    slideHeader.style.backgroundSize = `cover`;#}
  1532.         {#});#}
  1533.         const futurProjects = document.getElementById('properties')
  1534.         let buttons = document.getElementsByClassName('projectButton')
  1535.         for (const eElement of buttons) {
  1536.             eElement.addEventListener('click', function (e) {
  1537.                 e.preventDefault()
  1538.                 for (let button of buttons) {
  1539.                     if (button.classList.contains('all')){
  1540.                         button.classList.remove('all')
  1541.                         button.classList.add('come')
  1542.                         button.querySelector('span').classList.replace('span-all', 'span-projects')
  1543.                     }
  1544.                 }
  1545.                 eElement.classList.remove('come')
  1546.                 eElement.classList.add('all')
  1547.                 eElement.querySelector('span').classList.replace('span-projects', 'span-all')
  1548.                 fetch('properties/display/'+this.dataset.id, {
  1549.                     method: 'GET',
  1550.                 })
  1551.                     .then(response => response.json())
  1552.                     .then(data => {
  1553.                         futurProjects.innerHTML = ''
  1554.                         futurProjects.innerHTML = data.data
  1555.                         _ww = \$(window).width();
  1556.                         var lightbox = \$('.lightbox'),
  1557.                             item = 0;
  1558.                         \$('.lightbox-on').click(function(e){
  1559.                             e.stopPropagation();
  1560.                             item = 0;
  1561.                             var id = \$(this).attr('data-id'),
  1562.                                 max = 0;
  1563.                             \$('#'+id).toggle();
  1564.                             \$('#'+id).animate({opacity: 1}, 300);
  1565.                             \$('#'+id).find('img').each(function( i ) {
  1566.                                 max = i;
  1567.                                 item = 1;
  1568.                                 counter(item, max+1);
  1569.                                 itemWidth(\$(this));
  1570.                             });
  1571.                         });
  1572.                         lightbox.click(function(e) {
  1573.                             e.stopPropagation();
  1574.                             \$(this).animate({opacity: 0}, 300, function(){
  1575.                                 \$(this).toggle();
  1576.                             });
  1577.                         });
  1578.                         \$('.closer').on('click', function (e) {
  1579.                             e.stopPropagation();
  1580.                             \$(this).parent().animate(
  1581.                                 {opacity: 0},
  1582.                                 300,
  1583.                                 function(){
  1584.                                     \$(this).toggle();
  1585.                                 }
  1586.                             );
  1587.                         });
  1588.                         function itemWidth(img){
  1589.                             img.closest('.items').width(img.width());
  1590.                         }
  1591.                         function counter(item, max){
  1592.                             \$('.counter').text(item + ' / ' + max);
  1593.                         }
  1594.                         \$('.item', lightbox).on('click, swipeleft', function (e) {
  1595.                             var wd = \$(this).width(),
  1596.                                 last = \$(this).parent().find('.item').last(),
  1597.                                 img = \$(this).find('.img');
  1598.                             itemWidth(img);
  1599.                             \$(this).animate(
  1600.                                 {marginLeft: -wd, opacity: 0},
  1601.                                 500,
  1602.                                 'swing',
  1603.                                 function(){
  1604.                                     \$(this).insertAfter(last);
  1605.                                     \$(this).css({marginLeft: 0, opacity: 1});
  1606.                                 }
  1607.                             );
  1608.                         });
  1609.                         \$('.item', lightbox).on('swiperight', function (e) {
  1610.                             var wd = \$(this).width(),
  1611.                                 first = \$(this).parent().find('.item').first(),
  1612.                                 last = \$(this).parent().find('.item').last(),
  1613.                                 img = \$(this).find('.img');
  1614.                             itemWidth(img);
  1615.                             \$(last).insertBefore(\$(this));
  1616.                             \$(last).css({marginLeft: -wd, opacity: 0});
  1617.                             \$(this).parent().find('.item').eq(0).animate(
  1618.                                 {marginLeft: 0, opacity: 1},
  1619.                                 500,
  1620.                                 'swing'
  1621.                             );
  1622.                         });
  1623.                         \$('.arrows', lightbox).on('click', function (e) {
  1624.                             e.stopPropagation();
  1625.                             var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  1626.                                 max = \$(this)
  1627.                                     .siblings('.items').find('.item').length,
  1628.                                 first = \$(this).siblings('.items').find('.item').first(),
  1629.                                 last = \$(this).siblings('.items').find('.item').last(),
  1630.                                 isRight = \$(this).hasClass('right'),
  1631.                                 marginL = isRight ? -wd : 0,
  1632.                                 marginL0 = isRight ? 0: -wd,
  1633.                                 opacOn = isRight ? 1 : 0,
  1634.                                 opacOff = isRight ? 0 : 1;
  1635.                             if (!isRight){
  1636.                                 \$(last).insertBefore(first);
  1637.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  1638.                                 item++;
  1639.                                 if (item == max+1) {item = 1};
  1640.                             } else {
  1641.                                 item--;
  1642.                                 if (item == 0) {item = max};
  1643.                             };
  1644.                             counter(item, max);
  1645.                             var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  1646.                             itemWidth(img);
  1647.                             \$(this).siblings('.items').find('.item').eq(1).animate(
  1648.                                 {opacity: opacOn},
  1649.                                 500,
  1650.                                 'swing');
  1651.                             \$(this).siblings('.items').find('.item').eq(0).animate(
  1652.                                 {marginLeft: marginL, opacity: 1},
  1653.                                 500,
  1654.                                 'swing',
  1655.                                 function(){
  1656.                                     if (isRight){
  1657.                                         \$(this).insertAfter(last);
  1658.                                         \$(this).css({ marginLeft: 0, opacity: 1});
  1659.                                     }
  1660.                                 }
  1661.                             );
  1662.                         });
  1663.                         if (_ww > 768){
  1664.                             \$('.div-img-hover-2').hover(function (e) {
  1665.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1666.                                 var htext = \$(this).find('.project-content').height();
  1667.                                 if (htext == undefined){htext = 0};
  1668.                                 \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  1669.                                 \$(this).find('.project-content').css({'visibility': 'visible'});
  1670.                                 \$(this).find('.project-content').animate({opacity: 1}, 150);
  1671.                             }, function() {
  1672.                                 \$(this).find('.div-hover-2').animate({height : 85}, 150);
  1673.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  1674.                                 \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  1675.                                     \$(this).find('.project-content').css({'visibility': 'hidden'});
  1676.                                 });
  1677.                             });
  1678.                         } else {
  1679.                             \$('.div-img-hover-2').on( \"tap\", function( event ) {
  1680.                                 var opened = \$(this).find('.div-hover-2').hasClass('open'),
  1681.                                     ht = opened ? 85 : '100%',
  1682.                                     vis = opened ? 0 : 1;
  1683.                                 \$(this).find('.div-hover-2').toggleClass('open');
  1684.                                 \$(this).find('.div-hover-2').animate({height : ht}, 150);
  1685.                                 \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  1686.                             });
  1687.                         }
  1688.                     })
  1689.                     .catch((error) => {
  1690.                         console.error('Error:', error);
  1691.                     });
  1692.             })
  1693.         }
  1694.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  1695.             new Flicking(\"#flick3\", {
  1696.                 moveType: \"freeScroll\",
  1697.                 bound: true
  1698.             });
  1699.         }
  1700.         if (window.matchMedia(\"(max-width: 768px)\").matches) {
  1701.             const test = document.getElementsByClassName('select-filter')
  1702.             for (const testElement of test) {
  1703.                 testElement.addEventListener('click', function (e) {
  1704.                     e.preventDefault()
  1705.                     testElement.classList.toggle('select-projet-active')
  1706.                     const infos = document.querySelector('.projectButton.all')
  1707.                     const dataId = []
  1708.                     const tests = document.querySelectorAll('.select-filter.select-projet-active')
  1709.                     for (const test1 of tests) {
  1710.                         dataId.push(parseFloat(test1.dataset.id))
  1711.                     }
  1712.                     fetch('properties/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  1713.                         method: 'GET',
  1714.                     })
  1715.                         .then(response => response.json())
  1716.                         .then(data => {
  1717.                             futurProjects.innerHTML = data.data
  1718.                         })
  1719.                         .catch((error) => {
  1720.                             console.error('Error:', error);
  1721.                         });
  1722.                 })
  1723.             }
  1724.         } else {
  1725.             const test = document.getElementsByClassName('select-projet')
  1726.             const textOutput = document.querySelector(\"#showOutput\");
  1727.             for (const testElement of test) {
  1728.                 testElement.addEventListener('click', function (e) {
  1729.                     displayLoading()
  1730.                     e.preventDefault()
  1731.                     testElement.classList.toggle('select-projet-active')
  1732.                     const infos = document.querySelector('.projectButton.all')
  1733.                     const dataId = []
  1734.                     const tests = document.querySelectorAll('.select-projet.select-projet-active')
  1735.                     for (const test1 of tests) {
  1736.                         dataId.push(parseFloat(test1.dataset.id))
  1737.                     }
  1738.                     fetch('properties/display/'+infos.dataset.id+'/params/' + JSON.stringify(dataId), {
  1739.                         method: 'GET'
  1740.                     })
  1741.                         .then(response => response.json())
  1742.                         .then(data => {
  1743.                             hideLoading()
  1744.                             futurProjects.innerHTML = data.data
  1745.                             _ww = \$(window).width();
  1746.                             var lightbox = \$('.lightbox'),
  1747.                                 item = 0;
  1748.                             \$('.lightbox-on').click(function(e){
  1749.                                 e.stopPropagation();
  1750.                                 item = 0;
  1751.                                 var id = \$(this).attr('data-id'),
  1752.                                     max = 0;
  1753.                                 \$('#'+id).toggle();
  1754.                                 \$('#'+id).animate({opacity: 1}, 300);
  1755.                                 \$('#'+id).find('img').each(function( i ) {
  1756.                                     max = i;
  1757.                                     item = 1;
  1758.                                     counter(item, max+1);
  1759.                                     itemWidth(\$(this));
  1760.                                 });
  1761.                             });
  1762.                             lightbox.click(function(e) {
  1763.                                 e.stopPropagation();
  1764.                                 \$(this).animate({opacity: 0}, 300, function(){
  1765.                                     \$(this).toggle();
  1766.                                 });
  1767.                             });
  1768.                             \$('.closer').on('click', function (e) {
  1769.                                 e.stopPropagation();
  1770.                                 \$(this).parent().animate(
  1771.                                     {opacity: 0},
  1772.                                     300,
  1773.                                     function(){
  1774.                                         \$(this).toggle();
  1775.                                     }
  1776.                                 );
  1777.                             });
  1778.                             function itemWidth(img){
  1779.                                 img.closest('.items').width(img.width());
  1780.                             }
  1781.                             function counter(item, max){
  1782.                                 \$('.counter').text(item + ' / ' + max);
  1783.                             }
  1784.                             \$('.item', lightbox).on('click, swipeleft', function (e) {
  1785.                                 var wd = \$(this).width(),
  1786.                                     last = \$(this).parent().find('.item').last(),
  1787.                                     img = \$(this).find('.img');
  1788.                                 itemWidth(img);
  1789.                                 \$(this).animate(
  1790.                                     {marginLeft: -wd, opacity: 0},
  1791.                                     500,
  1792.                                     'swing',
  1793.                                     function(){
  1794.                                         \$(this).insertAfter(last);
  1795.                                         \$(this).css({marginLeft: 0, opacity: 1});
  1796.                                     }
  1797.                                 );
  1798.                             });
  1799.                             \$('.item', lightbox).on('swiperight', function (e) {
  1800.                                 var wd = \$(this).width(),
  1801.                                     first = \$(this).parent().find('.item').first(),
  1802.                                     last = \$(this).parent().find('.item').last(),
  1803.                                     img = \$(this).find('.img');
  1804.                                 itemWidth(img);
  1805.                                 \$(last).insertBefore(\$(this));
  1806.                                 \$(last).css({marginLeft: -wd, opacity: 0});
  1807.                                 \$(this).parent().find('.item').eq(0).animate(
  1808.                                     {marginLeft: 0, opacity: 1},
  1809.                                     500,
  1810.                                     'swing'
  1811.                                 );
  1812.                             });
  1813.                             \$('.arrows', lightbox).on('click', function (e) {
  1814.                                 e.stopPropagation();
  1815.                                 var wd = \$(this).siblings('.items').find('.item').eq(0).width(),
  1816.                                     max = \$(this)
  1817.                                         .siblings('.items').find('.item').length,
  1818.                                     first = \$(this).siblings('.items').find('.item').first(),
  1819.                                     last = \$(this).siblings('.items').find('.item').last(),
  1820.                                     isRight = \$(this).hasClass('right'),
  1821.                                     marginL = isRight ? -wd : 0,
  1822.                                     marginL0 = isRight ? 0: -wd,
  1823.                                     opacOn = isRight ? 1 : 0,
  1824.                                     opacOff = isRight ? 0 : 1;
  1825.                                 if (!isRight){
  1826.                                     \$(last).insertBefore(first);
  1827.                                     \$(last).css({marginLeft: -wd, opacity: 0});
  1828.                                     item++;
  1829.                                     if (item == max+1) {item = 1};
  1830.                                 } else {
  1831.                                     item--;
  1832.                                     if (item == 0) {item = max};
  1833.                                 };
  1834.                                 counter(item, max);
  1835.                                 var img = \$(this).siblings('.items').find('.item').eq(0).find('.img');
  1836.                                 itemWidth(img);
  1837.                                 \$(this).siblings('.items').find('.item').eq(1).animate(
  1838.                                     {opacity: opacOn},
  1839.                                     500,
  1840.                                     'swing');
  1841.                                 \$(this).siblings('.items').find('.item').eq(0).animate(
  1842.                                     {marginLeft: marginL, opacity: 1},
  1843.                                     500,
  1844.                                     'swing',
  1845.                                     function(){
  1846.                                         if (isRight){
  1847.                                             \$(this).insertAfter(last);
  1848.                                             \$(this).css({ marginLeft: 0, opacity: 1});
  1849.                                         }
  1850.                                     }
  1851.                                 );
  1852.                             });
  1853.                             if (_ww > 768){
  1854.                                 \$('.div-img-hover-2').hover(function (e) {
  1855.                                     \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1856.                                     var htext = \$(this).find('.project-content').height();
  1857.                                     if (htext == undefined){htext = 0};
  1858.                                     \$(this).find('.div-hover-2').animate({height : htext+180}, 150);
  1859.                                     \$(this).find('.project-content').css({'visibility': 'visible'});
  1860.                                     \$(this).find('.project-content').animate({opacity: 1}, 150);
  1861.                                 }, function() {
  1862.                                     \$(this).find('.div-hover-2').animate({height : 85}, 150);
  1863.                                     \$(this).find('.project-arrow-2').animate({opacity: 0}, 150);
  1864.                                     \$(this).find('.project-content').animate({opacity: 0}, 150, function(){
  1865.                                         \$(this).find('.project-content').css({'visibility': 'hidden'});
  1866.                                     });
  1867.                                 });
  1868.                             } else {
  1869.                                 \$('.div-img-hover-2').on( \"tap\", function( event ) {
  1870.                                     var opened = \$(this).find('.div-hover-2').hasClass('open'),
  1871.                                         ht = opened ? 85 : '100%',
  1872.                                         vis = opened ? 0 : 1;
  1873.                                     \$(this).find('.div-hover-2').toggleClass('open');
  1874.                                     \$(this).find('.div-hover-2').animate({height : ht}, 150);
  1875.                                     \$(this).find('.project-arrow-2').animate({opacity: vis}, 150);
  1876.                                 });
  1877.                             }
  1878.                             \$('.div-hover').hover(function (e) {
  1879.                                 \$(this).find('.project-arrow-2').animate({opacity: 1}, 150);
  1880.                             }, function() {
  1881.                                 \$(this).find('.project-arrow-2').animate({opacity: 0}, 50);
  1882.                             });
  1883.                         })
  1884.                         .catch((error) => {
  1885.                         });
  1886.                 })
  1887.             }
  1888.         }
  1889.         const filter = document.getElementById('filters')
  1890.         const filterElement = document.getElementById('form-search-filter-ajax')
  1891.         filter.addEventListener('click', function (e) {
  1892.             e.preventDefault()
  1893.             filterElement.classList.toggle('show')
  1894.         })
  1895.         const loader = document.querySelector(\"#loading\");
  1896.         function displayLoading() {
  1897.             loader.classList.add(\"display\");
  1898.             // to stop loading after some time
  1899.             setTimeout(() => {
  1900.                 loader.classList.remove(\"display\");
  1901.             }, 5000);
  1902.         }
  1903.         // hiding loading
  1904.         function hideLoading() {
  1905.             loader.classList.remove(\"display\");
  1906.         }
  1907.     </script>
  1908.     <script>
  1909.         const arrowPrev = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7.985\" height=\"13.211\" viewBox=\"0 0 7.985 13.211\">
  1910.                                 <path id=\"np_arrow-up_888648_000000\" d=\"M13.211,1.381l-6.606,6.6L0,1.381,1.381,0,6.606,5.022h0L11.83,0Z\" transform=\"translate(7.985) rotate(90)\" fill=\"#fff\"/>
  1911.                             </svg>`;
  1912.         const arrowNext= `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7.985\" height=\"13.211\" viewBox=\"0 0 7.985 13.211\">
  1913.                             <path id=\"np_arrow-up_888648_000000\" d=\"M13.211,1.381l-6.606,6.6L0,1.381,1.381,0,6.606,5.022h0L11.83,0Z\" transform=\"translate(7.985) rotate(90)\" fill=\"#fff\"/>
  1914.                         </svg>`;
  1915.         var countProperties = '{{ properties|length }}';
  1916.         var loopProp = 1;
  1917.         while (loopProp <= countProperties+3) {
  1918.             \$('.slick-slide-single-'+loopProp).slick({
  1919.                 'slidesToShow': 1,
  1920.                 'prevArrow': `<div class=\"arrow-left square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowPrev}</div>`,
  1921.                 'nextArrow': `<div class=\"arrow-right square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowNext}</div>`
  1922.             });
  1923.             {#
  1924.             if (window.innerWidth > 768) {
  1925.                 \$('.slick-slide-single-'+loopProp).slick({
  1926.                     'slidesToShow': 1,
  1927.                     'prevArrow': `<div class=\"arrow-left square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowPrev}</div>`,
  1928.                     'nextArrow': `<div class=\"arrow-right square-black d-flex justify-content-center align-items-center position-absolute\">\${arrowNext}</div>`
  1929.                 });
  1930.             }
  1931.             #}
  1932.             loopProp++;
  1933.         }
  1934.     </script>
  1935. {% endblock %}
  1936. ""property.html.twig""/home/fuzxzwq/www/templates/property.html.twig");
  1937.     }
  1938. }