{"id":3120,"date":"2024-11-13T10:51:11","date_gmt":"2024-11-13T09:51:11","guid":{"rendered":"https:\/\/preprod.lockroy.fr\/?page_id=3120"},"modified":"2026-07-16T17:54:26","modified_gmt":"2026-07-16T15:54:26","slug":"contact","status":"publish","type":"page","link":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/","title":{"rendered":"Contactez-nous"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3120\" class=\"elementor elementor-3120\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50c42a3 e-con-full e-flex e-con e-child\" data-id=\"50c42a3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-436280a e-con-full e-flex e-con e-child\" data-id=\"436280a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-255557e elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"255557e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Votre projet<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29f5399 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"29f5399\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Un projet immobilier ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df6c30b elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"df6c30b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Parlons-en.<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c595cde elementor-widget__width-initial elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"c595cde\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;button_width&quot;:&quot;20&quot;,&quot;step_next_label&quot;:&quot;Suivant&quot;,&quot;step_previous_label&quot;:&quot;Pr\\u00e9c\\u00e9dent&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"Nouveau formulaire\" aria-label=\"Nouveau formulaire\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"3120\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"c595cde\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Contactez-nous - Lockroy\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"3120\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tVotre pr\u00e9nom\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Votre pr\u00e9nom\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_dc43155 elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_dc43155\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tVotre nom\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_dc43155]\" id=\"form-field-field_dc43155\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"Votre nom\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tE-mail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-md  elementor-field-textual\" placeholder=\"E-mail\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-message elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tMessage\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-md\" name=\"form_fields[message]\" id=\"form-field-message\" rows=\"4\" placeholder=\"Message\" required=\"required\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text\">\n\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_2376aba]\" id=\"form-field-field_2376aba\" class=\"elementor-field elementor-size-md \" style=\"display:none !important;\">\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-recaptcha_v3 elementor-field-group elementor-column elementor-field-group-field_61edab1 elementor-col-100 recaptcha_v3-bottomright\">\n\t\t\t\t\t<div class=\"elementor-field\" id=\"form-field-field_61edab1\"><div class=\"elementor-g-recaptcha\" data-sitekey=\"6Le3JlosAAAAAC778BOLzVjhzrB6zSvvFKWMircM\" data-type=\"v3\" data-action=\"Form\" data-badge=\"bottomright\" data-size=\"invisible\"><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-20 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Envoyer<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f40991e e-con-full e-flex e-con e-parent\" data-id=\"f40991e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d78d57 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"3d78d57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Nos agences<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9439fa9 elementor-widget elementor-widget-html\" data-id=\"9439fa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Nos Agences \u2013 Lockroy<\/title>\n<!-- Appel Google Fonts modifi\u00e9 pour inclure toutes les graisses (weights) de Alexandria (100 \u00e0 900) et Assistant (200 \u00e0 800) -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Alexandria:wght@100..900&family=Assistant:wght@200..800&family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap\" rel=\"stylesheet\">\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/d3\/7.8.5\/d3.min.js\"><\/script>\n<style>\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n:root {\n  --map-base:   #C3D9EE;  \/* Bleu tr\u00e8s clair pour la France de la maquette *\/\n  --map-hover:  #8DB2D6;\n  --accent:     #3066ab;\n  --dark:       #0e3049;\n  --white:      #ffffff;\n  --border:      rgba(14, 48, 73, 0.08);\n  --bg-global:  #EBF0F6;  \/* Arri\u00e8re-plan gris-bleu de l'image *\/\n}\n\nhtml {\n  scroll-behavior: smooth;\n}\n\nbody {\n  font-family: 'Assistant', sans-serif;\n  background: transparent;\n  color: var(--dark);\n}\n\n\/* \u2500\u2500\u2500 LAYOUT GLOBAL (FORC\u00c9 EN GRID DUO POUR ALIGNEMENT STRICT) \u2500\u2500\u2500 *\/\n.lockroy-section {\n  display: grid;\n  grid-template-columns: 55% 45%; \/* R\u00e9partition stable *\/\n  gap: 40px;\n  padding: 0px 0px;\n  margin: 0 auto;\n  align-items: stretch; \/* Force les deux blocs principaux \u00e0 avoir STRICTEMENT la m\u00eame hauteur *\/\n}\n\n\/* \u2500\u2500\u2500 BLOC CARTE (BLANC ET ARRONDI) \u2500\u2500\u2500 *\/\n.map-wrapper {\n  position: relative;\n  background: var(--white);\n  border-radius: 20px;\n  padding: 30px;\n  box-shadow: 0 10px 40px rgba(14, 48, 73, 0.03);\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n}\n\n.map-header {\n  font-size: 14px;\n  font-family:'Assistant';\n  font-weight: 600;\n  letter-spacing: 1.5px;\n  text-transform: uppercase;\n  color: #3066AB;\n  margin-bottom: 20px;\n}\n\n#mapSvg {\n  height: auto;\n  display: block;\n  overflow: visible;\n  margin: auto;\n}\n\n.region {\n  fill: var(--map-base);\n  stroke: #fff;\n  stroke-width: 1.5;\n  transition: fill .25s ease;\n  cursor: pointer;\n}\n.region.lit { fill: var(--map-hover); }\n\n\/* \u2500\u2500\u2500 PINS \u2500\u2500\u2500 *\/\n.pin-g { pointer-events: none; } \n\n\/* Rond Central Marine *\/\n.pin-core {\n  fill: var(--dark);\n}\n\n\/* Halo de survol *\/\n.pin-halo {\n  fill: #ebf0f6;\n  opacity: 0;\n  transition: opacity 0.25s ease, r 0.25s ease;\n}\n\n\/* Seul le halo change d'opacit\u00e9 et de taille *\/\n.pin-g.on .pin-halo {\n  opacity: 0.6;\n  r: 16;\n}\n\n\/* \u2500\u2500\u2500 ENCARTS PANEL DROITE (GESTIONNAIRE DE HAUTEUR) \u2500\u2500\u2500 *\/\n.panel {\n  display: flex;\n  flex-direction: column;\n  height: 100%; \/* S'aligne sur la hauteur de la grille (cal\u00e9e sur la carte) *\/\n}\n\n\/* Conteneur parent pour isoler et \u00e9tirer les cartes *\/\n.panel-scroll-box {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n\n.ag-list { \n  list-style: none; \n  display: flex;\n  flex-direction: column;\n  height: 100%; \/* Occupe toute la hauteur disponible du panel *\/\n  justify-content: space-between; \/* R\u00e9partit automatiquement l'espace *\/\n  gap: 10px; \/* Espace minimal de s\u00e9curit\u00e9 *\/\n}\n\n\/* Structure de l'encart blanc d'agence *\/\n.ag-card {\n  background: var(--white);\n  border-radius: 12px;\n  padding: 18px 24px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  text-decoration: none;\n  color: inherit;\n  box-shadow: 0 4px 20px rgba(14, 48, 73, 0.02);\n  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;\n  flex: 0 1 auto; \/* Permet aux cartes de respirer sans s'\u00e9craser *\/\n}\n\n.ag-card-left {\n  display: flex;\n  align-items: flex-start; \/* Aligne le point et le bloc texte par le haut *\/\n  gap: 20px;\n}\n\n\/* Puce marine align\u00e9e sur le nom de l'agence *\/\n.ag-card-title-row {\n  display: flex;\n  align-items: center; \/* Centre le point verticalement uniquement avec le texte du nom *\/\n  gap: 12px;\n}\n\n.ag-card-dot {\n  width: 10px;\n  height: 10px;\n  background-color: var(--dark);\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.ag-card-name {\n  font-size: 16px;\n  font-family:'Assistant' sans-serif;\n  font-weight: 700 !important;\n  letter-spacing:0.6px;\n  text-transform: uppercase;\n  color: var(--dark);\n  line-height: 1; \/* Assure un alignement pr\u00e9cis avec le point *\/\n}\n\n\/* Bloc d'informations sous le titre (d\u00e9cal\u00e9 pour s'aligner apr\u00e8s le point) *\/\n.ag-card-info {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n\n.ag-card-contact {\n  display: flex;\n  flex-direction: column;\n  gap: 3px;\n  margin-top: 4px;\n  padding-left: 22px; \/* D\u00e9cale les infos pour qu'elles s'alignent sous le d\u00e9but du nom *\/\n}\n\n.ag-contact-item {\n  font-size: 16px !important; \/* Augment\u00e9 de 13px \u00e0 14px pour une meilleure lisibilit\u00e9 *\/\n  color: #6f94b9;\n  font-family:'Assistant';\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.ag-contact-item svg {\n  width: 17px; \/* Un poil plus grand pour s'accorder avec la police *\/\n  height: 17px;\n  flex-shrink: 0;\n}\n\n\/* \u2500\u2500\u2500 CORRECTION STYLES IC\u00d4NES CONTACTS \u2500\u2500\u2500 *\/\n\/* 1. R\u00e8gle pour l'ic\u00f4ne de g\u00e9olocalisation (contours filaires) *\/\n.ag-contact-item svg path {\n  fill: none;\n  stroke: #6f94b9;\n  stroke-width: 2;\n}\n.ag-contact-item svg circle {\n  fill: none;\n  stroke: #6f94b9;\n  stroke-width: 2;\n}\n\n\/* 2. R\u00e8gle sp\u00e9cifique pour votre nouvelle enveloppe pleine (remplissage) *\/\n.ag-contact-item svg[viewBox*=\"-960\"] path {\n  fill: #7A92A5;\n  stroke: none;\n}\n\n.ag-card-arrow {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: transform 0.25s ease;\n}\n\n.ag-card-arrow svg {\n  width: 18px;\n  height: 18px;\n}\n\n.ag-card-arrow svg path {\n  stroke: #0e3049;\n  stroke-width: 2.5;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n\/* Hover et \u00c9tat Actif *\/\n.ag-card:hover,\n.ag-card.hover {\n  transform: translateX(4px);\n  border-color: rgba(14, 48, 73, 0.12);\n  box-shadow: 0 10px 25px rgba(14, 48, 73, 0.06);\n}\n\n.ag-card:hover .ag-card-arrow,\n.ag-card.hover .ag-card-arrow {\n  transform: translateX(4px);\n}\n\n\/* Masquer l'ancien tooltip *\/\n.tip { display: none !important; }\n\n\/* \u2500\u2500\u2500 RESPONSIVE \u2500\u2500\u2500 *\/\n@media (max-width: 1024px) {\n  .lockroy-section {\n    grid-template-columns: 1fr;\n    padding: 30px 20px;\n    gap: 24px;\n  }\n  .map-wrapper {\n    width: 100%;\n    padding: 30px 20px;\n  }\n  .ag-list {\n    justify-content: flex-start;\n    gap: 14px;\n  }\n}\n<\/style>\n<\/head>\n<body>\n\n<section class=\"lockroy-section\">\n\n  <div class=\"map-wrapper\" id=\"mw\">\n    <div class=\"map-header\">Implantations en France<\/div>\n    <svg id=\"mapSvg\"><\/svg>\n  <\/div>\n\n  <div class=\"panel\">\n    <div class=\"panel-scroll-box\">\n      <ul class=\"ag-list\" id=\"agList\"><\/ul>\n    <\/div>\n  <\/div>\n\n<\/section>\n\n<script>\nconst AGENCIES = [\n  {\n    key: 'bordeaux',\n    label: 'Lockroy Bordeaux',\n    region: 'Nouvelle-Aquitaine',\n    address: '81, boulevard Pierre 1er 33110 Bordeaux',\n    email: 'bordeaux@lockroy.fr',\n    lon: -0.58, lat: 44.84,\n    url: '\/index.php\/agence-bordeaux-nouvelle-aquitaine\/'\n  },\n  {\n    key: 'paris',\n    label: 'Lockroy Paris',\n    region: '\u00cele-de-France',\n    address: '14, rue Delambre 75014 Paris',\n    email: 'paris@lockroy.fr',\n    lon: 2.08, lat: 48.80,\n    url: '\/index.php\/agence-paris\/'\n  },\n  {\n    key: 'lyon',\n    label: 'Lockroy Lyon',\n    region: 'Auvergne-Rh\u00f4ne-Alpes',\n    address: '27, rue Maurice Flandin 69003 Lyon',\n    email: 'lyon@lockroy.fr',\n    lon: 4.83, lat: 45.75,\n    url: '\/index.php\/agence-lyon-rhone-alpes\/'\n  },\n  {\n    key: 'nantes',\n    label: 'Lockroy Nantes',\n    region: 'Pays de la Loire',\n    address: '12, Avenue Carnot 44000 Nantes',\n    email: 'nantes@lockroy.fr',\n    lon: -1.55, lat: 47.22,\n    url: '\/index.php\/agence-nantes-pays-de-la-loire\/'\n  },\n  {\n    key: 'lille',\n    label: 'Lockroy Lille',\n    region: 'Hauts-de-France',\n    address: '165, avenue de la Marne 59 700 Marcq-en-Baroeul',\n    email: 'lille@lockroy.fr',\n    lon: 3.07, lat: 50.63,\n    url: '\/index.php\/agence-lille-hauts-de-france\/'\n  },\n  {\n    key: 'aix',\n    label: 'Lockroy Aix',\n    region: \"Provence-Alpes-C\u00f4te d'Azur\",\n    address: '1330, rue G. de la Lauzi\u00e8re, Europarc de Pichaury 13290 Aix-en-Provence',\n    email: 'aix@lockroy.fr',\n    lon: 5.45, lat: 43.53,\n    url: '\/index.php\/agence-aix-marseille-paca\/'\n  },\n  {\n    key: 'strasbourg',\n    label: 'Lockroy Strasbourg',\n    region: 'Grand Est',\n    email: 'contact@lockroy.fr',\n    lon: 7.75, lat: 48.58,\n    url: '#'\n  }\n];\n\nconst REGION_MAP = {\n  '\u00cele-de-France': 'paris',\n  'Hauts-de-France': 'lille',\n  'Pays de la Loire': 'nantes',\n  'Auvergne-Rh\u00f4ne-Alpes': 'lyon',\n  'Nouvelle-Aquitaine': 'bordeaux',\n  \"Provence-Alpes-C\u00f4te d'Azur\": 'aix',\n  'Grand Est': 'strasbourg'\n};\n\nconst agList = document.getElementById('agList');\nAGENCIES.forEach(d => {\n  const li = document.createElement('li');\n  \n  \/\/ G\u00e9n\u00e8re la ligne d'adresse uniquement si la cl\u00e9 n'est pas strasbourg\n  const addressHtml = d.key !== 'strasbourg' ? `\n    <div class=\"ag-contact-item\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle><\/svg>\n      <span>${d.address}<\/span>\n    <\/div>` : '';\n\n  li.innerHTML = `\n    <a href=\"${d.url}\" class=\"ag-card\" id=\"card-${d.key}\" data-key=\"${d.key}\">\n      <div class=\"ag-card-left\">\n        <div class=\"ag-card-info\">\n          <div class=\"ag-card-title-row\">\n            <div class=\"ag-card-dot\"><\/div>\n            <div class=\"ag-card-name\">${d.label}<\/div>\n          <\/div>\n          <div class=\"ag-card-contact\">\n            ${addressHtml}\n            <div class=\"ag-contact-item\">\n              <svg viewBox=\"0 -960 960 960\">\n                <path d=\"M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z\"\/>\n              <\/svg>\n              <span>${d.email}<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ag-card-arrow\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\">\n          <path d=\"M5 12H19\"><\/path>\n          <path d=\"M13 6L19 12L13 18\"><\/path>\n        <\/svg>\n      <\/div>\n    <\/a>`;\n  agList.appendChild(li);\n});\n\nconst W = 620, H = 600;\nconst svgEl = d3.select('#mapSvg')\n  .attr('viewBox', `0 0 ${W} ${H}`)\n  .attr('preserveAspectRatio', 'xMidYMid meet');\n\nconst proj = d3.geoConicConformal()\n  .center([2.4, 46.5])\n  .scale(2500)\n  .translate([W \/ 2, H \/ 2]);\n\nconst geoPath = d3.geoPath().projection(proj);\n\nfunction activateAgency(key) {\n  svgEl.selectAll('.region').classed('lit', function () {\n    return this.dataset.agency === key;\n  });\n  svgEl.selectAll('.pin-g').classed('on', function () {\n    return this.dataset.key === key;\n  });\n  document.querySelectorAll('.ag-card').forEach(r => {\n    r.classList.toggle('hover', r.dataset.key === key);\n  });\n}\n\nfunction deactivateAgency() {\n  svgEl.selectAll('.region').classed('lit', false);\n  svgEl.selectAll('.pin-g').classed('on', false);\n  document.querySelectorAll('.ag-card').forEach(r => r.classList.remove('hover'));\n}\n\nfetch('https:\/\/raw.githubusercontent.com\/gregoiredavid\/france-geojson\/master\/regions-version-simplifiee.geojson')\n  .then(r => r.json())\n  .then(geojson => {\n    \n    svgEl.selectAll('.region')\n      .data(geojson.features)\n      .enter()\n      .append('path')\n      .attr('class', 'region')\n      .attr('d', geoPath)\n      .each(function (d) {\n        const agKey = REGION_MAP[d.properties.nom];\n        if (agKey) this.dataset.agency = agKey;\n      })\n      .on('mouseenter', function (e, d) {\n        const agKey = REGION_MAP[d.properties.nom];\n        if (agKey) activateAgency(agKey);\n      })\n      .on('mouseleave', function () {\n        deactivateAgency();\n      })\n      .on('click', function (e, d) {\n        const agKey = REGION_MAP[d.properties.nom];\n        if (agKey) {\n          const agObj = AGENCIES.find(a => a.key === agKey);\n          if (agObj && agObj.url !== '#') window.location.href = agObj.url;\n        }\n      });\n\n    AGENCIES.forEach(ag => {\n      const [px, py] = proj([ag.lon, ag.lat]);\n\n      const g = svgEl.append('g')\n        .attr('class', 'pin-g')\n        .attr('data-key', ag.key)\n        .attr('transform', `translate(${px},${py})`);\n\n      g.append('circle')\n        .attr('class', 'pin-halo')\n        .attr('r', 8);\n\n      g.append('circle')\n        .attr('class', 'pin-core')\n        .attr('r', 5);\n    });\n\n    document.querySelectorAll('.ag-card').forEach(card => {\n      card.addEventListener('mouseenter', () => activateAgency(card.dataset.key));\n      card.addEventListener('mouseleave', () => deactivateAgency());\n    });\n\n  })\n  .catch(err => console.error('Erreur de chargement de la carte:', err));\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Votre projet Un projet immobilier ? Parlons-en. Nos agences Nos Agences \u2013 Lockroy Implantations en France<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_angie_page":false,"footnotes":""},"class_list":["post-3120","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Contactez-nous - Lockroy<\/title>\n<meta name=\"description\" content=\"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/preprod.lockroy.fr\/index.php\/contact\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contactez-nous - Lockroy\" \/>\n<meta property=\"og:description\" content=\"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/preprod.lockroy.fr\/index.php\/contact\/\" \/>\n<meta property=\"og:site_name\" content=\"Lockroy\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-16T15:54:26+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/index.php\\\/contact\\\/\",\"url\":\"https:\\\/\\\/preprod.lockroy.fr\\\/index.php\\\/contact\\\/\",\"name\":\"Contactez-nous - Lockroy\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#website\"},\"datePublished\":\"2024-11-13T09:51:11+00:00\",\"dateModified\":\"2026-07-16T15:54:26+00:00\",\"description\":\"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/index.php\\\/contact\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/preprod.lockroy.fr\\\/index.php\\\/contact\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/index.php\\\/contact\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/preprod.lockroy.fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contactez-nous\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#website\",\"url\":\"https:\\\/\\\/preprod.lockroy.fr\\\/\",\"name\":\"Lockroy\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/preprod.lockroy.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#organization\",\"name\":\"Lockroy\",\"url\":\"https:\\\/\\\/preprod.lockroy.fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/preprod.lockroy.fr\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/logo_bleu.png\",\"contentUrl\":\"https:\\\/\\\/preprod.lockroy.fr\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/logo_bleu.png\",\"width\":12319,\"height\":2766,\"caption\":\"Lockroy\"},\"image\":{\"@id\":\"https:\\\/\\\/preprod.lockroy.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contactez-nous - Lockroy","description":"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/","og_locale":"fr_FR","og_type":"article","og_title":"Contactez-nous - Lockroy","og_description":"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.","og_url":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/","og_site_name":"Lockroy","article_modified_time":"2026-07-16T15:54:26+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/","url":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/","name":"Contactez-nous - Lockroy","isPartOf":{"@id":"https:\/\/preprod.lockroy.fr\/#website"},"datePublished":"2024-11-13T09:51:11+00:00","dateModified":"2026-07-16T15:54:26+00:00","description":"Prenez contact avec Lockroy pour discuter de vos projets. Nous sommes pr\u00e9sents \u00e0 Paris, Lille, Lyon, Bordeaux, Nantes et Aix-en-Provence.","breadcrumb":{"@id":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/preprod.lockroy.fr\/index.php\/contact\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/preprod.lockroy.fr\/index.php\/contact\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/preprod.lockroy.fr\/"},{"@type":"ListItem","position":2,"name":"Contactez-nous"}]},{"@type":"WebSite","@id":"https:\/\/preprod.lockroy.fr\/#website","url":"https:\/\/preprod.lockroy.fr\/","name":"Lockroy","description":"","publisher":{"@id":"https:\/\/preprod.lockroy.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/preprod.lockroy.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/preprod.lockroy.fr\/#organization","name":"Lockroy","url":"https:\/\/preprod.lockroy.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/preprod.lockroy.fr\/#\/schema\/logo\/image\/","url":"https:\/\/preprod.lockroy.fr\/wp-content\/uploads\/2024\/10\/logo_bleu.png","contentUrl":"https:\/\/preprod.lockroy.fr\/wp-content\/uploads\/2024\/10\/logo_bleu.png","width":12319,"height":2766,"caption":"Lockroy"},"image":{"@id":"https:\/\/preprod.lockroy.fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/pages\/3120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/comments?post=3120"}],"version-history":[{"count":50,"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/pages\/3120\/revisions"}],"predecessor-version":[{"id":13522,"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/pages\/3120\/revisions\/13522"}],"wp:attachment":[{"href":"https:\/\/preprod.lockroy.fr\/index.php\/wp-json\/wp\/v2\/media?parent=3120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}