imio.smartweb.core 1.2.47__py3-none-any.whl → 1.2.48__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 (72) hide show
  1. imio/smartweb/core/contents/sections/events/view.py +2 -1
  2. imio/smartweb/core/contents/sections/news/view.py +2 -1
  3. imio/smartweb/core/contents/sections/text/views.py +2 -0
  4. imio/smartweb/core/contents/sections/views.py +2 -0
  5. imio/smartweb/core/tests/resources/json_rest_events.json +4 -1
  6. imio/smartweb/core/tests/test_rest.py +4 -1
  7. imio/smartweb/core/tests/test_section_events.py +9 -8
  8. imio/smartweb/core/tests/test_section_news.py +6 -6
  9. imio/smartweb/core/tests/test_vocabularies.py +2 -2
  10. imio/smartweb/core/utils.py +1 -1
  11. imio/smartweb/core/viewlets/footer.pt +5 -0
  12. imio/smartweb/core/viewlets/footer.py +5 -0
  13. imio/smartweb/core/vocabularies.py +2 -2
  14. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -1
  15. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -1
  16. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  17. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  18. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +1 -1
  19. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +5 -0
  20. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
  21. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  22. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js +1 -1
  23. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -3
  24. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  25. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
  26. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  27. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +101 -74
  28. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +4 -22
  29. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +22 -18
  30. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +4 -2
  31. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +7 -2
  32. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +211 -98
  33. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +506 -378
  34. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +13 -4
  35. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +117 -82
  36. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +52 -28
  37. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +257 -90
  38. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +62 -54
  39. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +60 -12
  40. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  41. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +217 -0
  42. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  43. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  44. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  45. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  46. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +127 -82
  47. imio/smartweb/core/webcomponents/src/components/News/News.jsx +86 -53
  48. imio/smartweb/core/webcomponents/src/components/News/News.scss +29 -9
  49. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +34 -31
  50. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +264 -244
  51. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +13 -8
  52. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +23 -12
  53. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +23 -12
  54. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +5 -5
  55. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +23 -12
  56. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +4 -4
  57. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +13 -4
  58. imio/smartweb/core/webcomponents/src/index.jsx +3 -3
  59. imio/smartweb/core/webcomponents/src/index.scss +11 -65
  60. imio/smartweb/core/webcomponents/src/utils/Map.jsx +18 -9
  61. imio/smartweb/core/webcomponents/src/utils/translation.js +18 -0
  62. imio.smartweb.core-1.2.48-py3.10-nspkg.pth +3 -0
  63. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/METADATA +22 -3
  64. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/RECORD +69 -63
  65. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/WHEEL +1 -1
  66. imio/smartweb/core/webcomponents/build/css/686.smartweb-webcomponents-compiled.css +0 -1
  67. imio/smartweb/core/webcomponents/build/js/686.smartweb-webcomponents-compiled.js +0 -1
  68. imio.smartweb.core-1.2.47-py3.8-nspkg.pth +0 -2
  69. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/LICENSE.GPL +0 -0
  70. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/LICENSE.rst +0 -0
  71. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/namespace_packages.txt +0 -0
  72. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ .taxonomy-Filter {
2
+ width: 100%;
3
+ display: flex;
4
+ gap: 20px;
5
+ flex-wrap: wrap;
6
+ transition: all .3s ease-in-out;
7
+ }
8
+
9
+
10
+ .dropDownFilter {
11
+ display: flex;
12
+ justify-content: center;
13
+ align-items: center;
14
+ gap: 0 5px;
15
+ transition: max-width .3s ease-in-out;
16
+ transition: opacity 3s ease-in-out;
17
+
18
+ border: solid 1px #CFCFCF;
19
+ border-radius: 20px;
20
+ outline: 1px solid transparent;
21
+
22
+ &-active {
23
+ border-color: #2684FF;
24
+ outline: 1px solid #2684FF;
25
+
26
+ // border-width: 2px;
27
+ .sub0 {}
28
+ }
29
+
30
+ .sub0 {
31
+ text-decoration: none;
32
+ padding: 10px 10px;
33
+ }
34
+
35
+ .sub1 {
36
+ // transition: max-width .3s ease-in-out;
37
+ padding-right: 5px;
38
+ transition: all .4s cubic-bezier(0, .74, .58, 1.04);
39
+
40
+ div[class*="control"] {
41
+ flex-wrap: nowrap;
42
+ border-radius: 15px;
43
+ }
44
+ }
45
+
46
+ .sub2 {
47
+ // transition: max-width .3s ease-in-out;
48
+ padding-right: 5px;
49
+ transition: all .4s cubic-bezier(0, .74, .58, 1.04);
50
+
51
+ div[class*="control"] {
52
+ flex-wrap: nowrap;
53
+ border-radius: 15px;
54
+ }
55
+ }
56
+
57
+ .dropDownFilter-invisble {
58
+ opacity: 0;
59
+ max-width: 0px;
60
+ height: 0px;
61
+ overflow: hidden;
62
+ padding: 0;
63
+ }
64
+
65
+ .dropDownFilter-visible {
66
+ max-width: 150px;
67
+ height: auto;
68
+ opacity: 1;
69
+ }
70
+ }
@@ -2,14 +2,17 @@ import React, { useEffect, useCallback, useRef, useState } from "react";
2
2
  import Select from "react-select";
3
3
  import { useNavigate } from "react-router-dom";
4
4
  import useAxios from "../../../hooks/useAxios";
5
- import { Translator } from "react-translated";
6
- import queryString from 'query-string';
5
+ import { Translator, Translate} from "react-translated";
6
+ import queryString from "query-string";
7
+ import { iam } from "./../../Filters/IamData";
8
+ import { menuStyles, moreFilterStyles } from "./../../Filters/SelectStyles";
7
9
 
8
10
  function Filters(props) {
9
11
  let navigate = useNavigate();
10
12
  const [inputValues, setInputValues] = useState(props.activeFilter);
11
13
  const [topicsFilter, setTopicsFilter] = useState(null);
12
14
  const [taxonomyFilter, setTaxonomyFilter] = useState(null);
15
+ const [localsCategoryFilter, setLocalsCategoryFilter] = useState([]);
13
16
  const { response, error, isLoading } = useAxios({
14
17
  method: "get",
15
18
  url: "",
@@ -28,15 +31,36 @@ function Filters(props) {
28
31
  }));
29
32
  const optionsTaxonomy = response.category
30
33
  ? response.category.map((d) => ({
34
+ value: d.token,
35
+ label: d.title,
36
+ queryString: "category",
37
+ }))
38
+ : "";
39
+ const optionsLocalsCategory =
40
+ response.local_category &&
41
+ response.local_category.map((d) => ({
31
42
  value: d.token,
32
43
  label: d.title,
33
- }))
34
- : "";
44
+ queryString: "local_category",
45
+ }));
35
46
  setTopicsFilter(optionsTopics);
36
47
  setTaxonomyFilter(optionsTaxonomy);
48
+ setLocalsCategoryFilter(optionsLocalsCategory)
37
49
  }
38
50
  }, [response]);
39
51
 
52
+ // const to group category and local category
53
+ const groupedOptions = [
54
+ {
55
+ label: <Translate text="Catégories locale" />,
56
+ options: localsCategoryFilter,
57
+ },
58
+ {
59
+ label: <Translate text="Catégories" />,
60
+ options: taxonomyFilter,
61
+ },
62
+ ];
63
+
40
64
  const onChangeHandler = useCallback(({ target: { name, value } }) => {
41
65
  if (value.length > 2) {
42
66
  setInputValues((state) => ({ ...state, [name]: value }), []);
@@ -87,89 +111,110 @@ function Filters(props) {
87
111
  let actTaxo =
88
112
  taxonomyFilter &&
89
113
  taxonomyFilter.filter((option) => option.value === props.activeFilter.category);
90
- const customStyles = {
91
- control: (styles) => ({
92
- ...styles,
93
- backgroundColor: "white",
94
- borderRadius: "0",
95
- height: "50px",
96
- }),
97
- placeholder: (styles) => ({
98
- ...styles,
99
- color: "000",
100
- fontWeight: "bold",
101
- fontSize: "12px",
102
- textTransform: "uppercase",
103
- letterSpacing: "1.2px",
104
- }),
105
- option: (styles, { data, isDisabled, isFocused, isSelected }) => {
106
- return {
107
- ...styles,
108
- };
109
- },
110
- };
114
+
115
+ let actIam = iam && iam.filter((option) => option.value === props.activeFilter.topics);
116
+
111
117
  return (
112
118
  <React.Fragment>
113
- <form className="r-filter" onSubmit={handleSubmit}>
114
- {/* <label>Recherche</label> */}
115
- <div className="r-filter-search">
116
- <Translator>
117
- {({ translate }) => (
118
- <input
119
- className="input-custom-class"
120
- name="SearchableText"
121
- type="text"
122
- value={inputValues.SearchableText}
123
- onChange={onChangeHandler}
124
- placeholder={translate({
125
- text: 'Recherche'
126
- })}
127
- />
128
- )}
129
- </Translator>
130
- <button type="submit"></button>
119
+ <div className="react-filters-menu">
120
+ <div className="react-filters-container">
121
+ <form className="r-filter r-filter-search" onSubmit={handleSubmit}>
122
+ {/* <label>Recherche</label> */}
123
+ <div className="relative">
124
+ <Translator>
125
+ {({ translate }) => (
126
+ <input
127
+ className="input-custom-class"
128
+ name="SearchableText"
129
+ type="text"
130
+ value={inputValues.SearchableText}
131
+ onChange={onChangeHandler}
132
+ placeholder={translate({
133
+ text: "Recherche",
134
+ })}
135
+ />
136
+ )}
137
+ </Translator>
138
+ <svg
139
+ xmlns="http://www.w3.org/2000/svg"
140
+ fill="none"
141
+ stroke="#9f9f9f"
142
+ strokeWidth="4"
143
+ aria-hidden="true"
144
+ display="block"
145
+ overflow="visible"
146
+ style={{ height: 16, width: 16 }}
147
+ viewBox="0 0 32 32"
148
+ >
149
+ <path d="M13 24a11 11 0 1 0 0-22 11 11 0 0 0 0 22zm8-3 9 9" />
150
+ </svg>
151
+ </div>
152
+ </form>
153
+ <div className="react-sep-menu"></div>
154
+ <div className="r-filter top-filter topics-Filter">
155
+ {/* <label>Thématiques</label> */}
156
+ <Translator>
157
+ {({ translate }) => (
158
+ <Select
159
+ styles={menuStyles}
160
+ name={"topics"}
161
+ className="select-custom-no-border library-topics"
162
+ isClearable
163
+ onChange={onChangeHandlerSelect}
164
+ options={topicsFilter && topicsFilter}
165
+ placeholder={translate({
166
+ text: "Thématiques",
167
+ })}
168
+ value={actTopi && actTopi[0]}
169
+ />
170
+ )}
171
+ </Translator>
172
+ </div>
173
+ <div className="react-sep-menu"></div>
174
+ <div className="r-filter top-filter facilities-Filter">
175
+ {/* <label>Catégories</label> */}
176
+ <Translator>
177
+ {({ translate }) => (
178
+ <Select
179
+ styles={menuStyles}
180
+ name={"category"}
181
+ className="select-custom-no-border library-facilities"
182
+ isClearable
183
+ onChange={onChangeHandlerSelect}
184
+ options={localsCategoryFilter.length === 0 ? taxonomyFilter && taxonomyFilter : groupedOptions}
185
+ placeholder={translate({
186
+ text: "Catégories",
187
+ })}
188
+ value={actTaxo && actTaxo[0]}
189
+ />
190
+ )}
191
+ </Translator>
192
+ </div>
193
+ <div className="react-sep-menu"></div>
194
+ {/* Filtre iam */}
195
+ <div className="r-filter top-filter iam-Filter">
196
+ {/* <label>Thématiques</label> */}
197
+ <Translator>
198
+ {({ translate }) => (
199
+ <Select
200
+ styles={menuStyles}
201
+ name={"iam"}
202
+ className="select-custom-no-border library-topics"
203
+ isClearable
204
+ onChange={onChangeHandlerSelect}
205
+ options={iam && iam}
206
+ placeholder={translate({
207
+ text: "Profil",
208
+ })}
209
+ value={actIam && actIam[0]}
210
+ />
211
+ )}
212
+ </Translator>
213
+ </div>
131
214
  </div>
132
- </form>
133
- <div className="r-filter topics-Filter">
134
- {/* <label>Thématiques</label> */}
135
- <Translator>
136
- {({ translate }) => (
137
- <Select
138
- styles={customStyles}
139
- name={"topics"}
140
- className="select-custom-class library-topics"
141
- isClearable
142
- onChange={onChangeHandlerSelect}
143
- options={topicsFilter && topicsFilter}
144
- placeholder={translate({
145
- text: 'Thématiques'
146
- })}
147
- value={actTopi && actTopi[0]}
148
- />
149
- )}
150
- </Translator>
151
- </div>
152
- <div className="r-filter facilities-Filter">
153
- {/* <label>Catégories</label> */}
154
- <Translator>
155
- {({ translate }) => (
156
- <Select
157
- styles={customStyles}
158
- name={"category"}
159
- className="select-custom-class library-facilities"
160
- isClearable
161
- onChange={onChangeHandlerSelect}
162
- options={taxonomyFilter && taxonomyFilter}
163
- placeholder={translate({
164
- text: 'Catégories'
165
- })}
166
- value={actTaxo && actTaxo[0]}
167
- />
168
- )}
169
- </Translator>
170
215
  </div>
171
216
  </React.Fragment>
172
217
  );
173
218
  }
174
219
 
175
- export default Filters;
220
+ export default Filters;
@@ -1,18 +1,15 @@
1
1
  import React, { useEffect, useState, createContext, useContex } from "react";
2
- import {
3
- BrowserRouter,
4
- Routes,
5
- Route,
6
- } from "react-router-dom";
2
+ import { BrowserRouter, Routes, Route } from "react-router-dom";
7
3
  import Filters from "./Filters/Filter";
8
4
  import NewsContent from "./NewsContent/NewsContent";
9
5
  import NewsList from "./NewsList/NewsList";
10
6
  import useAxios from "../../hooks/useAxios";
11
7
  import "./News.scss";
8
+ import "../Filters/MainFilter.scss";
12
9
  import useFilterQuery from "../../hooks/useFilterQuery";
13
10
  import { Provider, Translate } from "react-translated";
14
- import translation from '../../utils/translation';
15
- import queryString from 'query-string';
11
+ import translation from "../../utils/translation";
12
+ import queryString from "query-string";
16
13
 
17
14
  export const LanguageContext = createContext("fr");
18
15
  export default function News(props) {
@@ -98,72 +95,108 @@ const NewsView = (props) => {
98
95
  // coditional list render
99
96
  let listRender;
100
97
  if (itemsArray && itemsArray.length > 0) {
101
- listRender = <NewsList onChange={clickID} itemsArray={itemsArray} showCategoriesOrTopics={props.showCategoriesOrTopics} />;
98
+ listRender = (
99
+ <NewsList
100
+ onChange={clickID}
101
+ itemsArray={itemsArray}
102
+ showCategoriesOrTopics={props.showCategoriesOrTopics}
103
+ />
104
+ );
102
105
  } else if (!isLoading) {
103
- listRender = <p><Translate text="Aucune actualité n'a été trouvée" /></p>;
106
+ listRender = (
107
+ <p>
108
+ <Translate text="Aucune actualité n'a été trouvée" />
109
+ </p>
110
+ );
104
111
  }
105
112
 
106
- const divLoader = <div className="lds-roller-container"><div className="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>;
113
+ const divLoader = (
114
+ <div className="lds-roller-container">
115
+ <div className="lds-roller">
116
+ <div></div>
117
+ <div></div>
118
+ <div></div>
119
+ <div></div>
120
+ <div></div>
121
+ <div></div>
122
+ <div></div>
123
+ <div></div>
124
+ </div>
125
+ </div>
126
+ );
107
127
 
108
128
  return (
109
129
  <div>
110
130
  <div className="r-wrapper r-actu-wrapper">
111
131
  <div className="r-result r-annuaire-result">
112
132
  <Routes>
113
- <Route exact path="/" element={
114
- <>
115
- <div className="r-result-filter actu-result-filter">
116
- <Filters
117
- url={props.queryFilterUrl}
118
- activeFilter={filters}
119
- onChange={filtersChange}
120
- />
121
- {props.proposeUrl &&
122
- (
133
+ <Route
134
+ exact
135
+ path="/"
136
+ element={
137
+ <>
138
+ <div className="r-result-filter actu-result-filter">
139
+ <Filters
140
+ url={props.queryFilterUrl}
141
+ activeFilter={filters}
142
+ onChange={filtersChange}
143
+ />
144
+ {props.proposeUrl && (
123
145
  <div className="r-add-news">
124
- <a target="_blank" href={props.proposeUrl}><Translate text='Proposer une actualité' /></a>
146
+ <a target="_blank" href={props.proposeUrl}>
147
+ <Translate text="Proposer une actualité" />
148
+ </a>
125
149
  </div>
126
- )
127
- }
150
+ )}
151
+ </div>
128
152
  {itemsNumber > 0 ? (
129
153
  <p className="r-results-numbers">
130
154
  <span>{itemsNumber}</span>{" "}
131
- {itemsNumber > 1
132
- ? <Translate text='Actualités trouvées' />
133
- : <Translate text='Actualité trouvée' />}
155
+ {itemsNumber > 1 ? (
156
+ <Translate text="Actualités trouvées" />
157
+ ) : (
158
+ <Translate text="Actualité trouvée" />
159
+ )}
134
160
  </p>
135
161
  ) : (
136
- <p className="r-results-numbers"><Translate text='Aucun résultat' /></p>
162
+ <p className="r-results-numbers">
163
+ <Translate text="Aucun résultat" />
164
+ </p>
137
165
  )}
138
- </div>
139
- <div>{listRender}</div>
140
- <div className="r-load-more">
141
- {itemsNumber - props.batchSize > batchStart ? (
142
- <div>
166
+ <div>{listRender}</div>
167
+ <div className="r-load-more">
168
+ {itemsNumber - props.batchSize > batchStart ? (
169
+ <div>
170
+ <span className="no-more-result">
171
+ {isLoading ? divLoader : ""}
172
+ </span>
173
+ <button onClick={loadMore} className="btn-grad">
174
+ {isLoading ? (
175
+ <Translate text="Chargement..." />
176
+ ) : (
177
+ <Translate text="Plus de résultats" />
178
+ )}
179
+ </button>
180
+ </div>
181
+ ) : (
143
182
  <span className="no-more-result">
144
183
  {isLoading ? divLoader : ""}
145
184
  </span>
146
- <button onClick={loadMore} className="btn-grad">
147
- {isLoading ? <Translate text='Chargement...' /> : <Translate text='Plus de résultats' />}
148
- </button>
149
- </div>
150
- ) : (
151
- <span className="no-more-result">
152
- {isLoading ? divLoader : ""}
153
- </span>
154
- )}
155
- </div>
156
- </>
157
- }>
158
- </Route>
159
- <Route path={"/:name"} element={
160
- <NewsContent
161
- onChange={clickID}
162
- onReturn={filtersChange}
163
- queryUrl={props.queryUrl}
164
- />
165
- }>
166
- </Route>
185
+ )}
186
+ </div>
187
+ </>
188
+ }
189
+ ></Route>
190
+ <Route
191
+ path={"/:name"}
192
+ element={
193
+ <NewsContent
194
+ onChange={clickID}
195
+ onReturn={filtersChange}
196
+ queryUrl={props.queryUrl}
197
+ />
198
+ }
199
+ ></Route>
167
200
  </Routes>
168
201
  </div>
169
202
  </div>
@@ -1,21 +1,25 @@
1
1
  .breadcrumb {
2
2
  padding: 0;
3
3
  }
4
+
4
5
  .r-result-list {
5
6
  margin-top: 50px;
6
7
  padding-left: 0;
7
8
  list-style: none;
8
9
  }
10
+
9
11
  #portal-column-content {
10
12
  h1 {
11
13
  font-size: 0px;
12
14
  position: absolute;
13
15
  }
14
16
  }
17
+
15
18
  #viewlet-below-content-title,
16
19
  #viewlet-below-content-description {
17
20
  display: none;
18
21
  }
22
+
19
23
  /* image */
20
24
  /* text */
21
25
  .r-item-text {
@@ -24,31 +28,29 @@
24
28
  display: flex;
25
29
  flex-direction: column;
26
30
  }
31
+
27
32
  .r-item-title {
28
33
  display: block;
29
34
  }
30
35
 
31
- .r-results-numbers {
32
- width: 100%;
33
- margin-bottom: 0.5rem;
34
- span {
35
- font-weight: bold;
36
- }
37
- }
36
+
38
37
  // content
39
38
 
40
39
  .r-content-img {
41
40
  padding-bottom: 60%;
42
41
  }
42
+
43
43
  .new-content {
44
44
  max-width: 700px;
45
45
  margin: 0 auto;
46
46
  }
47
+
47
48
  //// for bla ////
48
49
  /* list item */
49
50
  .r-load-more {
50
51
  text-align: center;
51
52
  margin-bottom: 2rem;
53
+
52
54
  button {
53
55
  background: #000;
54
56
  border: solid 1px transparent;
@@ -61,13 +63,16 @@
61
63
  font-size: 14px;
62
64
  margin: 0 auto;
63
65
  display: block;
66
+
64
67
  &:hover {
65
68
  background: rgba(0, 0, 0, 0.871);
66
69
  }
67
70
  }
68
71
  }
72
+
69
73
  .r-actu-wrapper {
70
74
  position: relative;
75
+
71
76
  &:after {
72
77
  width: 495px;
73
78
  display: block;
@@ -78,6 +83,7 @@
78
83
  right: 0;
79
84
  transform: translateY(-20%);
80
85
  }
86
+
81
87
  .r-list-item-group {
82
88
  max-width: 900px;
83
89
  margin: 30px auto;
@@ -86,20 +92,24 @@
86
92
  border: 1px solid #D1D1D1;
87
93
  }
88
94
  }
95
+
89
96
  /* text */
90
97
  .r-item-title {
91
98
  font-size: 18px;
92
99
  font-weight: bold;
93
100
  }
101
+
94
102
  .r-item-description {
95
103
  font-size: 16px;
96
104
  color: #444444;
97
105
  margin-top: 10px;
98
106
  }
107
+
99
108
  /* image */
100
109
  .r-item-img {
101
110
  border-radius: 15px 15px 15px 0px;
102
111
  }
112
+
103
113
  .r-actu-wrapper {
104
114
  .r-item-img {
105
115
  width: 100%;
@@ -107,15 +117,18 @@
107
117
  background-position: top;
108
118
  background-size: cover;
109
119
  background-repeat: no-repeat;
120
+
110
121
  @media screen and (min-width:775px) {
111
122
  width: 323px;
112
123
  }
113
124
  }
114
125
  }
126
+
115
127
  /* arrow more */
116
128
  .r-item-read-more {
117
129
  margin-top: auto;
118
130
  }
131
+
119
132
  .r-item-arrow-more {
120
133
  width: 50px;
121
134
  height: 50px;
@@ -130,6 +143,7 @@
130
143
  background-size: 20px;
131
144
  background-position: center;
132
145
  }
146
+
133
147
  .r-list-item-group {
134
148
  &:hover {
135
149
  .r-item-arrow-more {
@@ -142,10 +156,11 @@
142
156
  }
143
157
 
144
158
  .r-list-item {
145
- @media screen and (max-width:600px) {
159
+ @media screen and (max-width:774px) {
146
160
  flex-direction: column;
147
161
  }
148
162
  }
163
+
149
164
  .r-item-read-more {
150
165
  @media screen and (max-width:600px) {
151
166
  position: relative;
@@ -156,6 +171,7 @@
156
171
  display: inline-flex;
157
172
  align-self: center;
158
173
  margin-right: 0.4rem;
174
+
159
175
  svg {
160
176
  top: .125em;
161
177
  position: relative;
@@ -163,6 +179,7 @@
163
179
  width: 1em;
164
180
  }
165
181
  }
182
+
166
183
  .dpinlb {
167
184
  display: inline-block;
168
185
  vertical-align: top;
@@ -173,12 +190,15 @@
173
190
  width: 30px;
174
191
  height: 30px;
175
192
  }
193
+
176
194
  ul {
177
195
  display: flex;
178
196
  align-items: center;
179
197
  margin: 0;
198
+
180
199
  li {
181
200
  list-style: none;
201
+
182
202
  a {
183
203
  &:hover {
184
204
  opacity: .7;
@@ -194,4 +214,4 @@
194
214
  color: #747474;
195
215
  font-weight: 400;
196
216
  font-size: 13px;
197
- }
217
+ }