@visns-studio/visns-components 4.10.48 → 5.0.1-8.1

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 (61) hide show
  1. package/package.json +29 -29
  2. package/src/components/cms/Field.jsx +39 -63
  3. package/src/components/crm/AsyncSelect.jsx +121 -15
  4. package/src/components/crm/Breadcrumb.jsx +2 -18
  5. package/src/components/crm/DataGrid.jsx +51 -424
  6. package/src/components/crm/Field.jsx +185 -358
  7. package/src/components/crm/Form.jsx +104 -92
  8. package/src/components/crm/MultiSelect.jsx +66 -45
  9. package/src/components/crm/Navigation.jsx +9 -92
  10. package/src/components/crm/QuickAction.jsx +1 -0
  11. package/src/components/crm/auth/Login.jsx +9 -1
  12. package/src/components/crm/auth/Profile.jsx +4 -2
  13. package/src/components/crm/auth/styles/Login.module.scss +52 -82
  14. package/src/components/crm/auth/styles/Profile.module.scss +150 -44
  15. package/src/components/crm/auth/styles/Reset.module.scss +55 -37
  16. package/src/components/crm/auth/styles/Verify.module.scss +55 -76
  17. package/src/components/crm/generic/GenericAuth.jsx +12 -5
  18. package/src/components/crm/generic/GenericDashboard.jsx +30 -340
  19. package/src/components/crm/generic/GenericDetail.jsx +534 -86
  20. package/src/components/crm/generic/GenericDynamic.jsx +76 -94
  21. package/src/components/crm/generic/GenericEditableTable.jsx +407 -0
  22. package/src/components/crm/generic/GenericFormBuilder.jsx +19 -79
  23. package/src/components/crm/generic/GenericIndex.jsx +1 -2
  24. package/src/components/crm/generic/styles/AuditLog.module.scss +4 -37
  25. package/src/components/crm/generic/styles/AuditLogs.module.scss +0 -51
  26. package/src/components/crm/generic/styles/GenericDetail.module.scss +263 -244
  27. package/src/components/crm/generic/styles/GenericDynamic.module.scss +100 -198
  28. package/src/components/crm/generic/styles/GenericEditableTable.module.scss +178 -0
  29. package/src/components/crm/generic/styles/GenericFormBuilder.module.scss +63 -101
  30. package/src/components/crm/generic/styles/GenericIndex.module.scss +46 -66
  31. package/src/components/crm/generic/styles/GenericMain.module.scss +7 -7
  32. package/src/components/crm/generic/styles/GenericSort.module.scss +0 -36
  33. package/src/components/crm/generic/styles/NotificationList.module.scss +1 -32
  34. package/src/components/crm/styles/Autocomplete.module.scss +12 -20
  35. package/src/components/crm/styles/DataGrid.module.scss +28 -86
  36. package/src/components/crm/styles/Field.module.scss +72 -252
  37. package/src/components/crm/styles/Form.module.scss +141 -450
  38. package/src/components/crm/styles/Navigation.module.scss +356 -507
  39. package/src/components/crm/styles/Notification.module.scss +1 -0
  40. package/src/components/crm/styles/QrCode.module.scss +4 -18
  41. package/src/components/crm/styles/SwitchAccount.module.scss +0 -1
  42. package/src/components/crm/styles/TableFilter.module.scss +2 -1
  43. package/src/components/styles/global.css +164 -34
  44. package/src/index.js +0 -8
  45. package/src/components/crm/generic/styles/GenericDashboard.module.scss +0 -325
  46. package/src/components/crm/sketch/SketchField.jsx +0 -395
  47. package/src/components/crm/sketch/arrow.jsx +0 -108
  48. package/src/components/crm/sketch/circle.jsx +0 -75
  49. package/src/components/crm/sketch/default-tool.jsx +0 -16
  50. package/src/components/crm/sketch/fabrictool.jsx +0 -22
  51. package/src/components/crm/sketch/history.jsx +0 -144
  52. package/src/components/crm/sketch/json/config.json +0 -14
  53. package/src/components/crm/sketch/line.jsx +0 -64
  54. package/src/components/crm/sketch/pan.jsx +0 -48
  55. package/src/components/crm/sketch/pencil.jsx +0 -36
  56. package/src/components/crm/sketch/rectangle-label-object.jsx +0 -69
  57. package/src/components/crm/sketch/rectangle-label.jsx +0 -93
  58. package/src/components/crm/sketch/rectangle.jsx +0 -76
  59. package/src/components/crm/sketch/select.jsx +0 -16
  60. package/src/components/crm/sketch/tools.jsx +0 -11
  61. package/src/components/crm/sketch/utils.jsx +0 -67
@@ -22,6 +22,7 @@
22
22
  box-sizing: border-box;
23
23
  transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
24
24
  z-index: 999;
25
+ font-size: 1rem;
25
26
  }
26
27
 
27
28
  .notibox .notiscrollwrap {
@@ -69,6 +69,10 @@
69
69
  background: rgba(#f4f4f4, 0.65);
70
70
  margin: 5px;
71
71
  border-radius: 5px;
72
+
73
+ p {
74
+ font-size: 0.85rem;
75
+ }
72
76
  }
73
77
  }
74
78
 
@@ -85,21 +89,3 @@
85
89
  margin: 0 0.15em;
86
90
  }
87
91
  }
88
-
89
- .btn {
90
- width: max-content;
91
- display: inline-block;
92
- position: relative;
93
- padding: 0.65rem 1rem;
94
- cursor: pointer;
95
- font-size: 1rem;
96
- color: var(--tertiary-color);
97
- text-decoration: none;
98
- overflow: hidden;
99
- background: var(--primary-color);
100
- border: 1px solid rgba(var(--primary-color--rgb), 1.1);
101
- border-radius: var(--br);
102
- outline: none;
103
- transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
104
- font-size: 1.25em;
105
- }
@@ -59,7 +59,6 @@
59
59
 
60
60
  .currentAccount {
61
61
  float: right;
62
- color: darken(#f0f0f0, 25%);
63
62
  line-height: 1.25;
64
63
  }
65
64
 
@@ -2,6 +2,7 @@
2
2
  list-style: none;
3
3
  padding: 0;
4
4
  margin: 0;
5
+ font-size: 1rem;
5
6
  }
6
7
 
7
8
  .collapsibleMenu {
@@ -34,7 +35,7 @@
34
35
  display: block;
35
36
  padding: 8px 20px;
36
37
  text-decoration: none;
37
- background: var(--item-color);
38
+ background: var(--bg-color);
38
39
  color: var(--paragraph-color);
39
40
  border-radius: 3px;
40
41
  transition: background 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
@@ -1,53 +1,88 @@
1
- @import '@fontsource/barlow/index.css';
2
- @import '@fontsource/barlow/300.css';
3
- @import '@fontsource/barlow/700.css';
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
4
6
 
5
- /* Apply the crop mixin manually */
6
- .crop::before {
7
- content: '';
8
- display: block;
9
- height: 0;
10
- width: 0;
11
- margin-top: calc((1 - 1.25) * 0.5em);
7
+ * {
8
+ margin: 0;
12
9
  }
13
10
 
11
+ html,
14
12
  body {
15
- font-size: 100%;
16
- background: var(--tertiary-color-dark, var(--tertiary-color));
17
- font-family: 'Barlow', sans-serif;
18
- font-weight: 300;
13
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
14
+ Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
15
+ 'Segoe UI Symbol';
16
+ height: 100%;
17
+ text-rendering: geometricPrecision;
18
+ font-stretch: 75% 125%;
19
+ }
20
+
21
+ body {
22
+ background: var(--bg-color);
23
+ font-weight: var(--para-weight);
24
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
25
+ Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
26
+ 'Segoe UI Symbol';
19
27
  font-style: normal;
20
- letter-spacing: 0.018em;
28
+ overflow-x: hidden;
29
+ overscroll-behavior: none;
30
+ font-size: 0.85rem;
21
31
  }
22
32
 
23
- .loginbg {
24
- background: var(--tertiary-color);
33
+ input,
34
+ button,
35
+ textarea,
36
+ select {
37
+ font: inherit;
25
38
  }
26
39
 
27
40
  h1,
28
41
  h2,
29
42
  h3,
30
43
  h4,
31
- h5 {
32
- font-size: 1.675em;
33
- color: var(--primary-color);
34
- font-weight: 700;
35
- font-style: normal;
44
+ h5,
45
+ h6 {
46
+ color: var(--header-color);
47
+ font-weight: var(--title-weight);
48
+ line-height: var(--title-height);
49
+ letter-spacing: 0.015rem;
36
50
  }
37
51
 
38
52
  p {
39
- font-weight: 300;
40
- font-style: normal;
41
- margin: 0 0 calc(var(--padding) / 2); /* Replace with actual padding value */
53
+ font-size: clamp(1rem, 2vw, 1.25rem);
42
54
  color: var(--paragraph-color);
55
+ font-weight: var(--para-weight);
56
+ line-height: var(--para-height);
57
+ margin-bottom: 1rem;
58
+
59
+ @media (max-width: 1024px) {
60
+ font-size: clamp(0.85rem, 2vw, 0.95rem);
61
+ }
62
+
63
+ strong {
64
+ font-weight: var(--title-weight);
65
+ }
43
66
  }
44
67
 
45
- p::before {
46
- content: '';
47
- display: block;
48
- height: 0;
49
- width: 0;
50
- margin-top: calc((1 - 1.25) * 0.5em);
68
+ ul {
69
+ font-size: clamp(1rem, 2vw, 1.25rem);
70
+ color: var(--paragraph-color);
71
+ font-weight: var(--para-weight);
72
+ line-height: var(--para-height);
73
+ margin-bottom: 1rem;
74
+
75
+ @media (max-width: 1024px) {
76
+ font-size: clamp(0.85rem, 2vw, 0.95rem);
77
+ }
78
+ }
79
+
80
+ a {
81
+ outline: none;
82
+ }
83
+
84
+ .loginbg {
85
+ background: var(--tertiary-color);
51
86
  }
52
87
 
53
88
  textarea,
@@ -59,15 +94,110 @@ input[type]:not([type='search']):not([type='url']):not([type='hidden']):not(
59
94
  ):not(.inovua-react-toolkit-text-input__input):not(
60
95
  .inovua-react-toolkit-numeric-input__input
61
96
  ) {
62
- background: var(--item-color);
97
+ background: white;
63
98
  border-radius: var(--br);
64
99
  border: 1px solid rgba(var(--paragraph-color-rgb), 0.15);
65
100
  box-shadow: none;
66
101
  padding: 1rem;
67
102
  outline: none;
68
- /* width: 100%; */
69
103
  box-sizing: border-box;
70
- background: rgba(white, 0.5);
71
104
  color: var(--paragraph-color);
72
105
  transition: border 0.15s linear;
106
+ width: 100%;
107
+ line-height: 1;
108
+ font-size: 0.85rem;
109
+
110
+ &:focus {
111
+ border: 1px solid var(--primary-color);
112
+ }
113
+ }
114
+
115
+ .popup-content {
116
+ border-radius: var(--br);
117
+ padding: 0 !important;
118
+ }
119
+
120
+ .popup-overlay {
121
+ background: rgba(0, 0, 0, 0.65) !important;
122
+ backdrop-filter: blur(3px);
123
+ }
124
+
125
+ .AutocompletePlace-results {
126
+ z-index: 999;
127
+ width: 500px;
128
+ position: absolute;
129
+ background-color: var(--tertiary-color);
130
+ padding: 0;
131
+ margin: 0;
132
+ border: 1px solid rgba(var(--primary-rgb), 0.25);
133
+ border-radius: var(--br);
134
+ overflow: hidden;
135
+ font-size: 1rem;
136
+ max-height: 150px;
137
+ overflow-y: auto;
138
+
139
+ ul {
140
+ font-size: 1rem;
141
+ padding: 0;
142
+ margin: 0;
143
+ }
144
+ }
145
+
146
+ .vs-datagrid--row:hover {
147
+ .InovuaReactDataGrid__row-cell-wrap {
148
+ background: rgb(240, 240, 240) !important;
149
+ cursor: pointer;
150
+ }
151
+ }
152
+
153
+ .InovuaReactDataGrid {
154
+ color: var(--paragraph-color) !important;
155
+ }
156
+
157
+ .InovuaReactDataGrid__header {
158
+ color: var(--primary-color) !important;
159
+ }
160
+
161
+ .InovuaReactDataGrid__row-hover-target:hover {
162
+ color: var(--paragraph-color) !important;
163
+ background: rgb(240, 240, 240) !important;
164
+ }
165
+
166
+ .InovuaReactDataGrid__row:hover {
167
+ cursor: pointer;
168
+ }
169
+
170
+ /* Async Select */
171
+
172
+ .visns-select__control {
173
+ width: 100%;
174
+ cursor: default;
175
+ min-height: 50px;
176
+ outline: 0 !important;
177
+ position: relative;
178
+ -webkit-transition: all 100ms;
179
+ transition: all 100ms;
180
+ background-color: hsl(0, 0%, 100%);
181
+ border-color: hsl(0, 0%, 80%);
182
+ border-radius: 4px;
183
+ border-style: solid;
184
+ border-width: 1px;
185
+ box-sizing: border-box;
186
+ box-shadow: none !important;
187
+
188
+ &--is-focused {
189
+ border-color: var(--primary-color) !important;
190
+ box-shadow: none !important;
191
+ border-width: 1px !important;
192
+ }
193
+
194
+ &--menu-is-open {
195
+ border-color: var(--primary-color) !important;
196
+ box-shadow: none !important;
197
+ border-width: 1px !important;
198
+ }
199
+ }
200
+
201
+ .visns-select__menu {
202
+ z-index: 999 !important;
73
203
  }
package/src/index.js CHANGED
@@ -37,7 +37,6 @@ import CmsSort from './components/cms/generic/CmsSort';
37
37
  import AuditLog from './components/crm/generic/AuditLog';
38
38
  import AuditLogs from './components/crm/generic/AuditLogs';
39
39
  import GenericAuth from './components/crm/generic/GenericAuth';
40
- import GenericDashboard from './components/crm/generic/GenericDashboard';
41
40
  import GenericDetail from './components/crm/generic/GenericDetail';
42
41
  import GenericDynamic from './components/crm/generic/GenericDynamic';
43
42
  import GenericFormBuilder from './components/crm/generic/GenericFormBuilder';
@@ -46,10 +45,6 @@ import GenericMain from './components/crm/generic/GenericMain';
46
45
  import GenericSort from './components/crm/generic/GenericSort';
47
46
  import NotificationList from './components/crm/generic/NotificationList';
48
47
 
49
- /** Sketching Components */
50
- import SketchField from './components/crm/sketch/SketchField';
51
- import Tools from './components/crm/sketch/tools';
52
-
53
48
  export {
54
49
  AsyncSelect,
55
50
  AuditLog,
@@ -68,7 +63,6 @@ export {
68
63
  Field,
69
64
  Form,
70
65
  GenericAuth,
71
- GenericDashboard,
72
66
  GenericDetail,
73
67
  GenericDynamic,
74
68
  GenericFormBuilder,
@@ -85,10 +79,8 @@ export {
85
79
  Reset,
86
80
  SelectList,
87
81
  Select,
88
- SketchField,
89
82
  SortableList,
90
83
  Table,
91
84
  TableFilter,
92
- Tools,
93
85
  Verify,
94
86
  };
@@ -1,325 +0,0 @@
1
- body {
2
- min-height: 100vh;
3
- background: var(--bg);
4
- }
5
-
6
- .grid {
7
- display: flex;
8
- flex-direction: column;
9
- gap: 2rem;
10
- padding: 2rem;
11
- }
12
-
13
- .filterContainer {
14
- background: #ffffff; // White background for contrast
15
- border: 1px solid #dadce0; // Subtle border for separation
16
- border-radius: 8px; // Rounded corners
17
- padding: 1.5rem;
18
- margin-bottom: 1.5rem; // Spacing below the filter section
19
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); // Subtle shadow for depth
20
- }
21
-
22
- .filterHeader {
23
- text-align: left;
24
- margin-bottom: 1rem;
25
-
26
- h3 {
27
- font-size: 1.25rem;
28
- font-weight: 600;
29
- color: #333;
30
- margin: 0;
31
- }
32
- }
33
-
34
- .filterFields {
35
- display: flex;
36
- flex-wrap: wrap;
37
- gap: 1rem; // Gap between fields
38
- align-items: flex-end; // Align fields vertically
39
- }
40
-
41
- .filterField {
42
- flex: 1; // Ensures equal spacing for each field
43
- display: flex;
44
- flex-direction: column;
45
- min-width: 200px; // Sets a minimum width for smaller screens
46
-
47
- label {
48
- font-size: 0.875rem;
49
- font-weight: 600;
50
- margin-bottom: 0.5rem;
51
- color: #555;
52
- }
53
-
54
- input,
55
- select {
56
- border: 1px solid #dadce0;
57
- border-radius: 5px;
58
- padding: 0.5rem 0.75rem;
59
- font-size: 0.875rem;
60
- color: #333;
61
- outline: none;
62
- background-color: #f9f9f9;
63
- width: 100%; // Ensures full width within the container
64
- height: 51px;
65
-
66
- &:focus {
67
- border-color: #007bff;
68
- box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); // Focus effect
69
- }
70
- }
71
- }
72
-
73
- .filterActions {
74
- display: flex;
75
- gap: 0.75rem; // Gap between buttons
76
-
77
- .btn {
78
- padding: 0.5rem 1rem;
79
- border-radius: 5px;
80
- font-size: 0.875rem;
81
- font-weight: 600;
82
- text-transform: uppercase;
83
- cursor: pointer;
84
- transition: background-color 0.2s;
85
- height: 51px;
86
-
87
- &.btn-primary {
88
- background-color: #007bff;
89
- color: #fff;
90
- border: none;
91
-
92
- &:hover {
93
- background-color: #0056b3;
94
- }
95
- }
96
-
97
- &.btn-secondary {
98
- background-color: #f8f9fa;
99
- color: #333;
100
- border: 1px solid #ccc;
101
-
102
- &:hover {
103
- background-color: #e2e6ea;
104
- }
105
- }
106
- }
107
- }
108
-
109
- .widgetTitle {
110
- width: 100%;
111
- height: auto;
112
- padding: 0 0 1em 0;
113
- margin-bottom: 1em;
114
- border-bottom: 1px dashed #dadce0;
115
-
116
- h2 {
117
- font-size: 1.375em;
118
- font-weight: 700;
119
- margin: 0;
120
- padding: 0;
121
- line-height: 1;
122
- text-transform: capitalize;
123
- text-align: left;
124
- }
125
- }
126
-
127
- .dashList {
128
- width: 100%;
129
- display: flex;
130
- flex-wrap: wrap;
131
- list-style: none;
132
- padding: 0;
133
- margin: 0;
134
-
135
- li {
136
- width: 100%;
137
- padding: 0;
138
- margin: 0;
139
-
140
- &:first-child {
141
- button {
142
- border-top-left-radius: var(--br);
143
- border-top-right-radius: var(--br);
144
- }
145
- }
146
-
147
- &:last-child {
148
- margin-bottom: 0;
149
-
150
- button {
151
- border-bottom-left-radius: var(--br);
152
- border-bottom-right-radius: var(--br);
153
- border-bottom: 1px solid #dadce0;
154
- }
155
- }
156
-
157
- a {
158
- text-decoration: none;
159
- }
160
-
161
- button {
162
- width: 100%;
163
- display: block;
164
- background: white;
165
- border: 1px solid #dadce0;
166
- border-bottom: none;
167
- outline: none;
168
- padding: 0.5rem 1rem;
169
- color: var(--paragraph-color);
170
- text-align: left;
171
- transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
172
- letter-spacing: 0.018em;
173
-
174
- &:hover {
175
- background: rgba(var(--secondary-color), 0.05);
176
- transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
177
- }
178
-
179
- strong {
180
- color: var(--paragraph-color);
181
- }
182
-
183
- span {
184
- color: rgba(var(--secondary-color-rgb), 1.1);
185
- float: right;
186
- }
187
- }
188
- }
189
- }
190
-
191
- .grid__row {
192
- width: 100%;
193
- display: flex;
194
- align-items: flex-start;
195
- flex-wrap: nowrap;
196
- height: auto;
197
- gap: 1rem;
198
- }
199
-
200
- .grid__dashfull {
201
- width: 100%;
202
- background: var(--item-color);
203
- border-radius: var(--br);
204
- border: 1px solid rgba(var(--item-color-rgb), 1.15);
205
- box-sizing: border-box;
206
- padding: 20px;
207
- margin: 8px 0;
208
- box-shadow: 0 4px 0 rgba(var(--primary-color-rgb), 0.05);
209
- }
210
-
211
- .tableContainer {
212
- margin-top: 20px;
213
- border: 1px solid #dadce0;
214
- border-radius: 8px;
215
- overflow: hidden;
216
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
217
- }
218
-
219
- .tableContainer table {
220
- width: 100%;
221
- border-collapse: collapse;
222
- text-align: left;
223
- background-color: #ffffff;
224
- }
225
-
226
- .tableContainer th {
227
- background-color: #f6f8fa;
228
- color: #333;
229
- font-weight: bold;
230
- padding: 12px 15px;
231
- border-bottom: 1px solid #dadce0;
232
- text-transform: capitalize;
233
- font-size: 14px;
234
- }
235
-
236
- .tableContainer td {
237
- padding: 10px 15px;
238
- border-bottom: 1px solid #eaeaea;
239
- font-size: 13px;
240
- color: #555;
241
- text-align: center;
242
- }
243
-
244
- .tableContainer tbody tr:hover {
245
- background-color: #f9f9f9;
246
- }
247
-
248
- .tableContainer tbody tr:nth-child(even) {
249
- background-color: #f7f7f7;
250
- }
251
-
252
- .tableContainer th:first-child,
253
- .tableContainer td:first-child {
254
- text-align: left;
255
- font-weight: bold;
256
- padding-left: 20px;
257
- }
258
-
259
- .tableContainer td:last-child {
260
- border-right: none;
261
- }
262
-
263
- .tableContainer th:last-child {
264
- border-right: none;
265
- }
266
-
267
- .dashwidget {
268
- background: var(--primary-color) !important;
269
- border-top: 1px solid transparent !important;
270
- border-left: 1px solid transparent !important;
271
- border-right: 1px solid transparent !important;
272
- border-bottom: 4px solid rgba(var(--primary-color-rgb), 0.9) !important;
273
-
274
- h2 {
275
- color: var(--highlight-color) !important;
276
- }
277
-
278
- .widgetTitle {
279
- border-bottom: 1px dashed rgba(#dadce0, 0.15);
280
- }
281
- }
282
-
283
- .grid__contentlist {
284
- li {
285
- position: relative;
286
-
287
- &:hover {
288
- .edititem {
289
- opacity: 1;
290
- transition: opacity 0.15s cubic-bezier(0.25, 0.8, 0.25, 1);
291
- }
292
- }
293
-
294
- .edititem {
295
- position: absolute;
296
- right: 0;
297
- text-decoration: none;
298
- opacity: 0;
299
- transition: opacity 0.15s cubic-bezier(0.25, 0.8, 0.25, 1);
300
- }
301
- }
302
- }
303
-
304
- .react-datepicker__month-select,
305
- .react-datepicker__year-select {
306
- padding: 0.5em 0.85em;
307
- }
308
-
309
- .react-confirm-alert-overlay {
310
- z-index: 999 !important;
311
- }
312
-
313
- .polActions {
314
- position: fixed;
315
- bottom: 15px;
316
- right: 20px;
317
- width: auto;
318
-
319
- button {
320
- display: block;
321
- float: left;
322
- padding: 0.35em 1em;
323
- margin: 0 0.15em;
324
- }
325
- }