imio.smartweb.core 1.2.47__py3-none-any.whl → 1.2.49__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. imio/smartweb/core/contents/rest/base.py +8 -6
  2. imio/smartweb/core/contents/rest/directory/endpoint.py +2 -2
  3. imio/smartweb/core/contents/rest/events/endpoint.py +2 -2
  4. imio/smartweb/core/contents/rest/news/endpoint.py +2 -2
  5. imio/smartweb/core/contents/sections/events/view.py +2 -1
  6. imio/smartweb/core/contents/sections/news/view.py +2 -1
  7. imio/smartweb/core/contents/sections/text/views.py +2 -0
  8. imio/smartweb/core/contents/sections/views.py +2 -0
  9. imio/smartweb/core/tests/resources/json_rest_events.json +4 -1
  10. imio/smartweb/core/tests/test_rest.py +20 -17
  11. imio/smartweb/core/tests/test_section_events.py +9 -8
  12. imio/smartweb/core/tests/test_section_news.py +6 -6
  13. imio/smartweb/core/tests/test_vocabularies.py +2 -2
  14. imio/smartweb/core/utils.py +1 -1
  15. imio/smartweb/core/viewlets/footer.pt +5 -0
  16. imio/smartweb/core/viewlets/footer.py +5 -0
  17. imio/smartweb/core/vocabularies.py +2 -2
  18. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -1
  19. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -1
  20. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  21. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  22. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +1 -1
  23. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +5 -0
  24. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
  25. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  26. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js +1 -1
  27. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -3
  28. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  29. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
  30. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  31. imio/smartweb/core/webcomponents/package.json +1 -0
  32. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +112 -74
  33. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +14 -22
  34. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +24 -20
  35. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +6 -4
  36. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +7 -2
  37. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +211 -98
  38. imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +1 -1
  39. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +570 -379
  40. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +13 -4
  41. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +128 -82
  42. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +79 -29
  43. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +257 -90
  44. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +63 -56
  45. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +60 -12
  46. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  47. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +227 -0
  48. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  49. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  50. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  51. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  52. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +139 -82
  53. imio/smartweb/core/webcomponents/src/components/News/News.jsx +98 -55
  54. imio/smartweb/core/webcomponents/src/components/News/News.scss +29 -9
  55. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +34 -31
  56. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +264 -244
  57. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +13 -8
  58. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +23 -12
  59. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +23 -12
  60. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +5 -5
  61. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +23 -12
  62. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +4 -4
  63. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +13 -4
  64. imio/smartweb/core/webcomponents/src/index.jsx +3 -3
  65. imio/smartweb/core/webcomponents/src/index.scss +25 -68
  66. imio/smartweb/core/webcomponents/src/utils/Map.jsx +20 -11
  67. imio/smartweb/core/webcomponents/src/utils/translation.js +30 -0
  68. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/METADATA +30 -1
  69. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/RECORD +75 -69
  70. imio/smartweb/core/webcomponents/build/css/686.smartweb-webcomponents-compiled.css +0 -1
  71. imio/smartweb/core/webcomponents/build/js/686.smartweb-webcomponents-compiled.js +0 -1
  72. /imio.smartweb.core-1.2.47-py3.8-nspkg.pth → /imio.smartweb.core-1.2.49-py3.8-nspkg.pth +0 -0
  73. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/LICENSE.GPL +0 -0
  74. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/LICENSE.rst +0 -0
  75. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/WHEEL +0 -0
  76. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/namespace_packages.txt +0 -0
  77. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.49.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@ from imio.smartweb.core.utils import get_json
4
4
  from plone import api
5
5
  from plone.dexterity.content import Container
6
6
  from plone.rest import Service
7
+ from urllib.parse import urlencode
7
8
  from zope.interface import implementer
8
9
  from zope.interface import Interface
9
10
 
@@ -47,21 +48,22 @@ class BaseEndpoint(object):
47
48
  )
48
49
  del item[field]
49
50
 
50
- def get_extra_params(self, params):
51
+ def construct_query_string(self, params):
52
+ params = "&".join(params)
51
53
  form = self.request.form
52
54
  extra_params = []
53
55
  for k, v in form.items():
54
56
  if isinstance(v, list):
55
57
  # handles multiple metadata_fields
56
58
  for value in v:
57
- extra_params.append("{}={}".format(k, value))
59
+ extra_params.append((k, value))
58
60
  else:
59
- extra_params.append("{}={}".format(k, v))
61
+ extra_params.append((k, v))
60
62
  current_lang = api.portal.get_current_language()[:2]
61
63
  if current_lang != "fr":
62
- extra_params.append("translated_in_{}=1".format(current_lang))
63
- params = params + extra_params
64
- return params
64
+ extra_params.append(("translated_in_{}".format(current_lang), 1))
65
+ extra_params = urlencode(extra_params)
66
+ return "&".join(filter(None, [params, extra_params]))
65
67
 
66
68
 
67
69
  class BaseService(Service):
@@ -53,8 +53,8 @@ class BaseDirectoryEndpoint(BaseEndpoint):
53
53
  for category in self.context.selected_categories:
54
54
  params.append(f"taxonomy_contact_category.query={category}")
55
55
  params.append("taxonomy_contact_category.operator=or")
56
- params = self.get_extra_params(params)
57
- url = f"{DIRECTORY_URL}/{self.remote_endpoint}?{'&'.join(params)}"
56
+ params = self.construct_query_string(params)
57
+ url = f"{DIRECTORY_URL}/{self.remote_endpoint}?{params}"
58
58
  return url
59
59
 
60
60
 
@@ -49,8 +49,8 @@ class BaseEventsEndpoint(BaseEndpoint):
49
49
  if self.context.selected_event_types is not None:
50
50
  for event_type in self.context.selected_event_types:
51
51
  params.append(f"event_type={event_type}")
52
- params = self.get_extra_params(params)
53
- url = f"{EVENTS_URL}/{self.remote_endpoint}?{'&'.join(params)}"
52
+ params = self.construct_query_string(params)
53
+ url = f"{EVENTS_URL}/{self.remote_endpoint}?{params}"
54
54
  return url
55
55
 
56
56
 
@@ -49,8 +49,8 @@ class BaseNewsEndpoint(BaseEndpoint):
49
49
  "b_size={}".format(self.context.nb_results),
50
50
  "fullobjects=1",
51
51
  ]
52
- params = self.get_extra_params(params)
53
- url = f"{NEWS_URL}/{self.remote_endpoint}?{'&'.join(params)}"
52
+ params = self.construct_query_string(params)
53
+ url = f"{NEWS_URL}/{self.remote_endpoint}?{params}"
54
54
  return url
55
55
 
56
56
 
@@ -30,6 +30,7 @@ class EventsView(CarouselOrTableSectionView, HashableJsonSectionView):
30
30
  selected_item,
31
31
  "metadata_fields=container_uid",
32
32
  "metadata_fields=category_title",
33
+ "metadata_fields=local_category",
33
34
  "metadata_fields=topics",
34
35
  "metadata_fields=start",
35
36
  "metadata_fields=end",
@@ -67,7 +68,7 @@ class EventsView(CarouselOrTableSectionView, HashableJsonSectionView):
67
68
  modified_hash = hash_md5(item["modified"])
68
69
  category = ""
69
70
  if self.context.show_categories_or_topics == "category":
70
- category = item.get("category_title", "")
71
+ category = item.get("local_category") or item.get("category_title", "")
71
72
  elif self.context.show_categories_or_topics == "topic":
72
73
  topic = item.get("topics") and item["topics"][0] or None
73
74
  category = translate_vocabulary_term(
@@ -28,6 +28,7 @@ class NewsView(CarouselOrTableSectionView, HashableJsonSectionView):
28
28
  "portal_type=imio.news.NewsItem",
29
29
  "metadata_fields=container_uid",
30
30
  "metadata_fields=category_title",
31
+ "metadata_fields=local_category",
31
32
  "metadata_fields=topics",
32
33
  "metadata_fields=has_leadimage",
33
34
  "metadata_fields=modified",
@@ -60,7 +61,7 @@ class NewsView(CarouselOrTableSectionView, HashableJsonSectionView):
60
61
  modified_hash = hash_md5(item["modified"])
61
62
  category = ""
62
63
  if self.context.show_categories_or_topics == "category":
63
- category = item.get("category_title", "")
64
+ category = item.get("local_category") or item.get("category_title", "")
64
65
  elif self.context.show_categories_or_topics == "topic":
65
66
  topic = item.get("topics") and item["topics"][0] or None
66
67
  category = translate_vocabulary_term(
@@ -10,4 +10,6 @@ class TextView(SectionView):
10
10
  def get_scale_url(self, item):
11
11
  request = self.request
12
12
  scale = self.context.image_size
13
+ if self.context.image._height > self.context.image._width:
14
+ return get_scale_url(item, request, "image", scale, "portrait")
13
15
  return get_scale_url(item, request, "image", scale, "paysage")
@@ -4,6 +4,7 @@ from Acquisition import aq_inner
4
4
  from imio.smartweb.common.utils import get_vocabulary
5
5
  from imio.smartweb.common.utils import translate_vocabulary_term
6
6
  from imio.smartweb.core.utils import hash_md5
7
+ from imio.smartweb.core.utils import reindexParent
7
8
  from imio.smartweb.locales import SmartwebMessageFactory as _
8
9
  from plone import api
9
10
  from plone.locking.browser.info import LockInfoViewlet
@@ -89,6 +90,7 @@ class SectionView(BrowserView):
89
90
  context = aq_inner(self.context)
90
91
  context.bootstrap_css_class = section_size
91
92
  context.reindexObject()
93
+ reindexParent(context)
92
94
  current_lang = api.portal.get_current_language()[:2]
93
95
  size_txt = translate_vocabulary_term(
94
96
  "imio.smartweb.vocabulary.BootstrapCSS",
@@ -12,6 +12,7 @@
12
12
  "@type": "imio.events.Event",
13
13
  "UID": "97902f2e26774a369035117d56381a2a",
14
14
  "breadcrumb": "Belleville » Accueil temps libre » Journée de l'ATL",
15
+ "category": "press",
15
16
  "category_title": "Presse",
16
17
  "description": "Description de mon événement",
17
18
  "end": "2023-10-31T10:00:00+00:00",
@@ -646,6 +647,7 @@
646
647
  ],
647
648
  "items_total": 7,
648
649
  "image_field": null,
650
+ "local_category": "Local Category title",
649
651
  "modified": "2021-05-11T13:31:00",
650
652
  "open_end": false,
651
653
  "recurrence": null,
@@ -659,7 +661,8 @@
659
661
  "@id": "http://localhost:8080/Plone/belleville/communal/9ff5c526d28e473db0065a6845686cfe",
660
662
  "@type": "imio.events.Event",
661
663
  "UID": "9ff5c526d28e473db0065a6845686cfe",
662
- "category_title": null,
664
+ "category": "press",
665
+ "category_title": "Presse",
663
666
  "description": "une description",
664
667
  "end": "2023-04-01T20:02:00+00:00",
665
668
  "first_end": "2023-03-18T20:02:00+00:00",
@@ -134,34 +134,37 @@ class SectionsFunctionalTest(ImioSmartwebTestCase):
134
134
  endpoint.convert_cached_image_scales(item, modified_hash)
135
135
  self.assertEqual(len(item.keys()), 6)
136
136
 
137
- def test_get_extra_params(self):
137
+ def test_construct_query_string(self):
138
+ request = TestRequest()
139
+ endpoint = DirectoryEndpoint(self.portal, request)
140
+ query = endpoint.construct_query_string([])
141
+ self.assertEqual(query, "translated_in_en=1")
142
+
143
+ query = endpoint.construct_query_string(["param=1", "param2=2"])
144
+ self.assertEqual(query, "param=1&param2=2&translated_in_en=1")
145
+
138
146
  request = TestRequest(
139
147
  form={"taxonomy_contact_category": '("token")', "topics": "education"}
140
148
  )
141
149
  endpoint = DirectoryEndpoint(self.portal, request)
142
- params = endpoint.get_extra_params([])
150
+ query = endpoint.construct_query_string([])
143
151
  self.assertEqual(
144
- params,
145
- [
146
- 'taxonomy_contact_category=("token")',
147
- "topics=education",
148
- "translated_in_en=1",
149
- ],
152
+ query,
153
+ "taxonomy_contact_category=%28%22token%22%29&topics=education&translated_in_en=1",
150
154
  )
151
155
 
152
156
  request = TestRequest(
153
- form={"topics": "education", "metadata_fields": ["topics", "category"]}
157
+ form={
158
+ "topics": "education",
159
+ "metadata_fields": ["topics", "category"],
160
+ "local_category": "Local & category",
161
+ }
154
162
  )
155
163
  endpoint = DirectoryEndpoint(self.portal, request)
156
- params = endpoint.get_extra_params([])
164
+ query = endpoint.construct_query_string([])
157
165
  self.assertEqual(
158
- params,
159
- [
160
- "topics=education",
161
- "metadata_fields=topics",
162
- "metadata_fields=category",
163
- "translated_in_en=1",
164
- ],
166
+ query,
167
+ "topics=education&metadata_fields=topics&metadata_fields=category&local_category=Local+%26+category&translated_in_en=1",
165
168
  )
166
169
 
167
170
  @requests_mock.Mocker()
@@ -59,12 +59,12 @@ class TestSectionEvents(ImioSmartwebTestCase):
59
59
  (self.events, self.request), name="carousel_view"
60
60
  )
61
61
  self.assertEqual(events_view.items, [])
62
- url = "http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
62
+ url = "http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
63
63
  m.get(url, text=json.dumps(self.json_events))
64
64
  self.assertEqual(events_view.items[0][0].get("title"), "Journée de l'ATL")
65
65
  self.assertEqual(len(events_view.items[0]), 2)
66
66
  self.events.specific_related_events = ["1178188bddde4ced95a6cf8bf04c443c"]
67
- url = "http://localhost:8080/Plone/@events?UID=1178188bddde4ced95a6cf8bf04c443c&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=6&translated_in_en=1"
67
+ url = "http://localhost:8080/Plone/@events?UID=1178188bddde4ced95a6cf8bf04c443c&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=6&translated_in_en=1"
68
68
  m.get(url, text=json.dumps(self.json_specific_event))
69
69
  self.assertEqual(len(events_view.items[0]), 1)
70
70
  self.assertEqual(events_view.items[0][0].get("title"), "Bonne cheville")
@@ -84,7 +84,7 @@ class TestSectionEvents(ImioSmartwebTestCase):
84
84
  events_view = queryMultiAdapter(
85
85
  (self.events, self.request), name="carousel_view"
86
86
  )
87
- url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
87
+ url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
88
88
  m.get(url, text=json.dumps(self.json_events))
89
89
  self.assertEqual(len(events_view.items[0]), 2)
90
90
  hash_1 = annotations.get(SECTION_ITEMS_HASH_KEY)
@@ -92,7 +92,7 @@ class TestSectionEvents(ImioSmartwebTestCase):
92
92
  first_modification = self.portalpage.ModificationDate()
93
93
 
94
94
  sleep(1)
95
- url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
95
+ url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
96
96
  m.get(url, text="{}")
97
97
  self.assertEqual(len(events_view.items), 0)
98
98
  next_modification = self.portalpage.ModificationDate()
@@ -119,7 +119,7 @@ class TestSectionEvents(ImioSmartwebTestCase):
119
119
  events_view = queryMultiAdapter(
120
120
  (self.events, self.request), name="carousel_view"
121
121
  )
122
- url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
122
+ url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
123
123
  m.get(url, text=json.dumps(self.json_events))
124
124
 
125
125
  self.assertIn("paysage_vignette", events_view.items[0][0]["image"])
@@ -138,11 +138,12 @@ class TestSectionEvents(ImioSmartwebTestCase):
138
138
  events_view = queryMultiAdapter(
139
139
  (self.events, self.request), name="carousel_view"
140
140
  )
141
- url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
141
+ url = f"http://localhost:8080/Plone/@events?selected_agendas=e73e6a81afea4a579cd0da2773af8d29&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=UID&event_dates.query={today_str}&event_dates.range=min&b_size=6&translated_in_en=1&sort_on=event_dates"
142
142
  m.get(url, text=json.dumps(self.json_events))
143
- self.assertEqual(events_view.items[0][0]["category"], "Presse")
143
+ self.assertEqual(events_view.items[0][0]["category"], "Local Category title")
144
+ self.assertEqual(events_view.items[0][1]["category"], "Presse")
144
145
  self.events.show_categories_or_topics = "category"
145
- self.assertEqual(events_view.items[0][0]["category"], "Presse")
146
+ self.assertEqual(events_view.items[0][0]["category"], "Local Category title")
146
147
  self.events.show_categories_or_topics = "topic"
147
148
  self.assertEqual(events_view.items[0][0]["category"], "Education")
148
149
  self.events.show_categories_or_topics = ""
@@ -53,7 +53,7 @@ class TestSectionNews(ImioSmartwebTestCase):
53
53
  self.assertIn("My news", view())
54
54
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
55
55
  self.assertEqual(news_view.items, [])
56
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
56
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
57
57
  m.get(url, text=json.dumps(self.json_news))
58
58
  self.assertEqual(news_view.items[0][0].get("title"), "Première actualité")
59
59
  self.assertEqual(len(news_view.items[0]), 3)
@@ -62,7 +62,7 @@ class TestSectionNews(ImioSmartwebTestCase):
62
62
  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
63
63
  "bfe2b4391a0f4a8db6d8b7fed63d1c4a",
64
64
  ]
65
- url = "http://localhost:8080/Plone/@search?UID=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&UID=bfe2b4391a0f4a8db6d8b7fed63d1c4a&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1"
65
+ url = "http://localhost:8080/Plone/@search?UID=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&UID=bfe2b4391a0f4a8db6d8b7fed63d1c4a&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1"
66
66
  m.get(url, text=json.dumps(self.json_specific_news))
67
67
  self.assertEqual(len(news_view.items[0]), 2)
68
68
  self.assertEqual(
@@ -87,7 +87,7 @@ class TestSectionNews(ImioSmartwebTestCase):
87
87
  self.assertIsNone(annotations.get(SECTION_ITEMS_HASH_KEY))
88
88
 
89
89
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
90
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
90
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
91
91
  m.get(url, text=json.dumps(self.json_news))
92
92
  self.assertEqual(len(news_view.items[0]), 3)
93
93
  hash_1 = annotations.get(SECTION_ITEMS_HASH_KEY)
@@ -95,7 +95,7 @@ class TestSectionNews(ImioSmartwebTestCase):
95
95
  first_modification = self.portalpage.ModificationDate()
96
96
 
97
97
  sleep(1)
98
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
98
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
99
99
  m.get(url, text="{}")
100
100
  self.assertEqual(len(news_view.items), 0)
101
101
  next_modification = self.portalpage.ModificationDate()
@@ -116,7 +116,7 @@ class TestSectionNews(ImioSmartwebTestCase):
116
116
  self.news.related_news = "64f4cbee9a394a018a951f6d94452914"
117
117
  self.news.linking_rest_view = RelationValue(intids.getId(self.rest_news_view))
118
118
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
119
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
119
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
120
120
  m.get(url, text=json.dumps(self.json_news))
121
121
 
122
122
  self.assertIn("paysage_vignette", news_view.items[0][0]["image"])
@@ -129,7 +129,7 @@ class TestSectionNews(ImioSmartwebTestCase):
129
129
  self.news.related_news = "64f4cbee9a394a018a951f6d94452914"
130
130
  self.news.linking_rest_view = RelationValue(intids.getId(self.rest_news_view))
131
131
  news_view = queryMultiAdapter((self.news, self.request), name="carousel_view")
132
- url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
132
+ url = "http://localhost:8080/Plone/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&portal_type=imio.news.NewsItem&metadata_fields=container_uid&metadata_fields=category_title&metadata_fields=local_category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=modified&metadata_fields=effective&metadata_fields=UID&sort_limit=6&translated_in_en=1&sort_on=effective&sort_order=descending"
133
133
  m.get(url, text=json.dumps(self.json_news))
134
134
  self.assertEqual(news_view.items[0][0]["category"], "Presse")
135
135
  self.news.show_categories_or_topics = "category"
@@ -265,7 +265,7 @@ class TestVocabularies(ImioSmartwebTestCase):
265
265
  json_agendas_raw_mock = get_json("resources/json_events_agendas_raw_mock.json")
266
266
  url = f"{config.EVENTS_URL}/imio-events-entity/@search?portal_type=imio.events.Agenda&sort_on=sortable_title&b_size=1000000&metadata_fields=UID"
267
267
  m.get(url, text=json.dumps(json_agendas_raw_mock))
268
- url = f"{config.EVENTS_URL}/@search?selected_agendas=64f4cbee9a394a018a951f6d94452914&selected_agendas=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.events.Event&metadata_fields=category&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=1000000"
268
+ url = f"{config.EVENTS_URL}/@search?selected_agendas=64f4cbee9a394a018a951f6d94452914&selected_agendas=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.events.Event&metadata_fields=category_title&metadata_fields=topics&metadata_fields=start&metadata_fields=end&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&event_dates.query=2021-11-15&event_dates.range=min&b_size=1000000"
269
269
  json_rest_events = get_json("resources/json_rest_events_with_breadcrumbs.json")
270
270
  m.get(url, text=json.dumps(json_rest_events))
271
271
  vocabulary = get_vocabulary("imio.smartweb.vocabulary.EventsFromEntity")
@@ -284,7 +284,7 @@ class TestVocabularies(ImioSmartwebTestCase):
284
284
  )
285
285
  url = f"{config.NEWS_URL}/imio-news-entity/@search?portal_type=imio.news.NewsFolder&sort_on=sortable_title&b_size=1000000&metadata_fields=UID"
286
286
  m.get(url, text=json.dumps(json_newsfolders_raw_mock))
287
- url = f"{config.NEWS_URL}/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&selected_news_folders=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.news.NewsItem&metadata_fields=category&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&b_size=1000000"
287
+ url = f"{config.NEWS_URL}/@search?selected_news_folders=64f4cbee9a394a018a951f6d94452914&selected_news_folders=96d3e3299dc74386943e12c4f4fd0b8a&portal_type=imio.news.NewsItem&metadata_fields=category_title&metadata_fields=topics&metadata_fields=has_leadimage&metadata_fields=breadcrumb&metadata_fields=UID&b_size=1000000"
288
288
  json_rest_news = get_json("resources/json_rest_news.json")
289
289
  m.get(url, text=json.dumps(json_rest_news))
290
290
  vocabulary = get_vocabulary("imio.smartweb.vocabulary.NewsItemsFromEntity")
@@ -111,7 +111,7 @@ def batch_results(iterable, batch_size):
111
111
  return list(chunked(iterable, batch_size, strict=False))
112
112
 
113
113
 
114
- def reindexParent(obj, event):
114
+ def reindexParent(obj, event=None):
115
115
  parent = aq_parent(obj)
116
116
  if parent is not None:
117
117
  # in some cases (ex: relation breaking), we do not get the object in
@@ -6,6 +6,11 @@
6
6
  tal:attributes="id view/css_id;
7
7
  style view/background_style;
8
8
  class string:smartweb-footer ${footer/css_class}">
9
+ <a class="show-on-focus skip-before-footer"
10
+ tal:define="url view/current_page_url"
11
+ tal:attributes="href string:${url}#content-header"
12
+ i18n:domain="imio.smartweb"
13
+ i18n:translate="">Skip to navigation</a>
9
14
  <div class="container">
10
15
  <div class="row">
11
16
  <tal:bcl tal:repeat="section view/sections">
@@ -8,6 +8,7 @@ from plone.app.layout.navigation.interfaces import INavigationRoot
8
8
  from plone.app.layout.viewlets import common
9
9
  from Products.CMFPlone.interfaces.siteroot import IPloneSiteRoot
10
10
  from Products.CMFPlone.utils import parent
11
+ from zope.component import getMultiAdapter
11
12
 
12
13
 
13
14
  class BaseFooterViewlet(common.ViewletBase):
@@ -28,9 +29,13 @@ class BaseFooterViewlet(common.ViewletBase):
28
29
  return " ".join([css_bg_image, css_bg_size])
29
30
 
30
31
  def update(self):
32
+ context_state = getMultiAdapter(
33
+ (self.context, self.request), name="plone_context_state"
34
+ )
31
35
  if not self.available():
32
36
  return
33
37
  self.sections = self.footer.listFolderContents()
38
+ self.current_page_url = context_state.current_page_url
34
39
 
35
40
 
36
41
  class FooterViewlet(BaseFooterViewlet):
@@ -522,7 +522,7 @@ class EventsFromEntityVocabularyFactory:
522
522
  params = [
523
523
  selected_agendas,
524
524
  "portal_type=imio.events.Event",
525
- "metadata_fields=category",
525
+ "metadata_fields=category_title",
526
526
  "metadata_fields=topics",
527
527
  "metadata_fields=start",
528
528
  "metadata_fields=end",
@@ -562,7 +562,7 @@ class NewsItemsFromEntityVocabularyFactory:
562
562
  params = [
563
563
  selected_newsfolders,
564
564
  "portal_type=imio.news.NewsItem",
565
- "metadata_fields=category",
565
+ "metadata_fields=category_title",
566
566
  "metadata_fields=topics",
567
567
  "metadata_fields=has_leadimage",
568
568
  "metadata_fields=breadcrumb",
@@ -1 +1 @@
1
- .flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:300px}.flexbin>*{display:block;flex-grow:1;height:300px;margin:2.5px;position:relative}.flexbin>*>img{height:300px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}@media (max-width:980px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:150px}.flexbin>*{display:block;flex-grow:1;height:150px;margin:2.5px;position:relative}.flexbin>*>img{height:150px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}@media (max-width:400px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:100px}.flexbin>*{display:block;flex-grow:1;height:100px;margin:2.5px;position:relative}.flexbin>*>img{height:100px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}.breadcrumb{padding:0}.r-result-list{list-style:none;margin-top:50px;padding-left:0}#portal-column-content h1{font-size:0;position:absolute}#viewlet-below-content-description,#viewlet-below-content-title{display:none}.r-item-text{display:flex;flex-direction:column;margin:20px 30px;position:relative}.r-item-title{display:block}.r-results-numbers{margin-bottom:.5rem;width:100%}.r-results-numbers span{font-weight:700}.r-content-img{padding-bottom:60%}.new-content{margin:0 auto;max-width:700px}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}.r-actu-wrapper{position:relative}.r-actu-wrapper:after{content:url(../57d3b7cb1ab874660b39.svg);display:block;position:absolute;right:0;top:0;transform:translateY(-20%);width:495px;z-index:-1}.r-actu-wrapper .r-list-item-group{background:#fff;border:1px solid #d1d1d1;border-radius:15px 15px 15px 0;margin:30px auto;max-width:900px}.r-item-title{font-size:18px;font-weight:700}.r-item-description{color:#444;font-size:16px;margin-top:10px}.r-item-img{border-radius:15px 15px 15px 0}.r-actu-wrapper .r-item-img{aspect-ratio:1.6741071429;background-position:top;background-repeat:no-repeat;background-size:cover;width:100%}@media screen and (min-width:775px){.r-actu-wrapper .r-item-img{width:323px}}.r-item-read-more{margin-top:auto}.r-item-arrow-more{align-self:center;background:#f9b331;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.44 10'%3E%3Cg data-name='Calque 2'%3E%3Cg data-name='Calque 1'%3E%3Cpath d='M1 5h18.44' data-name='Ligne 7' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 1 4.61 4' data-name='Ligne 8' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 9 4.61-4' data-name='Ligne 9' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:20px;border-radius:50px;flex:0 0 50px;height:50px;margin-left:auto;margin-right:30px;width:50px}.r-list-item-group:hover .r-item-arrow-more{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.44 10'%3E%3Cg data-name='Calque 2'%3E%3Cg data-name='Calque 1'%3E%3Cpath d='M1 5h18.44' data-name='Ligne 7' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 1 4.61 4' data-name='Ligne 8' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 9 4.61-4' data-name='Ligne 9' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),#f9b331;background-position:50%;background-repeat:no-repeat;background-size:20px}@media screen and (max-width:600px){.r-list-item{flex-direction:column}.r-item-read-more{position:relative}}.icon-baseline{align-self:center;display:inline-flex;margin-right:.4rem}.icon-baseline svg{height:1em;position:relative;top:.125em;width:1em}.dpinlb{display:inline-block;vertical-align:top}.r-content-news-info-social svg{height:30px;width:30px}.r-content-news-info-social ul{align-items:center;display:flex;margin:0}.r-content-news-info-social ul li{list-style:none}.r-content-news-info-social ul li a:hover{opacity:.7}.r-item-categorie{color:#747474;font-size:13px;font-weight:400;margin-top:5px;text-transform:uppercase}
1
+ .flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:300px}.flexbin>*{display:block;flex-grow:1;height:300px;margin:2.5px;position:relative}.flexbin>*>img{height:300px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}@media (max-width:980px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:150px}.flexbin>*{display:block;flex-grow:1;height:150px;margin:2.5px;position:relative}.flexbin>*>img{height:150px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}@media (max-width:400px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:100px}.flexbin>*{display:block;flex-grow:1;height:100px;margin:2.5px;position:relative}.flexbin>*>img{height:100px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}.breadcrumb{padding:0}.r-result-list{list-style:none;margin-top:50px;padding-left:0}#portal-column-content h1{font-size:0;position:absolute}#viewlet-below-content-description,#viewlet-below-content-title{display:none}.r-item-text{display:flex;flex-direction:column;margin:20px 30px;position:relative}.r-item-title{display:block}.r-content-img{padding-bottom:60%}.new-content{margin:0 auto;max-width:700px}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}.r-actu-wrapper{position:relative}.r-actu-wrapper:after{content:url(../57d3b7cb1ab874660b39.svg);display:block;position:absolute;right:0;top:0;transform:translateY(-20%);width:495px;z-index:-1}.r-actu-wrapper .r-list-item-group{background:#fff;border:1px solid #d1d1d1;border-radius:15px 15px 15px 0;margin:30px auto;max-width:900px}.r-item-title{font-size:18px;font-weight:700}.r-item-description{color:#444;font-size:16px;margin-top:10px}.r-item-img{border-radius:15px 15px 15px 0}.r-actu-wrapper .r-item-img{aspect-ratio:1.6741071429;background-position:top;background-repeat:no-repeat;background-size:cover;width:100%}@media screen and (min-width:775px){.r-actu-wrapper .r-item-img{width:323px}}.r-item-read-more{margin-top:auto}.r-item-arrow-more{align-self:center;background:#f9b331;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.44 10'%3E%3Cg data-name='Calque 2'%3E%3Cg data-name='Calque 1'%3E%3Cpath d='M1 5h18.44' data-name='Ligne 7' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 1 4.61 4' data-name='Ligne 8' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 9 4.61-4' data-name='Ligne 9' style='fill:none;stroke:%23000;stroke-linecap:round;stroke-width:2px'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:20px;border-radius:50px;flex:0 0 50px;height:50px;margin-left:auto;margin-right:30px;width:50px}.r-list-item-group:hover .r-item-arrow-more{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.44 10'%3E%3Cg data-name='Calque 2'%3E%3Cg data-name='Calque 1'%3E%3Cpath d='M1 5h18.44' data-name='Ligne 7' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 1 4.61 4' data-name='Ligne 8' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3Cpath d='m14.83 9 4.61-4' data-name='Ligne 9' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-width:2px'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),#f9b331;background-position:50%;background-repeat:no-repeat;background-size:20px}@media screen and (max-width:774px){.r-list-item{flex-direction:column}}@media screen and (max-width:600px){.r-item-read-more{position:relative}}.icon-baseline{align-self:center;display:inline-flex;margin-right:.4rem}.icon-baseline svg{height:1em;position:relative;top:.125em;width:1em}.dpinlb{display:inline-block;vertical-align:top}.r-content-news-info-social svg{height:30px;width:30px}.r-content-news-info-social ul{align-items:center;display:flex;margin:0}.r-content-news-info-social ul li{list-style:none}.r-content-news-info-social ul li a:hover{opacity:.7}.r-item-categorie{color:#747474;font-size:13px;font-weight:400;margin-top:5px;text-transform:uppercase}.r-result-filter-container{background:#fff;z-index:1}@media screen and (min-width:1200px){.r-result-filter-container{position:-webkit-sticky;position:sticky}}.r-result-filter-container:after{background:#fff;content:"";height:312px;left:0;position:absolute;right:0;top:0;transform:translateY(-100%)}.r-result-filter-container .r-result-filter{border-bottom:1px solid #cccc;padding-bottom:1rem;padding-top:1rem;position:relative}.r-results-numbers{margin-bottom:0;padding-top:1rem;width:100%}.r-results-numbers span{font-weight:700}.r-result-filter{position:relative}.react-filters-menu{display:flex;margin-bottom:1rem;width:100%}.react-filters-menu .react-filters-container{align-items:flex-start;background:#fff;border-radius:30px;display:flex;flex-direction:column;gap:10px;position:relative;width:auto;width:100%}@media screen and (min-width:630px){.react-filters-menu .react-filters-container{align-items:center;border:1px solid #cfcfcf;box-shadow:0 3px 12px 0 #0000001a,0 1px 2px 0 #0000000d;flex-direction:row;padding:4px 15px;width:auto}}.react-filters-menu .react-sep-menu{background:#cfcfcf;display:none;height:20px;width:1px}@media screen and (min-width:630px){.react-filters-menu .react-sep-menu{display:block}}.react-filters-menu span[class$=-indicatorSeparator]{display:none}.react-filters-menu div[class$=-indicatorContainer]{padding:0}.react-filters-menu .accordion-collapse{padding-top:1rem}.react-filters-menu .top-filter{width:100%}@media screen and (min-width:630px){.react-filters-menu .top-filter{width:auto}}.react-filters-menu .top-filter .select-custom-no-border{width:100%}@media screen and (min-width:630px){.react-filters-menu .top-filter .select-custom-no-border{width:auto}}.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{width:100%}@media screen and (max-width:629px){.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{border:1px solid #cfcfcf;color:#333}}@media screen and (min-width:630px){.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{width:auto}}.r-filter-search{border-radius:50px;display:block;padding:12px 6px;position:relative;width:100%}@media screen and (max-width:629px){.r-filter-search{border:1px solid #cfcfcf;box-shadow:0 3px 12px 0 #0000001a,0 1px 2px 0 #0000000d;width:calc(100% - 40px)}}@media screen and (min-width:630px){.r-filter-search{width:175px}}.r-filter-search input{border:none;width:100%}.r-filter-search input:focus{outline:none}.r-filter-search svg{position:absolute;right:0;transform:translateX(-100%)}.r-filter-search .relative{align-items:center;display:flex;justify-content:center}.more-filter-btn{background-color:#0000;border:none;position:absolute;right:0;top:18px}@media screen and (min-width:630px){.more-filter-btn{top:inherit;translate:40px;width:auto}}.more-filter-btn.collapsed{transform:rotate(180deg)}.more-filter-btn.collapsed svg{stroke:#9f9f9f}.more-filter-container.collapse:not(.show){display:none}.more-filter-container .accordion-body{align-items:center;background-color:#f8f8f8;border:1px solid #e4e4e4;border-left:none;border-right:none;display:flex;gap:20px;justify-content:center;padding:1rem}@media screen and (max-width:630px){.more-filter-container .accordion-body{display:flex;flex-direction:column}}.more-filter-container .free-Filter label{font-size:12px;font-weight:700;letter-spacing:1.4px}.more-filter-container .free-Filter .form-check{align-items:center;display:flex;gap:5px;padding:0}.more-filter-container .free-Filter .form-check input{margin:0}
@@ -1 +1 @@
1
- .flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:300px}.flexbin>*{display:block;flex-grow:1;height:300px;margin:2.5px;position:relative}.flexbin>*>img{height:300px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}@media (max-width:980px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:150px}.flexbin>*{display:block;flex-grow:1;height:150px;margin:2.5px;position:relative}.flexbin>*>img{height:150px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}@media (max-width:400px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:100px}.flexbin>*{display:block;flex-grow:1;height:100px;margin:2.5px;position:relative}.flexbin>*>img{height:100px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}.leaflet-container{height:100vh}.leaflet-popup{padding:0}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{-moz-box-sizing:border-box;box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../524db40e119aa11f4478.png);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../1c1605a5fe9a2b10a88f.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../6cf03871df23ed2ee8b3.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;-moz-box-sizing:border-box;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}body,html{max-width:100%;overflow-x:initial!important}.row{margin:0}.breadcrumb,.row{padding:0}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-annuaire-wrapper{margin-right:inherit;max-width:100%;padding-left:0;padding-right:0}}#portal-column-content{padding:0!important}.r-result-filter-container{background:#fff;z-index:1}@media screen and (min-width:1200px){.r-result-filter-container{position:-webkit-sticky;position:sticky}}.annuaire-result-filter{padding:0 .75rem}#portal-column-content h1{font-size:0;position:absolute}header#content-header{background:#fff;position:-webkit-sticky;position:sticky;top:0}#viewlet-below-content-description,#viewlet-below-content-title{display:none}article>header{margin-bottom:0}.r-annuaire-result{grid-area:1/1/3/2}.r-map.annuaire-map{grid-area:1/2/2/3;position:-webkit-sticky;position:sticky}.r-results-numbers{margin-bottom:.5rem;width:100%}.r-results-numbers span{font-weight:700}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;gap:40px;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;margin-left:auto;width:calc(558px + 50vw)}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{list-style:none;margin:1rem 0;position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{inset:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;flex-direction:column;height:100%}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{background-color:#000;background-size:cover;border-radius:5px;padding-bottom:56%;position:relative;width:100%;z-index:-1}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{flex:246px 0 0;height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex-grow:1;margin-top:.6rem}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{display:block;font-weight:700}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .phones{display:flex;flex-wrap:wrap;gap:0 5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .mails{display:flex;flex-direction:column}.r-content-description{border-bottom:1px solid #e6e6e6}.contactTextAll{margin-top:1rem;position:relative}@media screen and (min-width:700px){.contactTextAll{padding-right:128px}}.contactTextAll .annuaire-logo{margin-top:.5rem;max-width:128px}@media screen and (min-width:700px){.contactTextAll .annuaire-logo{position:absolute;right:0;top:0}}.annuaire-info-title{font-weight:700}.annaire-adresse,.annuaire-phone,.annuaire-schedul,.annuaire-social-link,.annuaire-website-link,.annuaire-website-mails{align-items:first baseline;display:flex;gap:10px;margin-bottom:.5rem}.annaire-adresse a,.annuaire-phone a,.annuaire-schedul a,.annuaire-social-link a,.annuaire-website-link a,.annuaire-website-mails a{text-decoration:none}.annuaire-phone span,.annuaire-website-mails span{display:block;font-weight:500}.annuaire-phone span a,.annuaire-website-mails span a{font-weight:400}.annuaire-website-mails div span{display:block}.annuaire-social-link{margin:.5rem 0}.annuaire-social-link ul{display:flex;gap:10px;margin:0}.annuaire-social-link ul li,.annuaire-website-link ul li{list-style:none}.annuaire-day-close{color:#e61d1d}.annuaire-day-open{color:#81c995}.annuaire-schedul li{list-style:none}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{font-size:13px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text:after{background:#ff0;border-radius:50px;content:"";height:50px;width:50px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#000}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{background-size:contain;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg data-name='Calque 2'%3E%3Cpath d='M3.84 5.21a1.37 1.37 0 1 1 1.37-1.37 1.37 1.37 0 0 1-1.37 1.37m0-5.21A3.84 3.84 0 0 0 0 3.84C0 6.72 3.84 11 3.84 11s3.84-4.28 3.84-7.16A3.84 3.84 0 0 0 3.84 0' data-name='Calque 1'/%3E%3C/g%3E%3C/svg%3E") no-repeat;content:"";display:inline-block;height:15px;vertical-align:middle;width:15px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact{width:100%}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}@media screen and (max-width:1200px){.r-map{margin-top:2rem!important}.r-map .leaflet-container{height:50vh!important}}@media screen and (min-width:600px){.no-map .r-annuaire-wrapper{display:block}.no-map .r-wrapper .r-result-list{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));max-width:1296px}.no-map .r-wrapper .r-list-item-group{display:block!important;transition:all .2s ease}.no-map .r-wrapper .r-list-item-group:focus,.no-map .r-wrapper .r-list-item-group:hover{transform:translateY(-10px)!important}.no-map .r-wrapper .r-list-item-group .r-list-item{box-shadow:0 8px 26px #00000014;flex-direction:column!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-img{aspect-ratio:5/3;flex:inherit;height:auto;margin-bottom:0;width:100%!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text{display:block;margin-bottom:.5rem;margin-right:1.5rem;margin-top:.5rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:.25rem;margin-top:.25rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:16px;margin-bottom:.25rem;margin-top:.25rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all{display:block!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{margin-bottom:.25rem;margin-top:.25rem;width:auto}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .mails,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .phones,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .topics{margin-bottom:.25rem;margin-top:.25rem}}.no-map .r-result.r-annuaire-result{max-width:1296px}.no-map .annuaire-content{margin:0 auto;max-width:700px}
1
+ .flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:300px}.flexbin>*{display:block;flex-grow:1;height:300px;margin:2.5px;position:relative}.flexbin>*>img{height:300px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}@media (max-width:980px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:150px}.flexbin>*{display:block;flex-grow:1;height:150px;margin:2.5px;position:relative}.flexbin>*>img{height:150px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}@media (max-width:400px){.flexbin{display:flex;flex-wrap:wrap;margin:-2.5px;overflow:hidden}.flexbin:after{content:"";flex-grow:999999999;height:0;min-width:100px}.flexbin>*{display:block;flex-grow:1;height:100px;margin:2.5px;position:relative}.flexbin>*>img{height:100px;max-width:100%;min-width:100%;object-fit:cover;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}.leaflet-container{height:100vh}.leaflet-popup{padding:0}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{-moz-box-sizing:border-box;box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../524db40e119aa11f4478.png);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../1c1605a5fe9a2b10a88f.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../6cf03871df23ed2ee8b3.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;-moz-box-sizing:border-box;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}body,html{max-width:100%;overflow-x:initial!important}.row{margin:0}.breadcrumb,.row{padding:0}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-annuaire-wrapper{margin-right:inherit;max-width:100%;padding-left:0;padding-right:0}}#portal-column-content{padding:0!important}#portal-column-content h1{font-size:0;position:absolute}header#content-header{background:#fff;position:-webkit-sticky;position:sticky;top:0}#viewlet-below-content-description,#viewlet-below-content-title{display:none}article>header{margin-bottom:0}.r-annuaire-result{grid-area:1/1/3/2}.r-map.annuaire-map{grid-area:1/2/2/3;position:-webkit-sticky;position:sticky}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;gap:40px;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;margin-left:auto;width:calc(558px + 50vw)}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{list-style:none;margin:1rem 0;position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{inset:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;flex-direction:column;height:100%}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{background-color:#000;background-size:cover;border-radius:5px;padding-bottom:56%;position:relative;width:100%;z-index:-1}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img.r-item-img-placeholder{background:#f2f2f2}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{flex:246px 0 0;height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex-grow:1;margin-top:.6rem}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{display:block;font-weight:700}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .phones{display:flex;flex-wrap:wrap;gap:0 5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .mails{display:flex;flex-direction:column}.r-content-description{border-bottom:1px solid #e6e6e6}.contactTextAll{margin-top:1rem;position:relative}@media screen and (min-width:700px){.contactTextAll{padding-right:128px}}.contactTextAll .annuaire-logo{margin-top:.5rem;max-width:128px}@media screen and (min-width:700px){.contactTextAll .annuaire-logo{position:absolute;right:0;top:0}}.annuaire-info-title{font-weight:700}.annaire-adresse,.annuaire-phone,.annuaire-schedul,.annuaire-social-link,.annuaire-website-link,.annuaire-website-mails{align-items:first baseline;display:flex;gap:10px;margin-bottom:.5rem}.annaire-adresse a,.annuaire-phone a,.annuaire-schedul a,.annuaire-social-link a,.annuaire-website-link a,.annuaire-website-mails a{text-decoration:none}.annuaire-phone span,.annuaire-website-mails span{display:block;font-weight:500}.annuaire-phone span a,.annuaire-website-mails span a{font-weight:400}.annuaire-website-mails div span{display:block}.annuaire-social-link{margin:.5rem 0}.annuaire-social-link ul{display:flex;gap:10px;margin:0}.annuaire-social-link ul li,.annuaire-website-link ul li{list-style:none}.annuaire-day-close{color:#e61d1d}.annuaire-day-open{color:#81c995}.annuaire-schedul li{list-style:none}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{font-size:13px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text:after{background:#ff0;border-radius:50px;content:"";height:50px;width:50px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#000}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{background-size:contain;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg data-name='Calque 2'%3E%3Cpath d='M3.84 5.21a1.37 1.37 0 1 1 1.37-1.37 1.37 1.37 0 0 1-1.37 1.37m0-5.21A3.84 3.84 0 0 0 0 3.84C0 6.72 3.84 11 3.84 11s3.84-4.28 3.84-7.16A3.84 3.84 0 0 0 3.84 0' data-name='Calque 1'/%3E%3C/g%3E%3C/svg%3E") no-repeat;content:"";display:inline-block;height:15px;vertical-align:middle;width:15px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact{width:100%}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact .topics{margin-top:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact .topics span{background:#f1f1f1;border-radius:5px;margin-right:5px;padding:5px}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}@media screen and (max-width:1200px){.r-map{margin-top:2rem!important}.r-map .leaflet-container{height:50vh!important}}@media screen and (min-width:600px){.no-map .r-annuaire-wrapper{display:block}.no-map .r-wrapper .r-result-list{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));max-width:1296px}.no-map .r-wrapper .r-list-item-group{display:block!important;transition:all .2s ease}.no-map .r-wrapper .r-list-item-group:focus,.no-map .r-wrapper .r-list-item-group:hover{transform:translateY(-10px)!important}.no-map .r-wrapper .r-list-item-group .r-list-item{box-shadow:0 8px 26px #00000014;flex-direction:column!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-img{aspect-ratio:5/3;flex:inherit;height:auto;margin-bottom:0;width:100%!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text{display:block;margin-bottom:.5rem;margin-right:1.5rem;margin-top:.5rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:.25rem;margin-top:.25rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:16px;margin-bottom:.25rem;margin-top:.25rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all{display:block!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{margin-bottom:.25rem;margin-top:.25rem;width:auto}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .mails,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .phones,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .topics{margin-bottom:.25rem;margin-top:.25rem}}.no-map .r-result.r-annuaire-result{max-width:1296px}.no-map .annuaire-content{margin:0 auto;max-width:700px}.r-result-filter-container{background:#fff;z-index:1}@media screen and (min-width:1200px){.r-result-filter-container{position:-webkit-sticky;position:sticky}}.r-result-filter-container:after{background:#fff;content:"";height:312px;left:0;position:absolute;right:0;top:0;transform:translateY(-100%)}.r-result-filter-container .r-result-filter{border-bottom:1px solid #cccc;padding-bottom:1rem;padding-top:1rem;position:relative}.r-results-numbers{margin-bottom:0;padding-top:1rem;width:100%}.r-results-numbers span{font-weight:700}.r-result-filter{position:relative}.react-filters-menu{display:flex;margin-bottom:1rem;width:100%}.react-filters-menu .react-filters-container{align-items:flex-start;background:#fff;border-radius:30px;display:flex;flex-direction:column;gap:10px;position:relative;width:auto;width:100%}@media screen and (min-width:630px){.react-filters-menu .react-filters-container{align-items:center;border:1px solid #cfcfcf;box-shadow:0 3px 12px 0 #0000001a,0 1px 2px 0 #0000000d;flex-direction:row;padding:4px 15px;width:auto}}.react-filters-menu .react-sep-menu{background:#cfcfcf;display:none;height:20px;width:1px}@media screen and (min-width:630px){.react-filters-menu .react-sep-menu{display:block}}.react-filters-menu span[class$=-indicatorSeparator]{display:none}.react-filters-menu div[class$=-indicatorContainer]{padding:0}.react-filters-menu .accordion-collapse{padding-top:1rem}.react-filters-menu .top-filter{width:100%}@media screen and (min-width:630px){.react-filters-menu .top-filter{width:auto}}.react-filters-menu .top-filter .select-custom-no-border{width:100%}@media screen and (min-width:630px){.react-filters-menu .top-filter .select-custom-no-border{width:auto}}.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{width:100%}@media screen and (max-width:629px){.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{border:1px solid #cfcfcf;color:#333}}@media screen and (min-width:630px){.react-filters-menu .top-filter .select-custom-no-border div[class$=-control]{width:auto}}.r-filter-search{border-radius:50px;display:block;padding:12px 6px;position:relative;width:100%}@media screen and (max-width:629px){.r-filter-search{border:1px solid #cfcfcf;box-shadow:0 3px 12px 0 #0000001a,0 1px 2px 0 #0000000d;width:calc(100% - 40px)}}@media screen and (min-width:630px){.r-filter-search{width:175px}}.r-filter-search input{border:none;width:100%}.r-filter-search input:focus{outline:none}.r-filter-search svg{position:absolute;right:0;transform:translateX(-100%)}.r-filter-search .relative{align-items:center;display:flex;justify-content:center}.more-filter-btn{background-color:#0000;border:none;position:absolute;right:0;top:18px}@media screen and (min-width:630px){.more-filter-btn{top:inherit;translate:40px;width:auto}}.more-filter-btn.collapsed{transform:rotate(180deg)}.more-filter-btn.collapsed svg{stroke:#9f9f9f}.more-filter-container.collapse:not(.show){display:none}.more-filter-container .accordion-body{align-items:center;background-color:#f8f8f8;border:1px solid #e4e4e4;border-left:none;border-right:none;display:flex;gap:20px;justify-content:center;padding:1rem}@media screen and (max-width:630px){.more-filter-container .accordion-body{display:flex;flex-direction:column}}.more-filter-container .free-Filter label{font-size:12px;font-weight:700;letter-spacing:1.4px}.more-filter-container .free-Filter .form-check{align-items:center;display:flex;gap:5px;padding:0}.more-filter-container .free-Filter .form-check input{margin:0}