Changes for page Public Web Site
Last modified by Agnease on 2026/07/03 16:14
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Hidden
-
... ... @@ -1,1 +1,1 @@ 1 - true1 +false - Content
-
... ... @@ -1,9 +1,11 @@ 1 +{{include reference="PublicWebSite.MacrosAndVariables" /}} 2 + 1 1 {{velocity}} 2 2 #macro (displayPublicContent) 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 5 6 - <section class="hero hero-centered" aria-labelledby="hero-title"> 8 + <section class="hero hero-centered main-page-hero" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 8 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> 9 9 ... ... @@ -20,7 +20,7 @@ 20 20 </ul> 21 21 22 22 <div class="hero-actions"> 23 - <a class="btn btn-primary" href=" https://calendly.com/alex-agnease/30min?back=1&month=2026-06">Book afreediscussion</a>25 + <a class="btn btn-primary" href="$freeXWikiReviewCallURL">$freeXWikiReviewCallLabel</a> 24 24 ##<a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> 25 25 <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 26 26 </div> ... ... @@ -111,36 +111,6 @@ 111 111 </div> 112 112 </section> 113 113 114 - <section class="industry-trust-section" aria-labelledby="industry-trust-title"> 115 - <div class="container"> 116 - <div class="industry-trust-panel"> 117 - <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 118 - 119 - <p class="section-intro"> 120 - Experience supporting XWiki platforms used in healthcare, financial services, scientific research, 121 - government institutions, transportation, software development, compliance programs and regulated environments. 122 - </p> 123 - 124 - <div class="industry-tags" aria-label="Industries and environments supported"> 125 - <span>Healthcare</span> 126 - <span>Financial services</span> 127 - <span>Scientific research</span> 128 - <span>Government institutions</span> 129 - <span>Transportation</span> 130 - <span>Software development</span> 131 - <span>Compliance programs</span> 132 - <span>Regulated environments</span> 133 - </div> 134 - 135 - <p class="industry-support"> 136 - Organizations rely on these platforms to manage documentation, workflows, compliance processes, 137 - research knowledge and critical business information. From upgrades and authentication integrations 138 - to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future. 139 - </p> 140 - </div> 141 - </div> 142 - </section> 143 - 144 144 <section class="split-section" aria-labelledby="why-title"> 145 145 <div class="container"> 146 146 <div class="split-grid"> ... ... @@ -148,11 +148,10 @@ 148 148 <h2 id="why-title">Why work with an XWiki specialist</h2> 149 149 <p> 150 150 XWiki projects often involve more than pages. Production platforms may include custom code, 151 - extensions, authentication, permissions, workflows, integrations, compliance documentation 152 - and business-critical knowledge. 123 + extensions, authentication, permissions, workflows, integrations and business-critical content. 153 153 </p> 154 154 <p> 155 - Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, supportlong-termreliability126 + Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, deliver practical improvements 156 156 and leave the platform easier to maintain after the work is complete. 157 157 </p> 158 158 </div>
- main-page-hero.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Admin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.0 MB - 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; ... ... @@ -180,11 +180,14 @@ 180 180 181 181 .hero { 182 182 overflow: hidden; 183 - background-repeat: no-repeat; 184 - background-attachment: scroll; 185 185 171 + overflow: hidden; 172 + 186 186 &.hero-centered { 187 187 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%); 188 188 display: flex; 189 189 align-items: center; 190 190 justify-content: center; ... ... @@ -191,6 +191,15 @@ 191 191 min-height: 330px; 192 192 } 193 193 184 + &.main-page-hero { 185 + background: 186 + linear-gradient( 187 + rgba(244, 252, 250, 0.40), 188 + rgba(255, 255, 255, 0.30) 189 + ), 190 + url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat; 191 + } 192 + 194 194 .hero-inner { 195 195 max-width: 860px; 196 196 margin: 0 auto; ... ... @@ -258,6 +258,7 @@ 258 258 .trust-strip { 259 259 padding: 18px 0; 260 260 border-top: 1px solid @line; 260 + background: #fff; 261 261 262 262 ul { 263 263 max-width: 960px; ... ... @@ -440,80 +440,6 @@ 440 440 } 441 441 } 442 442 443 -.industry-trust-section { 444 - background: 445 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 446 - 447 - .industry-trust-panel { 448 - max-width: 1040px; 449 - margin: 0 auto; 450 - padding: 30px 28px; 451 - border: 1px solid fade(@brand, 16%); 452 - border-radius: @radius; 453 - background: 454 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 455 - box-shadow: @shadow-sm; 456 - text-align: center; 457 - } 458 - 459 - h2 { 460 - margin-bottom: 12px; 461 - } 462 - 463 - .section-intro { 464 - margin-bottom: 20px; 465 - max-width: 820px; 466 - } 467 - 468 - .industry-tags { 469 - max-width: 880px; 470 - margin: 0 auto; 471 - display: flex; 472 - flex-wrap: wrap; 473 - justify-content: center; 474 - gap: 10px; 475 - } 476 - 477 - .industry-tags span { 478 - display: inline-flex; 479 - align-items: center; 480 - padding: 7px 12px; 481 - border: 1px solid fade(@brand, 20%); 482 - border-radius: 999px; 483 - background: #fff; 484 - color: @text; 485 - font-size: 13px; 486 - font-weight: 600; 487 - line-height: 1.2; 488 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 489 - } 490 - 491 - .industry-support { 492 - max-width: 820px; 493 - margin: 22px auto 0; 494 - color: @muted; 495 - font-size: 16px; 496 - line-height: 1.6; 497 - } 498 -} 499 - 500 -@media (max-width: 640px) { 501 - .industry-trust-section { 502 - .industry-trust-panel { 503 - padding: 24px 18px; 504 - } 505 - 506 - .industry-tags { 507 - gap: 8px; 508 - } 509 - 510 - .industry-tags span { 511 - font-size: 12px; 512 - padding: 6px 10px; 513 - } 514 - } 515 -} 516 - 517 517 /* ========== Services ========== */ 518 518 519 519 .services { ... ... @@ -765,6 +765,8 @@ 765 765 padding: 32px; 766 766 border-radius: @radius; 767 767 border: 1px solid fade(@brand, 20%); 694 + background: 695 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 768 768 box-shadow: @shadow-sm; 769 769 text-align: center; 770 770 ... ... @@ -871,6 +871,15 @@ 871 871 min-height: 280px; 872 872 } 873 873 802 + .hero.main-page-hero { 803 + background: 804 + linear-gradient( 805 + rgba(244, 252, 250, 0.92), 806 + rgba(255, 255, 255, 0.97) 807 + ), 808 + url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat; 809 + } 810 + 874 874 .hero { 875 875 .lead { 876 876 font-size: 17px; ... ... @@ -1003,45 +1003,6 @@ 1003 1003 } 1004 1004 } 1005 1005 1006 -.resource-note.related-resources { 1007 - p { 1008 - margin-bottom: 10px; 1009 - } 1010 - 1011 - ul { 1012 - margin: 0; 1013 - padding-left: 20px; 1014 - } 1015 - 1016 - li { 1017 - margin: 6px 0; 1018 - color: @muted; 1019 - } 1020 -} 1021 - 1022 -.resource-faq-item { 1023 - display: flow-root; 1024 - border-bottom: 1px solid @line; 1025 - padding: 12px 0; 1026 - 1027 - summary { 1028 - cursor: pointer; 1029 - font-weight: 700; 1030 - color: @text; 1031 - line-height: 1.4; 1032 - } 1033 - 1034 - summary:hover, 1035 - summary:focus { 1036 - color: @brand-strong; 1037 - } 1038 - 1039 - p { 1040 - margin: 10px 0 4px; 1041 - color: @muted; 1042 - } 1043 -} 1044 - 1045 1045 .resource-checklist { 1046 1046 margin: 18px 0 24px; 1047 1047 padding: 0; ... ... @@ -1163,40 +1163,30 @@ 1163 1163 } 1164 1164 1165 1165 .product-card-grid { 1166 - max-width: 980px;1167 - margin: 2 6px auto 0;1064 + max-width: 840px; 1065 + margin: 22px auto 0; 1168 1168 display: grid; 1169 1169 grid-template-columns: 1fr; 1170 - grid-gap: 22px;1068 + grid-gap: 18px; 1171 1171 } 1172 1172 1173 1173 .product-card { 1174 - position: relative; 1175 1175 background: #fff; 1176 1176 border: 1px solid @line; 1177 1177 border-radius: @radius; 1178 1178 box-shadow: @shadow-sm; 1179 - padding: 32px;1076 + padding: 28px; 1180 1180 display: grid; 1181 - grid-template-columns: 70px 1fr;1182 - grid-gap: 2 4px;1078 + grid-template-columns: 68px 1fr; 1079 + grid-gap: 22px; 1183 1183 align-items: start; 1184 - overflow: hidden; 1185 1185 1186 - &:before { 1187 - content: ""; 1188 - position: absolute; 1189 - inset: 0 auto 0 0; 1190 - width: 5px; 1191 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1192 - } 1193 - 1194 1194 .product-card-icon { 1195 1195 width: 58px; 1196 1196 height: 58px; 1197 1197 border-radius: 50%; 1198 1198 background: fade(@brand, 10%); 1199 - border: 1px solid fade(@brand, 2 2%);1087 + border: 1px solid fade(@brand, 20%); 1200 1200 color: @brand; 1201 1201 display: flex; 1202 1202 align-items: center; ... ... @@ -1205,15 +1205,11 @@ 1205 1205 flex-shrink: 0; 1206 1206 } 1207 1207 1208 - .product-card-body { 1209 - min-width: 0; 1210 - } 1211 - 1212 1212 h3 { 1213 1213 margin: 0 0 10px; 1214 1214 color: @text; 1215 - font-size: 2 5px;1216 - line-height: 1.2 2;1099 + font-size: 23px; 1100 + line-height: 1.25; 1217 1217 font-weight: 800; 1218 1218 } 1219 1219 ... ... @@ -1222,36 +1222,25 @@ 1222 1222 line-height: 1.6; 1223 1223 } 1224 1224 1225 - .product-card-description { 1226 - max-width: 760px; 1227 - margin: 0 0 14px; 1228 - font-size: 16px; 1109 + .card-link { 1110 + margin: 0; 1111 + 1112 + a { 1113 + font-weight: 700; 1114 + } 1229 1229 } 1230 1230 } 1231 1231 1232 1232 .product-card-kicker { 1233 - display: inline-flex; 1234 - align-items: center; 1235 - gap: 7px; 1236 - width: fit-content; 1237 1237 margin-bottom: 10px; 1238 1238 padding: 5px 10px; 1239 - border: 1px solid fade(@brand, 24%); 1240 - border-radius: 999px; 1241 - background: fade(@brand, 8%); 1242 - color: @brand-strong; 1243 1243 font-size: 12px; 1244 - font-weight: 800; 1245 1245 text-transform: uppercase; 1246 1246 letter-spacing: .04em; 1247 - 1248 - i { 1249 - color: @brand; 1250 - } 1251 1251 } 1252 1252 1253 1253 .product-highlights { 1254 - margin: 14px 0 2 2px;1127 + margin: 14px 0 20px; 1255 1255 padding-left: 18px; 1256 1256 color: @muted; 1257 1257 ... ... @@ -1261,58 +1261,12 @@ 1261 1261 } 1262 1262 } 1263 1263 1264 -.product-card-actions { 1265 - display: flex; 1266 - align-items: center; 1267 - gap: 16px; 1268 - flex-wrap: wrap; 1269 - 1270 - .btn { 1271 - font-weight: 700; 1272 - } 1273 -} 1274 - 1275 -.product-card-contact { 1276 - color: @brand; 1277 - font-weight: 700; 1278 - text-decoration: underline; 1279 - 1280 - &:hover, 1281 - &:focus { 1282 - color: @brand-strong; 1283 - } 1284 -} 1285 - 1286 -@media (max-width: 640px) { 1287 - .product-card { 1288 - grid-template-columns: 1fr; 1289 - padding: 26px 22px; 1290 - text-align: left; 1291 - 1292 - &:before { 1293 - width: 4px; 1294 - } 1295 - 1296 - .product-card-icon { 1297 - margin-bottom: 2px; 1298 - } 1299 - 1300 - h3 { 1301 - font-size: 22px; 1302 - } 1303 - } 1304 - 1305 - .product-card-actions { 1306 - gap: 12px; 1307 - } 1308 -} 1309 - 1310 1310 /* ========== Individual Product Pages ========== */ 1311 1311 1312 1312 .product-layout { 1313 1313 display: grid; 1314 - grid-template-columns: minmax(0,1.12fr)minmax(280px,.88fr);1315 - grid-gap: 3 2px;1141 + grid-template-columns: 1.1fr .9fr; 1142 + grid-gap: 36px; 1316 1316 max-width: 1040px; 1317 1317 margin: 0 auto; 1318 1318 align-items: start; ... ... @@ -1320,7 +1320,6 @@ 1320 1320 1321 1321 .product-summary-card, 1322 1322 .product-info-card, 1323 -.product-feature, 1324 1324 .product-gallery-panel { 1325 1325 background: #fff; 1326 1326 border: 1px solid @line; ... ... @@ -1329,18 +1329,16 @@ 1329 1329 } 1330 1330 1331 1331 .product-summary-card { 1332 - padding: 2 8px;1158 + padding: 26px; 1333 1333 1334 1334 h2 { 1335 1335 text-align: left; 1336 1336 margin-top: 0; 1337 - margin-bottom: 14px; 1338 - line-height: 1.25; 1339 1339 } 1340 1340 1341 1341 p { 1342 1342 color: @muted; 1343 - line-height: 1.6 2;1167 + line-height: 1.6; 1344 1344 } 1345 1345 1346 1346 p:last-child { ... ... @@ -1349,19 +1349,13 @@ 1349 1349 } 1350 1350 1351 1351 .product-info-card { 1352 - padding: 2 4px;1176 + padding: 22px; 1353 1353 1354 1354 h3 { 1355 1355 margin-top: 0; 1356 1356 margin-bottom: 12px; 1357 - line-height: 1.3; 1358 1358 } 1359 1359 1360 - p { 1361 - color: @muted; 1362 - line-height: 1.55; 1363 - } 1364 - 1365 1365 ul { 1366 1366 margin: 0; 1367 1367 padding-left: 20px; ... ... @@ -1370,30 +1370,25 @@ 1370 1370 1371 1371 li { 1372 1372 margin: 8px 0; 1373 - line-height: 1. 3;1191 + line-height: 1.45; 1374 1374 } 1375 1375 } 1376 1376 1377 -.product-card-note { 1378 - margin: 0 0 14px; 1379 - color: @muted; 1380 - line-height: 1.55; 1381 -} 1382 - 1383 1383 .product-feature-grid { 1384 1384 display: grid; 1385 1385 grid-template-columns: repeat(3, minmax(0, 1fr)); 1386 - grid-gap: 20px;1198 + grid-gap: 18px; 1387 1387 max-width: 1040px; 1388 - margin: 2 4px auto 0;1200 + margin: 22px auto 0; 1389 1389 } 1390 1390 1391 1391 .product-feature { 1392 - padding: 24px; 1393 - min-width: 0; 1394 - min-height: 100%; 1204 + background: #fff; 1205 + border: 1px solid @line; 1206 + border-radius: @radius; 1207 + box-shadow: @shadow-sm; 1208 + padding: 22px; 1395 1395 1396 - .card-heading, 1397 1397 .feature-heading { 1398 1398 display: flex; 1399 1399 align-items: center; ... ... @@ -1424,56 +1424,10 @@ 1424 1424 p { 1425 1425 margin: 0; 1426 1426 color: @muted; 1427 - line-height: 1.5 2;1240 + line-height: 1.5; 1428 1428 } 1429 1429 } 1430 1430 1431 -.product-gallery-caption { 1432 - max-width: 820px; 1433 - margin: 12px auto 0; 1434 - color: @muted; 1435 - font-size: 14px; 1436 - line-height: 1.5; 1437 - text-align: center; 1438 -} 1439 - 1440 -/* Keep the default XWiki gallery style. 1441 - Only add spacing before it and center it. */ 1442 -.gallery.xGallery { 1443 - margin: 25px auto; 1444 - width: 920px; 1445 - height: 518px; 1446 -} 1447 - 1448 -.product-section-muted { 1449 - background: 1450 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1451 -} 1452 - 1453 -/* Compact process list when used inside a product card. */ 1454 -.product-summary-card .process-list { 1455 - margin-top: 16px; 1456 - 1457 - li { 1458 - padding: 13px 14px 13px 50px; 1459 - margin-bottom: 10px; 1460 - box-shadow: none; 1461 - } 1462 - 1463 - li:before { 1464 - left: 14px; 1465 - top: 14px; 1466 - width: 24px; 1467 - height: 24px; 1468 - font-size: 12px; 1469 - } 1470 - 1471 - strong { 1472 - margin-bottom: 2px; 1473 - } 1474 -} 1475 - 1476 -/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1477 1477 .product-gallery-panel { 1478 1478 max-width: 1040px; 1479 1479 margin: 20px auto 0; ... ... @@ -1506,6 +1506,11 @@ 1506 1506 justify-content: center; 1507 1507 } 1508 1508 1276 +.product-section-muted { 1277 + background: 1278 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1279 +} 1280 + 1509 1509 @media (max-width: 980px) { 1510 1510 .product-layout, 1511 1511 .product-feature-grid { ... ... @@ -1534,37 +1534,12 @@ 1534 1534 .product-gallery-panel { 1535 1535 padding: 20px; 1536 1536 } 1537 - 1538 - .product-feature { 1539 - .card-heading, 1540 - .feature-heading { 1541 - gap: 12px; 1542 - } 1543 - 1544 - .feature-icon { 1545 - width: 42px; 1546 - height: 42px; 1547 - font-size: 16px; 1548 - } 1549 - } 1550 - 1551 - .gallery.xGallery { 1552 - margin-top: 22px !important; 1553 - } 1554 - 1555 - .product-gallery-caption { 1556 - margin-top: 10px; 1557 - padding: 0 14px; 1558 - } 1559 - 1560 - .product-summary-card .process-list li { 1561 - padding-left: 46px; 1562 - } 1563 1563 } 1564 1564 1565 1565 /* ========== Resources Index ========== */ 1566 1566 1567 1567 .resources-index-page { 1314 + background: #fff; 1568 1568 1569 1569 .services-grid { 1570 1570 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1600,52 +1600,3 @@ 1600 1600 color: @muted; 1601 1601 } 1602 1602 } 1603 - 1604 -/* ========== Global Theme Background ========== */ 1605 - 1606 -html, 1607 -body { 1608 - min-height: 100%; 1609 -} 1610 - 1611 -body { 1612 - color: @text; 1613 - background: 1614 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1615 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1616 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1617 - background-attachment: fixed; 1618 -} 1619 - 1620 -/* Let the body background show through the XWiki wrappers. 1621 -#mainContentArea, 1622 -.resource-page, 1623 -.resources-index-page { 1624 - background: transparent !important; 1625 - background-image: none !important; 1626 -} 1627 -*/ 1628 -/* Remove local decorative backgrounds that compete with the global gradient. 1629 -.hero, 1630 -.hero.hero-centered, 1631 -.trust-strip, 1632 -.industry-trust-section, 1633 -.split-section, 1634 -.resource-strip, 1635 -.homepage-resource-strip, 1636 -.resource-header, 1637 -.product-section-muted, 1638 -.resources-index-page { 1639 - background: transparent !important; 1640 - background-image: none !important; 1641 -} 1642 - */ 1643 -/* Keep large panels readable, but remove their inner gradients. 1644 -.industry-trust-section .industry-trust-panel, 1645 -.cta-panel, 1646 -.resource-inline-cta, 1647 -.resource-note, 1648 -.resource-cta { 1649 - background: #fff !important; 1650 - background-image: none !important; 1651 -} */