Changes for page Home
Last modified by Alex Cotiugă on 2026/01/13 13:12
From version 7.95
edited by Alex Cotiugă
on 2025/11/13 21:52
on 2025/11/13 21:52
Change comment:
There is no comment for this version
To version 7.89
edited by Alex Cotiugă
on 2025/11/13 21:26
on 2025/11/13 21:26
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -67,7 +67,7 @@ 67 67 #set ($servicesSectionData = [{ 68 68 'title': 'Upgrades', 69 69 'icon': 'refresh', 70 - 'content': 'Stay current with the latest XWiki LTS and keep your instance secure', 70 + 'content': 'Stay current with the latest XWiki LTS and keep your instance secure and stable.', 71 71 'items': [ 72 72 'Audit setup, extensions, and configurations', 73 73 'Test upgrades with backups and validation', ... ... @@ -113,20 +113,13 @@ 113 113 <section class="services" aria-labelledby="services-title"> 114 114 <div class="container"> 115 115 <h2 id="services-title">Services</h2> 116 - <p class=" lead">116 + <p class="services-sub"> 117 117 All the XWiki services you need, delivered with precision and care 118 118 </p> 119 119 120 - #set ($servicesSize = $servicesSectionData.size()) 121 121 <div class="row services-grid" role="list"> 122 122 #foreach ($entry in $servicesSectionData) 123 - #set ($classes = "service col-xs-12 col-sm-6") 124 - ## If this is the last item and the number of services is odd, 125 - ## center it on its own row on small+ screens 126 - #if ($foreach.count == $servicesSize && ($servicesSize % 2) == 1) 127 - #set ($classes = "$classes col-sm-offset-3") 128 - #end 129 - <div class="$classes" role="listitem"> 122 + <div class="service col-sm-6" role="listitem"> 130 130 <div class="service-icon"> 131 131 <i class="fa fa-$entry.icon" aria-hidden="true"></i> 132 132 </div>
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -188,15 +188,31 @@ 188 188 } 189 189 } 190 190 191 - /* SERVICES */191 + /* SERVICES */ 192 192 .services { 193 + h2 { 194 + margin: 0 0 .3rem; 195 + } 196 + 197 + .services-sub { 198 + margin: 0 0 1.75rem; 199 + color: @muted; 200 + } 201 + 193 193 .services-grid { 194 194 margin-top: 12px; 204 + display: flex; 205 + flex-wrap: wrap; 206 + justify-content: space-between; 195 195 196 196 .service { 209 + box-sizing: border-box; 197 197 margin-bottom: 24px; 198 198 199 - /* icon + text side by side */ 212 + /* Desktop / tablet: 2 per row with space between */ 213 + flex: 0 0 48%; 214 + max-width: 48%; 215 + 200 200 display: flex; 201 201 align-items: flex-start; 202 202 gap: 16px; ... ... @@ -241,19 +241,13 @@ 241 241 } 242 242 } 243 243 } 244 - } 245 245 246 - @media(max-width:767px) {247 - .services-grid {261 + /* Mobile: stack services full width */ 262 + @media (max-width: 767px) { 248 248 .service { 249 - margin-bottom: 20px; 264 + flex: 0 0 100%; 265 + max-width: 100%; 250 250 } 251 - 252 - .service-icon { 253 - width: 36px; 254 - height: 36px; 255 - font-size: 16px; 256 - } 257 257 } 258 258 } 259 259 }