Changes for page Public Web Site

Last modified by Agnease on 2026/07/03 16:14

From version 28.7
edited by Agnease
on 2026/07/01 17:16
Change comment: There is no comment for this version
To version 24.8
edited by Agnease
on 2026/06/24 14:41
Change comment: There is no comment for this version

Summary

Details

Page properties
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Hidden
... ... @@ -1,1 +1,1 @@
1 -true
1 +false
Content
... ... @@ -2,45 +2,7 @@
2 2  #macro (displayPublicContent)
3 3   #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
4 4   {{html clean="false"}}
5 - <section class="hero hero-saas" id="top">
6 - <div class="container">
7 - <div class="hero-layout">
8 - <div class="hero-copy">
9 - <h1>Professional XWiki consulting <span>and engineering</span></h1>
10 10  
11 - <p class="lead">
12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 - </p>
14 -
15 - <ul class="benefits">
16 - <li>XWiki LTS upgrades</li>
17 - <li>Maintenance and support</li>
18 - <li>Custom XWiki development</li>
19 - <li>Migrations and integrations</li>
20 - </ul>
21 -
22 - <div class="hero-actions" id="hero-cta">
23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 - Book a free discussion
25 - </a>
26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
27 - </div>
28 - </div>
29 -
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
39 - </div>
40 - </div>
41 - </div>
42 - </section>
43 -#*
44 44   <section class="hero hero-centered" aria-labelledby="hero-title">
45 45   <div class="container hero-inner">
46 46   <h1 id="hero-title">Professional XWiki consulting and engineering</h1>
... ... @@ -64,7 +64,7 @@
64 64   </div>
65 65   </div>
66 66   </section>
67 -*#
29 +
68 68   <section class="trust-strip" aria-label="Agnease experience">
69 69   <div class="container">
70 70   <ul>
agnease-xwiki-hero.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Admin
Size
... ... @@ -1,1 +1,0 @@
1 -981.8 KB
Content
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,5 +1,5 @@
1 1  /* ========== Agnease Public Website ========== */
2 -/*
2 +
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
5 5  @brand-soft: #E7FFF8;
... ... @@ -11,19 +11,6 @@
11 11  @shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
12 12  @shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 13  @maxw: 1140px;
14 -*/
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 -@brand-bg: #F7F9FC;
19 -@text: #07182D;
20 -@text-soft: #10243D;
21 -@muted: #64748B;
22 -@line: #E6EBF2;
23 -@radius: 18px;
24 -@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 -@shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
27 27  
28 28  @section-padding: 30px 0;
29 29  @section-padding-mobile: 28px 0;
... ... @@ -150,7 +150,7 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
140 +.btn-primary {
154 154   background: @brand;
155 155   border-color: @brand;
156 156   color: #fff;
... ... @@ -162,12 +162,18 @@
162 162   color: #fff;
163 163   }
164 164  }
165 -*/
152 +
166 166  .btn-secondary {
167 - color: @text;
154 + color: @brand;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
156 + border: 1px solid fade(@brand, 35%);
170 170  
158 + &:hover,
159 + &:focus {
160 + color: @brand-strong;
161 + border-color: @brand;
162 + background: @brand-bg;
163 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -179,6 +179,9 @@
179 179  
180 180   &.hero-centered {
181 181   text-align: center;
175 + background:
176 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
177 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
182 182   display: flex;
183 183   align-items: center;
184 184   justify-content: center;
... ... @@ -252,6 +252,7 @@
252 252  .trust-strip {
253 253   padding: 18px 0;
254 254   border-top: 1px solid @line;
251 + background: #fff;
255 255  
256 256   ul {
257 257   max-width: 960px;
... ... @@ -324,6 +324,7 @@
324 324  .pathway-card,
325 325  .service-card,
326 326  .resource-card {
324 + background: #fff;
327 327   border: 1px solid @line;
328 328   border-radius: @radius;
329 329   box-shadow: @shadow-sm;
... ... @@ -519,6 +519,7 @@
519 519   align-items: flex-start;
520 520   gap: 16px;
521 521   padding: 22px;
520 + background: #fff;
522 522   border: 1px solid @line;
523 523   border-radius: @radius;
524 524   box-shadow: @shadow-sm;
... ... @@ -606,6 +606,7 @@
606 606   position: relative;
607 607   padding: 16px 16px 16px 58px;
608 608   margin-bottom: 12px;
608 + background: #fff;
609 609   border: 1px solid @line;
610 610   border-radius: @radius;
611 611   box-shadow: @shadow-sm;
... ... @@ -756,6 +756,8 @@
756 756   padding: 32px;
757 757   border-radius: @radius;
758 758   border: 1px solid fade(@brand, 20%);
759 + background:
760 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%);
759 759   box-shadow: @shadow-sm;
760 760   text-align: center;
761 761  
... ... @@ -914,6 +914,9 @@
914 914  .resource-header {
915 915   padding: @section-padding;
916 916   border-top: none;
919 + background:
920 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
921 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
917 917  
918 918   h1 {
919 919   margin: 0 auto 14px;
... ... @@ -1061,6 +1061,7 @@
1061 1061   border: 1px solid @line;
1062 1062   border-radius: @radius;
1063 1063   padding: 18px;
1069 + background: #fff;
1064 1064   box-shadow: @shadow-sm;
1065 1065  
1066 1066   h4 {
... ... @@ -1150,39 +1150,30 @@
1150 1150  }
1151 1151  
1152 1152  .product-card-grid {
1153 - max-width: 980px;
1154 - margin: 26px auto 0;
1159 + max-width: 840px;
1160 + margin: 22px auto 0;
1155 1155   display: grid;
1156 1156   grid-template-columns: 1fr;
1157 - grid-gap: 22px;
1163 + grid-gap: 18px;
1158 1158  }
1159 1159  
1160 1160  .product-card {
1161 - position: relative;
1167 + background: #fff;
1162 1162   border: 1px solid @line;
1163 1163   border-radius: @radius;
1164 1164   box-shadow: @shadow-sm;
1165 - padding: 32px;
1171 + padding: 28px;
1166 1166   display: grid;
1167 - grid-template-columns: 70px 1fr;
1168 - grid-gap: 24px;
1173 + grid-template-columns: 68px 1fr;
1174 + grid-gap: 22px;
1169 1169   align-items: start;
1170 - overflow: hidden;
1171 1171  
1172 - &:before {
1173 - content: "";
1174 - position: absolute;
1175 - inset: 0 auto 0 0;
1176 - width: 5px;
1177 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%);
1178 - }
1179 -
1180 1180   .product-card-icon {
1181 1181   width: 58px;
1182 1182   height: 58px;
1183 1183   border-radius: 50%;
1184 1184   background: fade(@brand, 10%);
1185 - border: 1px solid fade(@brand, 22%);
1182 + border: 1px solid fade(@brand, 20%);
1186 1186   color: @brand;
1187 1187   display: flex;
1188 1188   align-items: center;
... ... @@ -1191,15 +1191,11 @@
1191 1191   flex-shrink: 0;
1192 1192   }
1193 1193  
1194 - .product-card-body {
1195 - min-width: 0;
1196 - }
1197 -
1198 1198   h3 {
1199 1199   margin: 0 0 10px;
1200 1200   color: @text;
1201 - font-size: 25px;
1202 - line-height: 1.22;
1194 + font-size: 23px;
1195 + line-height: 1.25;
1203 1203   font-weight: 800;
1204 1204   }
1205 1205  
... ... @@ -1208,36 +1208,25 @@
1208 1208   line-height: 1.6;
1209 1209   }
1210 1210  
1211 - .product-card-description {
1212 - max-width: 760px;
1213 - margin: 0 0 14px;
1214 - font-size: 16px;
1204 + .card-link {
1205 + margin: 0;
1206 +
1207 + a {
1208 + font-weight: 700;
1209 + }
1215 1215   }
1216 1216  }
1217 1217  
1218 1218  .product-card-kicker {
1219 - display: inline-flex;
1220 - align-items: center;
1221 - gap: 7px;
1222 - width: fit-content;
1223 1223   margin-bottom: 10px;
1224 1224   padding: 5px 10px;
1225 - border: 1px solid fade(@brand, 24%);
1226 - border-radius: 999px;
1227 - background: fade(@brand, 8%);
1228 - color: @brand-strong;
1229 1229   font-size: 12px;
1230 - font-weight: 800;
1231 1231   text-transform: uppercase;
1232 1232   letter-spacing: .04em;
1233 -
1234 - i {
1235 - color: @brand;
1236 - }
1237 1237  }
1238 1238  
1239 1239  .product-highlights {
1240 - margin: 14px 0 22px;
1222 + margin: 14px 0 20px;
1241 1241   padding-left: 18px;
1242 1242   color: @muted;
1243 1243  
... ... @@ -1247,52 +1247,6 @@
1247 1247   }
1248 1248  }
1249 1249  
1250 -.product-card-actions {
1251 - display: flex;
1252 - align-items: center;
1253 - gap: 16px;
1254 - flex-wrap: wrap;
1255 -
1256 - .btn {
1257 - font-weight: 700;
1258 - }
1259 -}
1260 -
1261 -.product-card-contact {
1262 - color: @brand;
1263 - font-weight: 700;
1264 - text-decoration: underline;
1265 -
1266 - &:hover,
1267 - &:focus {
1268 - color: @brand-strong;
1269 - }
1270 -}
1271 -
1272 -@media (max-width: 640px) {
1273 - .product-card {
1274 - grid-template-columns: 1fr;
1275 - padding: 26px 22px;
1276 - text-align: left;
1277 -
1278 - &:before {
1279 - width: 4px;
1280 - }
1281 -
1282 - .product-card-icon {
1283 - margin-bottom: 2px;
1284 - }
1285 -
1286 - h3 {
1287 - font-size: 22px;
1288 - }
1289 - }
1290 -
1291 - .product-card-actions {
1292 - gap: 12px;
1293 - }
1294 -}
1295 -
1296 1296  /* ========== Individual Product Pages ========== */
1297 1297  
1298 1298  .product-layout {
... ... @@ -1308,6 +1308,7 @@
1308 1308  .product-info-card,
1309 1309  .product-feature,
1310 1310  .product-gallery-panel {
1247 + background: #fff;
1311 1311   border: 1px solid @line;
1312 1312   border-radius: @radius;
1313 1313   box-shadow: @shadow-sm;
... ... @@ -1355,7 +1355,7 @@
1355 1355  
1356 1356   li {
1357 1357   margin: 8px 0;
1358 - line-height: 1.3;
1295 + line-height: 1.45;
1359 1359   }
1360 1360  }
1361 1361  
... ... @@ -1425,9 +1425,9 @@
1425 1425  /* Keep the default XWiki gallery style.
1426 1426   Only add spacing before it and center it. */
1427 1427  .gallery.xGallery {
1428 - margin: 25px auto;
1429 - width: 920px;
1430 - height: 518px;
1365 + margin-top: 26px;
1366 + margin-left: auto;
1367 + margin-right: auto;
1431 1431  }
1432 1432  
1433 1433  .product-section-muted {
... ... @@ -1550,6 +1550,7 @@
1550 1550  /* ========== Resources Index ========== */
1551 1551  
1552 1552  .resources-index-page {
1490 + background: #fff;
1553 1553  
1554 1554   .services-grid {
1555 1555   grid-template-columns: repeat(2, minmax(0, 1fr));
... ... @@ -1585,54 +1585,3 @@
1585 1585   color: @muted;
1586 1586   }
1587 1587  }
1588 -
1589 -/* ========== Global Theme Background ========== */
1590 -
1591 -html,
1592 -body {
1593 - min-height: 100%;
1594 -}
1595 -
1596 -body {
1597 - color: @text;
1598 - background:
1599 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1600 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1601 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1602 - background-attachment: fixed;
1603 -}
1604 -
1605 -/* Let the body background show through the XWiki wrappers.
1606 -#mainContentArea,
1607 -.resource-page,
1608 -.resources-index-page {
1609 - background: transparent !important;
1610 - background-image: none !important;
1611 -}
1612 -*/
1613 -/* Remove local decorative backgrounds that compete with the global gradient.
1614 -.hero,
1615 -.hero.hero-centered,
1616 -.trust-strip,
1617 -.industry-trust-section,
1618 -.split-section,
1619 -.resource-strip,
1620 -.homepage-resource-strip,
1621 -.resource-header,
1622 -.product-section-muted,
1623 -.resources-index-page {
1624 - background: transparent !important;
1625 - background-image: none !important;
1626 -}
1627 - */
1628 -/* Keep large panels readable, but remove their inner gradients.
1629 -.industry-trust-section .industry-trust-panel,
1630 -.cta-panel,
1631 -.resource-inline-cta,
1632 -.resource-note,
1633 -.resource-cta {
1634 - background: #fff !important;
1635 - background-image: none !important;
1636 -} */
1637 -
1638 -