Changes for page Public Web Site

Last modified by Agnease on 2026/05/30 16:24

From version 10.28
edited by Agnease
on 2026/05/19 07:18
Change comment: There is no comment for this version
To version 8.19
edited by Agnease
on 2026/05/19 03:38
Change comment: There is no comment for this version

Summary

Details

XWiki.StyleSheetExtension[0]
code
... ... @@ -617,6 +617,7 @@
617 617   order: 0;
618 618   position: static;
619 619   width: 100%;
620 + margin-bottom: 24px;
620 620   }
621 621  
622 622   .resource-content {
XWiki.StyleSheetExtension[1]
code
... ... @@ -1,253 +1,283 @@
1 1  /* ========== Agnease Public Top Menu ========== */
2 2  
3 -/* Keep the public menu aligned to the right on desktop */
4 -@media (min-width: 768px) {
5 - .navbar-nav {
6 - float: right;
7 - margin-left: auto;
8 - }
3 +@brand: #00937D;
4 +@brand-strong: #007B6A;
5 +@text: #2D3A34;
6 +@muted: #5B6B64;
7 +@line: #E4ECE9;
8 +@brand-bg: #F4FCFA;
9 9  
10 - .site-nav {
11 - margin-left: auto;
12 - justify-content: flex-end;
13 - }
14 -}
15 -
16 16  /* Top-level menu items */
17 17  
18 -.agnease-menu-item,
19 -.agnease-menu-link {
20 - > a,
21 - > .dropdown-toggle {
22 - color: @brand;
23 - font-size: 17px;
24 - font-weight: 600;
25 - padding-left: 16px;
26 - padding-right: 16px;
27 - background: transparent !important;
28 - background-color: transparent !important;
29 - background-image: none !important;
30 - box-shadow: none !important;
12 +.agnease-services-menu,
13 +.agnease-products-menu {
14 + .dropdown-toggle {
15 + font-weight: inherit;
16 + font-size: inherit;
31 31   }
32 32  
33 - > a:hover,
34 - > a:focus,
35 - > a:active,
36 - &.open > a,
37 - &.open > a:hover,
38 - &.open > a:focus,
39 - &.open > a:active,
40 - &.active > a,
41 - &.active > a:hover,
42 - &.active > a:focus,
43 - &.active > a:active {
44 - color: @brand-strong;
45 - background: transparent !important;
46 - background-color: transparent !important;
47 - background-image: none !important;
48 - box-shadow: none !important;
49 - outline: none;
50 - text-decoration: none;
51 - }
52 -
53 53   .caret {
54 - margin-left: 5px;
55 - border-top-color: @brand;
56 - border-bottom-color: @brand;
20 + margin-left: 4px;
57 57   }
58 58  
59 - > a:hover .caret,
60 - > a:focus .caret,
61 - > a:active .caret,
62 - &.open > a .caret,
63 - &.active > a .caret {
64 - border-top-color: @brand-strong;
65 - border-bottom-color: @brand-strong;
23 + &.open > .dropdown-toggle,
24 + .dropdown-toggle:hover,
25 + .dropdown-toggle:focus {
26 + color: @brand-strong;
27 + background: transparent;
28 + background-color: transparent;
29 + box-shadow: none;
66 66   }
67 67  }
68 68  
69 -/* Strong Bootstrap/XWiki overrides for top-level menu backgrounds */
33 +/* Keep Agnease public top-level menu visually clean when hovered/open/focused */
70 70  
71 -.navbar-nav > li,
72 -.navbar-nav > li:hover,
73 -.navbar-nav > li:focus,
74 -.navbar-nav > li:active,
75 -.navbar-nav > li.open,
76 -.navbar-nav > li.open:hover,
77 -.navbar-nav > li.open:focus,
78 -.navbar-nav > li.open:active,
79 -.navbar-nav > li.active,
80 -.navbar-nav > li.active:hover,
81 -.navbar-nav > li.active:focus,
82 -.navbar-nav > li.active:active {
83 - background: transparent !important;
84 - background-color: transparent !important;
85 - background-image: none !important;
35 +.navbar-nav > li.agnease-services-menu > a,
36 +.navbar-nav > li.agnease-products-menu > a,
37 +.navbar-nav > li.agnease-services-menu > a:hover,
38 +.navbar-nav > li.agnease-products-menu > a:hover,
39 +.navbar-nav > li.agnease-services-menu > a:focus,
40 +.navbar-nav > li.agnease-products-menu > a:focus,
41 +.navbar-nav > li.agnease-services-menu.open > a,
42 +.navbar-nav > li.agnease-products-menu.open > a,
43 +.navbar-nav > li.agnease-services-menu.open > a:hover,
44 +.navbar-nav > li.agnease-products-menu.open > a:hover,
45 +.navbar-nav > li.agnease-services-menu.open > a:focus,
46 +.navbar-nav > li.agnease-products-menu.open > a:focus {
47 + background: transparent;
48 + background-color: transparent;
49 + color: @brand-strong;
50 + box-shadow: none;
86 86  }
87 87  
88 -.navbar-nav > li > a,
89 -.navbar-nav > li > a:hover,
90 -.navbar-nav > li > a:focus,
91 -.navbar-nav > li > a:active,
92 -.navbar-nav > li.open > a,
93 -.navbar-nav > li.open > a:hover,
94 -.navbar-nav > li.open > a:focus,
95 -.navbar-nav > li.open > a:active,
96 -.navbar-nav > li.active > a,
97 -.navbar-nav > li.active > a:hover,
98 -.navbar-nav > li.active > a:focus,
99 -.navbar-nav > li.active > a:active,
100 -.nav .open > a,
101 -.nav .open > a:hover,
102 -.nav .open > a:focus {
103 - background: transparent !important;
104 - background-color: transparent !important;
105 - background-image: none !important;
106 - box-shadow: none !important;
107 -}
53 +/* Dropdown panels */
108 108  
109 -/* Dropdown panel */
110 -
111 -.agnease-dropdown {
112 - min-width: 310px;
113 - padding: 10px 8px;
114 - border: 1px solid fade(@brand, 18%);
55 +.agnease-services-dropdown,
56 +.agnease-resources-dropdown,
57 +.agnease-products-dropdown {
58 + min-width: 360px;
59 + padding: 10px;
60 + border: 1px solid @line;
115 115   border-radius: 12px;
116 - background: #fff;
117 - box-shadow: 0 12px 32px fade(@brand-strong, 12%);
62 + box-shadow: 0 12px 36px rgba(0, 0, 0, .10);
118 118  
119 119   > li > a {
120 120   display: flex;
121 - align-items: center;
66 + align-items: flex-start;
122 122   gap: 12px;
123 - padding: 11px 14px;
124 - color: @brand;
125 - background: transparent !important;
126 - background-color: transparent !important;
127 - background-image: none !important;
128 - white-space: nowrap;
129 - font-size: 16px;
130 - font-weight: 600;
131 - line-height: 1.3;
132 - box-shadow: none !important;
68 + padding: 10px 12px;
69 + border-radius: 10px;
70 + color: @text;
71 + white-space: normal;
133 133  
134 - i {
135 - width: 20px;
136 - flex: 0 0 20px;
137 - color: @brand;
138 - text-align: center;
139 - font-size: 15px;
140 - }
141 -
142 142   &:hover,
143 - &:focus,
144 - &:active {
74 + &:focus {
145 145   color: @brand-strong;
146 - background: transparent !important;
147 - background-color: transparent !important;
148 - background-image: none !important;
76 + background: @brand-bg;
149 149   text-decoration: none;
150 - outline: none;
151 - box-shadow: none !important;
152 152  
153 - i {
79 + .menu-icon {
154 154   color: @brand-strong;
81 + background: fade(@brand, 14%);
82 + border-color: fade(@brand, 28%);
155 155   }
156 - }
157 - }
158 158  
159 - > .active > a,
160 - > .active > a:hover,
161 - > .active > a:focus,
162 - > .active > a:active {
163 - color: @brand-strong;
164 - background: transparent !important;
165 - background-color: transparent !important;
166 - background-image: none !important;
167 - text-decoration: none;
168 - box-shadow: none !important;
85 + strong {
86 + color: @brand-strong;
87 + }
169 169  
170 - i {
171 - color: @brand-strong;
89 + small {
90 + color: @muted;
91 + }
172 172   }
173 173   }
174 174  
175 175   .divider {
176 176   margin: 8px 0;
177 - background-color: fade(@brand, 16%);
97 + background-color: @line;
178 178   }
99 +
100 + .menu-icon {
101 + width: 34px;
102 + height: 34px;
103 + border-radius: 50%;
104 + background: fade(@brand, 8%);
105 + border: 1px solid fade(@brand, 18%);
106 + color: @brand;
107 + display: flex;
108 + align-items: center;
109 + justify-content: center;
110 + flex-shrink: 0;
111 + transition: color .15s ease, background .15s ease, border-color .15s ease;
112 + }
113 +
114 + .menu-text {
115 + display: flex;
116 + flex-direction: column;
117 + line-height: 1.25;
118 +
119 + strong {
120 + color: @brand;
121 + font-size: 14px;
122 + font-weight: 600;
123 + }
124 +
125 + small {
126 + color: @muted;
127 + font-size: 12px;
128 + margin-top: 2px;
129 + font-weight: 400;
130 + }
131 + }
179 179  }
180 180  
181 -/* Strong Bootstrap/XWiki overrides for submenu gray hover backgrounds */
134 +/* Products dropdown can be slightly narrower for now */
182 182  
183 -.dropdown-menu > li > a,
184 -.dropdown-menu > li > a:hover,
185 -.dropdown-menu > li > a:focus,
186 -.dropdown-menu > li > a:active,
187 -.dropdown-menu > .active > a,
188 -.dropdown-menu > .active > a:hover,
189 -.dropdown-menu > .active > a:focus,
190 -.dropdown-menu > .active > a:active,
191 -.agnease-dropdown > li > a,
192 -.agnease-dropdown > li > a:hover,
193 -.agnease-dropdown > li > a:focus,
194 -.agnease-dropdown > li > a:active {
195 - background: transparent !important;
196 - background-color: transparent !important;
197 - background-image: none !important;
198 - box-shadow: none !important;
136 +.agnease-products-dropdown {
137 + min-width: 340px;
199 199  }
200 200  
201 201  /* Mobile */
202 202  
203 203  @media (max-width: 767px) {
143 + .agnease-services-dropdown,
144 + .agnease-resources-dropdown,
145 + .agnease-products-dropdown {
146 + min-width: 0;
147 + width: 100%;
148 + padding: 6px;
149 + border-radius: 0;
150 + border-left: 0;
151 + border-right: 0;
152 + box-shadow: none;
153 +
154 + > li > a {
155 + padding: 10px;
156 + }
157 + }
158 +}
159 +
160 +/* ========== Compact Public Menu on Mobile ========== */
161 +
162 +@media (max-width: 767px) {
163 + /* Prevent any menu element from creating horizontal scroll */
164 + html,
165 + body {
166 + overflow-x: hidden;
167 + }
168 +
169 + .agnease-services-dropdown,
170 + .agnease-products-dropdown,
171 + .agnease-resources-dropdown {
172 + width: 100% !important;
173 + min-width: 0 !important;
174 + max-width: 100% !important;
175 + left: auto !important;
176 + right: auto !important;
177 + }
178 +
179 + .navbar,
180 + .navbar-collapse,
181 + .navbar-nav,
182 + .navbar-nav > li,
183 + .navbar-nav .dropdown-menu {
184 + max-width: 100%;
185 + }
186 +
187 + /* Make the main menu vertical inside the burger menu */
204 204   .navbar-nav {
205 - float: none;
206 - margin-left: 0;
189 + float: none !important;
190 + width: 100%;
191 + margin: 0;
207 207   }
208 208  
209 - .agnease-menu-item,
210 - .agnease-menu-link {
211 - > a,
212 - > .dropdown-toggle {
213 - font-size: 16px;
214 - padding-top: 9px;
215 - padding-bottom: 9px;
216 - }
194 + .navbar-nav > li {
195 + float: none !important;
196 + display: block;
197 + width: 100%;
217 217   }
218 218  
219 - .agnease-dropdown {
220 - min-width: 0;
200 + .navbar-nav > li > a {
201 + display: block;
221 221   width: 100%;
222 - padding: 4px 8px 8px 18px;
203 + padding: 11px 16px;
204 + font-size: 14px;
205 + font-weight: 600;
206 + line-height: 1.3;
207 + white-space: normal;
208 + }
209 +
210 + .navbar-nav > li > a .caret {
211 + float: right;
212 + margin-top: 7px;
213 + }
214 +
215 + /* Dropdowns become compact nested sections */
216 + .navbar-nav .dropdown-menu {
217 + position: static !important;
218 + float: none !important;
219 + width: 100% !important;
220 + min-width: 0 !important;
221 + max-width: 100% !important;
222 + margin: 0;
223 + padding: 4px 0 8px;
223 223   border: 0;
224 224   border-radius: 0;
225 225   box-shadow: none;
226 - background: transparent;
227 + background: @brand-bg;
228 + }
227 227  
228 - > li > a {
229 - padding: 8px 10px;
230 - white-space: normal;
231 - font-size: 15px;
232 - color: @brand;
233 - background: transparent !important;
230 + .navbar-nav .dropdown-menu > li {
231 + width: 100%;
232 + }
234 234  
235 - i {
236 - width: 18px;
237 - flex-basis: 18px;
238 - }
234 + .navbar-nav .dropdown-menu > li > a {
235 + display: block;
236 + width: 100%;
237 + padding: 8px 16px 8px 28px;
238 + white-space: normal;
239 + overflow-wrap: anywhere;
240 + color: @text;
241 + }
239 239  
240 - &:hover,
241 - &:focus,
242 - &:active {
243 - color: @brand-strong;
244 - background: transparent !important;
245 - }
246 - }
243 + .navbar-nav .dropdown-menu > li > a:hover,
244 + .navbar-nav .dropdown-menu > li > a:focus {
245 + background: @brand-soft;
246 + color: @brand-strong;
247 + }
247 247  
248 - .divider {
249 - margin: 5px 0;
250 - background-color: fade(@brand, 16%);
251 - }
249 + /* Compact the rich dropdown layout on mobile */
250 + .navbar-nav .dropdown-menu .menu-icon {
251 + display: none;
252 252   }
253 +
254 + .navbar-nav .dropdown-menu .menu-text {
255 + display: block;
256 + min-width: 0;
257 + }
258 +
259 + .navbar-nav .dropdown-menu .menu-text strong {
260 + display: block;
261 + font-size: 13px;
262 + line-height: 1.25;
263 + font-weight: 600;
264 + color: @text;
265 + }
266 +
267 + /* Hide descriptions on mobile to avoid a very tall / wide menu */
268 + .navbar-nav .dropdown-menu .menu-text small {
269 + display: none;
270 + }
271 +
272 + .navbar-nav .dropdown-menu .divider {
273 + margin: 4px 16px;
274 + background-color: @line;
275 + }
276 +
277 + .navbar-nav .open > a,
278 + .navbar-nav .open > a:hover,
279 + .navbar-nav .open > a:focus {
280 + background: @brand-bg;
281 + color: @brand-strong;
282 + }
253 253  }