Changes for page Public Web Site
Last modified by Agnease on 2026/06/24 15:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -20,7 +20,8 @@ 20 20 </ul> 21 21 22 22 <div class="hero-actions"> 23 - <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> 23 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">Book a free discussion</a> 24 + ##<a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> 24 24 <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 25 25 </div> 26 26 </div> ... ... @@ -110,6 +110,36 @@ 110 110 </div> 111 111 </section> 112 112 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 + 113 113 <section class="split-section" aria-labelledby="why-title"> 114 114 <div class="container"> 115 115 <div class="split-grid"> ... ... @@ -117,10 +117,11 @@ 117 117 <h2 id="why-title">Why work with an XWiki specialist</h2> 118 118 <p> 119 119 XWiki projects often involve more than pages. Production platforms may include custom code, 120 - extensions, authentication, permissions, workflows, integrations and business-critical content. 151 + extensions, authentication, permissions, workflows, integrations, compliance documentation 152 + and business-critical knowledge. 121 121 </p> 122 122 <p> 123 - Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, deliverpracticalimprovements155 + Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, support long-term reliability 124 124 and leave the platform easier to maintain after the work is complete. 125 125 </p> 126 126 </div>
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -431,6 +431,80 @@ 431 431 } 432 432 } 433 433 434 +.industry-trust-section { 435 + background: 436 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 437 + 438 + .industry-trust-panel { 439 + max-width: 1040px; 440 + margin: 0 auto; 441 + padding: 30px 28px; 442 + border: 1px solid fade(@brand, 16%); 443 + border-radius: @radius; 444 + background: 445 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 446 + box-shadow: @shadow-sm; 447 + text-align: center; 448 + } 449 + 450 + h2 { 451 + margin-bottom: 12px; 452 + } 453 + 454 + .section-intro { 455 + margin-bottom: 20px; 456 + max-width: 820px; 457 + } 458 + 459 + .industry-tags { 460 + max-width: 880px; 461 + margin: 0 auto; 462 + display: flex; 463 + flex-wrap: wrap; 464 + justify-content: center; 465 + gap: 10px; 466 + } 467 + 468 + .industry-tags span { 469 + display: inline-flex; 470 + align-items: center; 471 + padding: 7px 12px; 472 + border: 1px solid fade(@brand, 20%); 473 + border-radius: 999px; 474 + background: #fff; 475 + color: @text; 476 + font-size: 13px; 477 + font-weight: 600; 478 + line-height: 1.2; 479 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 480 + } 481 + 482 + .industry-support { 483 + max-width: 820px; 484 + margin: 22px auto 0; 485 + color: @muted; 486 + font-size: 16px; 487 + line-height: 1.6; 488 + } 489 +} 490 + 491 +@media (max-width: 640px) { 492 + .industry-trust-section { 493 + .industry-trust-panel { 494 + padding: 24px 18px; 495 + } 496 + 497 + .industry-tags { 498 + gap: 8px; 499 + } 500 + 501 + .industry-tags span { 502 + font-size: 12px; 503 + padding: 6px 10px; 504 + } 505 + } 506 +} 507 + 434 434 /* ========== Services ========== */ 435 435 436 436 .services { ... ... @@ -590,31 +590,6 @@ 590 590 } 591 591 } 592 592 593 -.resource-content { 594 - order: 1; 595 -} 596 - 597 -.resource-sidebar { 598 - order: 2; 599 -} 600 - 601 -@media (max-width: 767px) { 602 - .resource-layout { 603 - display: flex; 604 - flex-direction: column; 605 - } 606 - 607 - .resource-sidebar { 608 - order: 0; 609 - position: static; 610 - width: 100%; 611 - } 612 - 613 - .resource-content { 614 - order: 1; 615 - } 616 -} 617 - 618 618 /* ========== Homepage Resource Strip ========== */ 619 619 620 620 .homepage-resource-strip { ... ... @@ -722,6 +722,50 @@ 722 722 } 723 723 } 724 724 774 +.resource-inline-cta { 775 + display: flex; 776 + align-items: center; 777 + justify-content: space-between; 778 + gap: 22px; 779 + margin: 30px 0; 780 + padding: 20px 22px; 781 + border: 1px solid fade(@brand, 22%); 782 + border-radius: @radius; 783 + background: @brand-bg; 784 + box-shadow: @shadow-sm; 785 + 786 + p { 787 + margin: 0; 788 + color: @muted; 789 + line-height: 1.55; 790 + } 791 + 792 + strong { 793 + color: @text; 794 + } 795 + 796 + .btn { 797 + flex-shrink: 0; 798 + } 799 +} 800 + 801 +@media (max-width: 767px) { 802 + .resource-inline-cta { 803 + display: block; 804 + text-align: center; 805 + 806 + p { 807 + margin-bottom: 14px; 808 + } 809 + 810 + .btn { 811 + display: inline-block; 812 + margin-left: auto; 813 + margin-right: auto; 814 + } 815 + } 816 +} 817 + 725 725 /* ========== Responsive ========== */ 726 726 727 727 @media (max-width: 980px) { ... ... @@ -844,15 +844,18 @@ 844 844 } 845 845 846 846 .resource-layout { 847 - display: grid; 848 - grid-template-columns: minmax(0, 760px) 280px; 849 - gap: 42px; 940 + display: block; 850 850 max-width: 1080px; 851 851 margin: 0 auto; 852 852 padding-top: 28px; 853 - align-items: start; 854 854 } 855 855 946 +.resource-layout::after { 947 + content: ""; 948 + display: block; 949 + clear: both; 950 +} 951 + 856 856 .resource-content { 857 857 color: @text; 858 858 font-size: 16px; ... ... @@ -900,6 +900,45 @@ 900 900 } 901 901 } 902 902 999 +.resource-note.related-resources { 1000 + p { 1001 + margin-bottom: 10px; 1002 + } 1003 + 1004 + ul { 1005 + margin: 0; 1006 + padding-left: 20px; 1007 + } 1008 + 1009 + li { 1010 + margin: 6px 0; 1011 + color: @muted; 1012 + } 1013 +} 1014 + 1015 +.resource-faq-item { 1016 + display: flow-root; 1017 + border-bottom: 1px solid @line; 1018 + padding: 12px 0; 1019 + 1020 + summary { 1021 + cursor: pointer; 1022 + font-weight: 700; 1023 + color: @text; 1024 + line-height: 1.4; 1025 + } 1026 + 1027 + summary:hover, 1028 + summary:focus { 1029 + color: @brand-strong; 1030 + } 1031 + 1032 + p { 1033 + margin: 10px 0 4px; 1034 + color: @muted; 1035 + } 1036 +} 1037 + 903 903 .resource-checklist { 904 904 margin: 18px 0 24px; 905 905 padding: 0; ... ... @@ -922,6 +922,10 @@ 922 922 } 923 923 924 924 .resource-sidebar { 1060 + float: right; 1061 + width: 280px; 1062 + margin-left: 42px; 1063 + margin-bottom: 28px; 925 925 position: sticky; 926 926 top: 96px; 927 927 border: 1px solid @line; ... ... @@ -951,8 +951,14 @@ 951 951 } 952 952 953 953 .resource-cta { 954 - margin-top: 36px; 955 - padding: 22px; 1093 + display: flex; 1094 + flex-direction: column; 1095 + align-items: center; 1096 + text-align: center; 1097 + 1098 + max-width: 820px; 1099 + margin: 42px auto 0; 1100 + padding: 28px 30px; 956 956 border: 1px solid fade(@brand, 20%); 957 957 border-radius: @radius; 958 958 background: @brand-bg; ... ... @@ -959,20 +959,43 @@ 959 959 960 960 h3 { 961 961 margin-top: 0; 1107 + margin-bottom: 10px; 962 962 } 963 963 964 964 p { 1111 + max-width: 680px; 1112 + margin-left: auto; 1113 + margin-right: auto; 965 965 color: @muted; 966 966 } 1116 + 1117 + .btn { 1118 + margin-top: 8px; 1119 + } 967 967 } 968 968 1122 +.resource-note, 1123 +.resource-checklist, 1124 +.resource-cta { 1125 + display: flow-root; 1126 +} 1127 + 1128 +@media (max-width: 767px) { 1129 + .resource-cta { 1130 + padding: 24px 20px; 1131 + } 1132 +} 1133 + 969 969 @media (max-width: 900px) { 970 970 .resource-layout { 971 - grid-template-columns: 1fr; 972 972 padding-top: 22px; 973 973 } 974 974 975 975 .resource-sidebar { 1140 + float: none; 1141 + width: 100%; 1142 + margin-left: 0; 1143 + margin-bottom: 24px; 976 976 position: static; 977 977 } 978 978 } ... ... @@ -1065,8 +1065,8 @@ 1065 1065 1066 1066 .product-layout { 1067 1067 display: grid; 1068 - grid-template-columns: 1.1fr . 9fr;1069 - grid-gap: 3 6px;1236 + grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); 1237 + grid-gap: 32px; 1070 1070 max-width: 1040px; 1071 1071 margin: 0 auto; 1072 1072 align-items: start; ... ... @@ -1074,6 +1074,7 @@ 1074 1074 1075 1075 .product-summary-card, 1076 1076 .product-info-card, 1245 +.product-feature, 1077 1077 .product-gallery-panel { 1078 1078 background: #fff; 1079 1079 border: 1px solid @line; ... ... @@ -1082,16 +1082,18 @@ 1082 1082 } 1083 1083 1084 1084 .product-summary-card { 1085 - padding: 2 6px;1254 + padding: 28px; 1086 1086 1087 1087 h2 { 1088 1088 text-align: left; 1089 1089 margin-top: 0; 1259 + margin-bottom: 14px; 1260 + line-height: 1.25; 1090 1090 } 1091 1091 1092 1092 p { 1093 1093 color: @muted; 1094 - line-height: 1.6; 1265 + line-height: 1.62; 1095 1095 } 1096 1096 1097 1097 p:last-child { ... ... @@ -1100,13 +1100,19 @@ 1100 1100 } 1101 1101 1102 1102 .product-info-card { 1103 - padding: 2 2px;1274 + padding: 24px; 1104 1104 1105 1105 h3 { 1106 1106 margin-top: 0; 1107 1107 margin-bottom: 12px; 1279 + line-height: 1.3; 1108 1108 } 1109 1109 1282 + p { 1283 + color: @muted; 1284 + line-height: 1.55; 1285 + } 1286 + 1110 1110 ul { 1111 1111 margin: 0; 1112 1112 padding-left: 20px; ... ... @@ -1119,21 +1119,26 @@ 1119 1119 } 1120 1120 } 1121 1121 1299 +.product-card-note { 1300 + margin: 0 0 14px; 1301 + color: @muted; 1302 + line-height: 1.55; 1303 +} 1304 + 1122 1122 .product-feature-grid { 1123 1123 display: grid; 1124 1124 grid-template-columns: repeat(3, minmax(0, 1fr)); 1125 - grid-gap: 18px;1308 + grid-gap: 20px; 1126 1126 max-width: 1040px; 1127 - margin: 2 2px auto 0;1310 + margin: 24px auto 0; 1128 1128 } 1129 1129 1130 1130 .product-feature { 1131 - background: #fff; 1132 - border: 1px solid @line; 1133 - border-radius: @radius; 1134 - box-shadow: @shadow-sm; 1135 - padding: 22px; 1314 + padding: 24px; 1315 + min-width: 0; 1316 + min-height: 100%; 1136 1136 1318 + .card-heading, 1137 1137 .feature-heading { 1138 1138 display: flex; 1139 1139 align-items: center; ... ... @@ -1164,10 +1164,65 @@ 1164 1164 p { 1165 1165 margin: 0; 1166 1166 color: @muted; 1167 - line-height: 1.5; 1349 + line-height: 1.52; 1168 1168 } 1169 1169 } 1170 1170 1353 +.product-gallery-caption { 1354 + max-width: 820px; 1355 + margin: 28px auto 12px; 1356 + color: @muted; 1357 + font-size: 14px; 1358 + line-height: 1.5; 1359 + text-align: center; 1360 +} 1361 + 1362 +/* Keep the default XWiki gallery behavior. 1363 + Only center it and make its corners match the product cards. */ 1364 +.gallery.xGallery { 1365 + float: none; 1366 + display: block; 1367 + margin-left: auto !important; 1368 + margin-right: auto !important; 1369 + border-radius: @radius; 1370 + overflow: hidden; 1371 +} 1372 + 1373 +.gallery.xGallery .galleria-container, 1374 +.gallery.xGallery .galleria-stage, 1375 +.gallery.xGallery img { 1376 + border-radius: @radius; 1377 +} 1378 + 1379 +.product-section-muted { 1380 + background: 1381 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1382 +} 1383 + 1384 +/* Compact process list when used inside a product card. */ 1385 +.product-summary-card .process-list { 1386 + margin-top: 16px; 1387 + 1388 + li { 1389 + padding: 13px 14px 13px 50px; 1390 + margin-bottom: 10px; 1391 + box-shadow: none; 1392 + } 1393 + 1394 + li:before { 1395 + left: 14px; 1396 + top: 14px; 1397 + width: 24px; 1398 + height: 24px; 1399 + font-size: 12px; 1400 + } 1401 + 1402 + strong { 1403 + margin-bottom: 2px; 1404 + } 1405 +} 1406 + 1407 +/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1171 1171 .product-gallery-panel { 1172 1172 max-width: 1040px; 1173 1173 margin: 20px auto 0; ... ... @@ -1200,11 +1200,6 @@ 1200 1200 justify-content: center; 1201 1201 } 1202 1202 1203 -.product-section-muted { 1204 - background: 1205 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1206 -} 1207 - 1208 1208 @media (max-width: 980px) { 1209 1209 .product-layout, 1210 1210 .product-feature-grid { ... ... @@ -1233,44 +1233,66 @@ 1233 1233 .product-gallery-panel { 1234 1234 padding: 20px; 1235 1235 } 1468 + 1469 + .product-feature { 1470 + .card-heading, 1471 + .feature-heading { 1472 + gap: 12px; 1473 + } 1474 + 1475 + .feature-icon { 1476 + width: 42px; 1477 + height: 42px; 1478 + font-size: 16px; 1479 + } 1480 + } 1481 + 1482 + .product-gallery-caption { 1483 + margin-top: 22px; 1484 + padding: 0 14px; 1485 + } 1486 + 1487 + .product-summary-card .process-list li { 1488 + padding-left: 46px; 1489 + } 1236 1236 } 1237 1237 1238 1238 /* ========== Resources Index ========== */ 1493 + 1239 1239 .resources-index-page { 1240 1240 background: #fff; 1241 1241 1242 - /* Resources index: show cards in rows of 2, center the last one if alone */ 1243 - .resources-grid { 1244 - display: grid; 1497 + .services-grid { 1245 1245 grid-template-columns: repeat(2, minmax(0, 1fr)); 1246 - justify-content: center; 1247 - align-items: stretch; 1248 1248 } 1500 +} 1249 1249 1250 - .resources-grid .resource-card { 1251 - height: 100%; 1502 +@media (max-width: 980px) { 1503 + .resources-index-page { 1504 + .services-grid { 1505 + grid-template-columns: 1fr; 1506 + } 1252 1252 } 1253 - 1254 - .resources-grid .resource-card:last-child:nth-child(odd) { 1255 - grid-column: 1 / -1; 1256 - max-width: calc(50% - 12px); 1257 - justify-self: center; 1258 - } 1259 1259 } 1260 1260 1261 -/* Keep 2 columns on tablets. Only switch to 1 column on smaller mobile screens. */ 1262 1262 @media (max-width: 767px) { 1263 1263 .resources-index-page { 1264 1264 padding: @section-padding-mobile; 1513 + } 1514 +} 1265 1265 1266 - .resources-grid{1267 - grid-template-columns: 1fr;1268 - }1516 +.resource-faq-item { 1517 + border-bottom: 1px solid @line; 1518 + padding: 12px 0; 1269 1269 1270 - .resources-grid .resource-card:last-child:nth-child(odd) { 1271 - grid-column: auto; 1272 - max-width: none; 1273 - justify-self: stretch; 1274 - } 1520 + summary { 1521 + cursor: pointer; 1522 + font-weight: 700; 1523 + color: @text; 1275 1275 } 1525 + 1526 + p { 1527 + margin: 10px 0 4px; 1528 + color: @muted; 1529 + } 1276 1276 }
- XWiki.XWikiRights[0]
-
- allow
-
... ... @@ -1,1 +1,0 @@ 1 -Allow - groups
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiAllGroup - levels
-
... ... @@ -1,1 +1,0 @@ 1 -view - users
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest