Changes for page Home
Last modified by Alex Cotiugă on 2026/01/13 13:12
From version 7.59
edited by Alex Cotiugă
on 2025/11/13 12:58
on 2025/11/13 12:58
Change comment:
There is no comment for this version
To version 7.65
edited by Alex Cotiugă
on 2025/11/13 13:12
on 2025/11/13 13:12
Change comment:
There is no comment for this version
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -179,117 +179,85 @@ 179 179 } 180 180 181 181 /* SERVICES */ 182 - .services { 183 - h2 { 184 - margin: 0 0 .3rem; 185 - /* rely on global heading sizing */ 186 - } 182 + .services-grid { 183 + display: grid; 184 + grid-template-columns: repeat(2, minmax(0, 1fr)); 185 + column-gap: 36px; 186 + row-gap: 32px; 187 + } 187 187 188 - .services-sub { 189 - margin: 0 0 1.75rem; 190 - color: @muted; 189 + .services-grid > article.service { 190 + display: grid; 191 + grid-template-columns: 48px 1fr; 192 + gap: 16px; 193 + padding: 18px 0; 194 + border-top: 1px solid @line; 195 + 196 + /* first row: no top border */ 197 + &:nth-of-type(-n + 2) { 198 + border-top: none; 191 191 } 192 192 193 - /* Grid: two columns, last item spans both */ 194 - .services-grid { 195 - display: grid; 196 - grid-template-columns: repeat(2, 1fr); 197 - gap: 32px 36px; 198 - article.service:last-child:nth-child(odd) { 199 - grid-column: 1 / -1; // span both columns 200 - max-width: 680px; // optional: keep it from stretching too wide 201 - justify-self: center; // center it in the row 202 - } 201 + > i { 202 + width: 42px; 203 + height: 42px; 204 + border-radius: 50%; 205 + display: flex; 206 + align-items: center; 207 + justify-content: center; 208 + font-size: 18px; 209 + color: @brand; 210 + background: fade(@brand, 10%); 211 + margin-top: 3px; 203 203 } 204 204 205 - .service { 206 - display: grid; 207 - grid-template-columns: 48px 1fr; 208 - gap: 16px; 209 - padding: 18px 0; 210 - border-top: 1px solid @line; 211 - 212 - /* first row: no top border */ 213 - &:nth-of-type(-n + 2) { 214 - border-top: none; 214 + .body { 215 + h4 { 216 + margin: 0 0 4px; 217 + font-size: 1.125rem; 218 + font-weight: 800; 215 215 } 216 - 217 - /* icon badge */ 218 - > i { 219 - width: 42px; 220 - height: 42px; 221 - border-radius: 50%; 222 - display: flex; 223 - align-items: center; 224 - justify-content: center; 225 - font-size: 18px; 226 - color: @brand; 227 - background: fade(@brand, 10%); 228 - margin-top: 3px; 220 + p { 221 + margin: 0 0 6px; 222 + color: @text; 223 + line-height: 1.5; 229 229 } 230 - 231 - .body { 232 - h3 { 233 - margin: 0 0 4px; 234 - font-size: 1.125rem; 235 - font-weight: 800; 236 - } 237 - 238 - p { 239 - margin: 0 0 6px; 240 - color: @text; 241 - line-height: 1.5; 242 - } 243 - 244 - ul { 245 - margin: .45rem 0 0; 246 - padding-left: 1.1rem; 247 - color: @muted; 248 - font-size: .95rem; 249 - } 250 - 251 - li { 252 - margin: .25rem 0; 253 - line-height: 1.45; 254 - } 225 + ul { 226 + margin: .45rem 0 0; 227 + padding-left: 1.1rem; 228 + color: @muted; 229 + font-size: .95rem; 255 255 } 256 - 257 - /* last item (Migrations): centered single row */ 258 - &.service--center { 259 - grid-column: 1 / -1; 260 - max-width: 680px; 261 - justify-self: center; 262 - border-top: 1px solid @line; // always show a separator above it 231 + li { 232 + margin: .25rem 0; 233 + line-height: 1.45; 263 263 } 264 264 } 236 + } 265 265 266 - /*Responsive */267 - @media(max-width: 760px) {268 - .services-grid{269 - grid-template-columns:1fr;270 - row-gap:20px;271 - }238 + /* If there is an odd number of services, center the last one */ 239 + .services-grid > article.service:nth-last-child(1):nth-child(odd) { 240 + grid-column: 1 / -1; 241 + max-width: 680px; 242 + justify-self: center; 243 + } 272 272 273 - .service { 274 - grid-template-columns: 40px 1fr; 245 + /* Responsive */ 246 + @media (max-width: 760px) { 247 + .services-grid > article.service { 248 + /* Mobile layout */ 249 + grid-template-columns: 40px 1fr; 275 275 276 - /* on mobile only the first service has no top border */ 277 - &:nth-of-type(1) { 278 - border-top: none; 279 - } 251 + /* Always reset border on mobile */ 252 + border-top: 1px solid @line; 253 + } 280 280 281 - > i { 282 - width: 36px; 283 - height: 36px; 284 - font-size: 16px; 285 - } 286 - 287 - &.service--center { 288 - max-width: 100%; 289 - } 290 - } 255 + /* Only the FIRST item has no border on mobile */ 256 + .services-grid > article.service:nth-of-type(1) { 257 + border-top: none; 291 291 } 292 292 } 260 + 293 293 /* METRICS */ 294 294 .metrics { 295 295 display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr);