Changes for page Public Web Site
Last modified by Agnease on 2026/05/30 16:24
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -5,13 +5,22 @@ 5 5 6 6 <section class="hero hero-centered" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 - <h1 id="hero-title">Professional XWiki engineering and support</h1> 8 + <div class="hero-kicker"> 9 + <i class="fa fa-shield" aria-hidden="true"></i> 10 + Your trusted partner for professional XWiki services 11 + </div> 9 9 13 + <h1 id="hero-title">Reliable XWiki engineering for organizations that depend on their knowledge platform</h1> 14 + 10 10 <p class="lead"> 11 - Agnease helps organizations upgrade, maintain, secure and extend XWiki so production platforms stay stable, 12 - up-to-date and adapted to real business processes. 16 + Agnease helps companies keep XWiki secure, stable, up-to-date and adapted to real business processes. 13 13 </p> 14 14 19 + <p class="hero-support"> 20 + From LTS upgrades and maintenance to custom applications, integrations, workflows and migrations, 21 + Agnease provides focused XWiki expertise with practical delivery and long-term care. 22 + </p> 23 + 15 15 <ul class="benefits"> 16 16 <li>Safe LTS upgrades</li> 17 17 <li>Support and recovery</li> ... ... @@ -137,7 +137,7 @@ 137 137 </div> 138 138 </section> 139 139 140 - <section class="resource-strip homepage-resource-strip" aria-labelledby="resources-title">149 + <section class="resource-strip" aria-labelledby="resources-title"> 141 141 <div class="container"> 142 142 <h2 id="resources-title">Useful XWiki resources</h2> 143 143 <p class="section-intro">
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -12,9 +12,6 @@ 12 12 @shadow: 0 12px 36px rgba(0, 0, 0, .08); 13 13 @maxw: 1140px; 14 14 15 -@section-padding: 30px 0; 16 -@section-padding-mobile: 28px 0; 17 - 18 18 /* ========== Base ========== */ 19 19 20 20 #mainContentArea { ... ... @@ -34,7 +34,7 @@ 34 34 } 35 35 36 36 section { 37 - padding: @section-padding;34 + padding: 42px 0; 38 38 border-top: 1px solid @line; 39 39 40 40 &:first-of-type { ... ... @@ -233,6 +233,13 @@ 233 233 font-weight: 700; 234 234 } 235 235 233 +.hero-support { 234 + max-width: 760px; 235 + margin: 14px auto 0; 236 + color: @muted; 237 + line-height: 1.55; 238 +} 239 + 236 236 .hero-actions, 237 237 #hero-cta { 238 238 display: flex; ... ... @@ -247,6 +247,7 @@ 247 247 .trust-strip { 248 248 padding: 18px 0; 249 249 border-top: 1px solid @line; 254 + border-bottom: 1px solid @line; 250 250 background: #fff; 251 251 252 252 ul { ... ... @@ -291,7 +291,7 @@ 291 291 .services-grid { 292 292 grid-template-columns: repeat(3, minmax(0, 1fr)); 293 293 max-width: 1040px; 294 - margin-top: 2 2px;299 + margin-top: 26px; 295 295 } 296 296 297 297 .resource-grid { ... ... @@ -324,6 +324,12 @@ 324 324 border: 1px solid @line; 325 325 border-radius: @radius; 326 326 box-shadow: @shadow-sm; 332 + transition: transform .18s ease, box-shadow .18s ease; 333 + 334 + &:hover { 335 + transform: translateY(-2px); 336 + box-shadow: @shadow; 337 + } 327 327 } 328 328 329 329 /* ========== Small Widgets ========== */ ... ... @@ -439,7 +439,13 @@ 439 439 border: 1px solid @line; 440 440 border-radius: @radius; 441 441 box-shadow: @shadow-sm; 453 + transition: transform .18s ease, box-shadow .18s ease; 442 442 455 + &:hover { 456 + transform: translateY(-2px); 457 + box-shadow: @shadow; 458 + } 459 + 443 443 .service-icon { 444 444 width: 46px; 445 445 height: 46px; ... ... @@ -582,106 +582,10 @@ 582 582 } 583 583 } 584 584 585 -.resource-content { 586 - order: 1; 587 -} 588 - 589 -.resource-sidebar { 590 - order: 2; 591 -} 592 - 593 -@media (max-width: 767px) { 594 - .resource-layout { 595 - display: flex; 596 - flex-direction: column; 597 - } 598 - 599 - .resource-sidebar { 600 - order: 0; 601 - position: static; 602 - width: 100%; 603 - } 604 - 605 - .resource-content { 606 - order: 1; 607 - } 608 -} 609 - 610 -/* ========== Homepage Resource Strip ========== */ 611 - 612 -.homepage-resource-strip { 613 - background: 614 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 615 - 616 - .resource-grid { 617 - max-width: 1040px; 618 - margin: 22px auto 0; 619 - display: grid; 620 - grid-template-columns: repeat(2, minmax(0, 1fr)); 621 - grid-gap: 22px; 622 - align-items: stretch; 623 - } 624 - 625 - .resource-card { 626 - display: flex; 627 - flex-direction: column; 628 - min-width: 0; 629 - min-height: 100%; 630 - padding: 26px; 631 - } 632 - 633 - .resource-card h4 { 634 - margin: 0 0 10px; 635 - color: @text; 636 - font-size: 21px; 637 - line-height: 1.25; 638 - font-weight: 700; 639 - } 640 - 641 - .resource-card p { 642 - margin: 0 0 18px; 643 - color: @muted; 644 - font-size: 15px; 645 - line-height: 1.6; 646 - } 647 - 648 - .resource-card a { 649 - margin-top: auto; 650 - color: @brand; 651 - font-weight: 700; 652 - text-decoration: underline; 653 - 654 - &:hover, 655 - &:focus { 656 - color: @brand-strong; 657 - } 658 - } 659 -} 660 - 661 -@media (max-width: 980px) { 662 - .homepage-resource-strip { 663 - .resource-grid { 664 - grid-template-columns: 1fr; 665 - } 666 - } 667 -} 668 - 669 -@media (max-width: 640px) { 670 - .homepage-resource-strip { 671 - .resource-card { 672 - padding: 22px; 673 - } 674 - 675 - .resource-card h4 { 676 - font-size: 19px; 677 - } 678 - } 679 -} 680 - 681 681 /* ========== CTA ========== */ 682 682 683 683 .cta-section { 684 - padding: @section-padding;605 + padding: 32px 0 24px; 685 685 686 686 .contact-inline { 687 687 margin: 0; ... ... @@ -780,7 +780,7 @@ 780 780 781 781 @media (max-width: 640px) { 782 782 section { 783 - padding: @section-padding-mobile;704 + padding: 34px 0; 784 784 } 785 785 786 786 .widgets, ... ... @@ -805,21 +805,34 @@ 805 805 padding: 24px 20px; 806 806 } 807 807 } 808 - 809 809 /* ========== Resource / Article Pages ========== */ 810 810 811 811 .resource-page { 812 - padding-top: 0;732 + padding-top: 34px; 813 813 } 814 814 815 815 .resource-header { 816 - padding: @section-padding;736 + padding: 40px 0 30px; 817 817 border-top: none; 818 818 background: 819 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 820 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 739 + radial-gradient(42rem 14rem at 50% 0%, @brand-bg 0%, transparent 70%); 821 821 741 + .resource-kicker { 742 + display: inline-flex; 743 + align-items: center; 744 + gap: 8px; 745 + color: @brand; 746 + background: fade(@brand, 8%); 747 + border: 1px solid fade(@brand, 18%); 748 + border-radius: 999px; 749 + padding: 6px 12px; 750 + margin-bottom: 14px; 751 + font-size: 13px; 752 + font-weight: 700; 753 + } 754 + 822 822 h1 { 756 + max-width: 820px; 823 823 margin: 0 auto 14px; 824 824 text-align: center; 825 825 line-height: 1.18; ... ... @@ -966,11 +966,17 @@ 966 966 position: static; 967 967 } 968 968 } 969 - 970 970 /* ========== Products / Extensions Pages ========== */ 904 +.product-card-kicker { 905 + margin-bottom: 10px; 906 + padding: 5px 10px; 907 + font-size: 12px; 908 + text-transform: uppercase; 909 + letter-spacing: .04em; 910 +} 971 971 972 972 .product-index-section { 973 - padding: @section-padding;913 + padding: 52px 0 56px; 974 974 975 975 h2 { 976 976 margin-bottom: 10px; ... ... @@ -979,7 +979,7 @@ 979 979 980 980 .product-card-grid { 981 981 max-width: 840px; 982 - margin: 2 2px auto 0;922 + margin: 28px auto 0; 983 983 display: grid; 984 984 grid-template-columns: 1fr; 985 985 grid-gap: 18px; ... ... @@ -995,7 +995,13 @@ 995 995 grid-template-columns: 68px 1fr; 996 996 grid-gap: 22px; 997 997 align-items: start; 938 + transition: transform .18s ease, box-shadow .18s ease; 998 998 940 + &:hover { 941 + transform: translateY(-2px); 942 + box-shadow: @shadow; 943 + } 944 + 999 999 .product-card-icon { 1000 1000 width: 58px; 1001 1001 height: 58px; ... ... @@ -1032,14 +1032,6 @@ 1032 1032 } 1033 1033 } 1034 1034 1035 -.product-card-kicker { 1036 - margin-bottom: 10px; 1037 - padding: 5px 10px; 1038 - font-size: 12px; 1039 - text-transform: uppercase; 1040 - letter-spacing: .04em; 1041 -} 1042 - 1043 1043 .product-highlights { 1044 1044 margin: 14px 0 20px; 1045 1045 padding-left: 18px; ... ... @@ -1051,8 +1051,40 @@ 1051 1051 } 1052 1052 } 1053 1053 992 +.product-cta-section { 993 + padding: 0 0 56px; 994 + border-top: 1px solid @line; 995 +} 996 + 997 +.product-cta-panel { 998 + max-width: 860px; 999 + margin: 0 auto; 1000 + padding: 32px; 1001 + border-radius: @radius; 1002 + border: 1px solid fade(@brand, 20%); 1003 + background: 1004 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 1005 + box-shadow: @shadow-sm; 1006 + text-align: center; 1007 + 1008 + h2 { 1009 + margin-top: 0; 1010 + } 1011 + 1012 + p { 1013 + max-width: 680px; 1014 + margin: 0 auto 18px; 1015 + color: @muted; 1016 + line-height: 1.55; 1017 + } 1018 +} 1019 + 1054 1054 /* ========== Individual Product Pages ========== */ 1055 1055 1022 +.product-hero { 1023 + min-height: 330px; 1024 +} 1025 + 1056 1056 .product-layout { 1057 1057 display: grid; 1058 1058 grid-template-columns: 1.1fr .9fr; ... ... @@ -1114,7 +1114,7 @@ 1114 1114 grid-template-columns: repeat(3, minmax(0, 1fr)); 1115 1115 grid-gap: 18px; 1116 1116 max-width: 1040px; 1117 - margin: 2 2px auto 0;1087 + margin: 26px auto 0; 1118 1118 } 1119 1119 1120 1120 .product-feature { ... ... @@ -1123,7 +1123,13 @@ 1123 1123 border-radius: @radius; 1124 1124 box-shadow: @shadow-sm; 1125 1125 padding: 22px; 1096 + transition: transform .18s ease, box-shadow .18s ease; 1126 1126 1098 + &:hover { 1099 + transform: translateY(-2px); 1100 + box-shadow: @shadow; 1101 + } 1102 + 1127 1127 .feature-icon { 1128 1128 width: 46px; 1129 1129 height: 46px; ... ... @@ -1188,6 +1188,19 @@ 1188 1188 radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1189 1189 } 1190 1190 1167 +.product-use-cases { 1168 + ul { 1169 + margin: 0; 1170 + padding-left: 20px; 1171 + color: @muted; 1172 + } 1173 + 1174 + li { 1175 + margin: 8px 0; 1176 + line-height: 1.5; 1177 + } 1178 +} 1179 + 1191 1191 @media (max-width: 980px) { 1192 1192 .product-layout, 1193 1193 .product-feature-grid { ... ... @@ -1200,6 +1200,14 @@ 1200 1200 } 1201 1201 1202 1202 @media (max-width: 640px) { 1192 + .product-index-hero { 1193 + padding: 38px 0 34px; 1194 + 1195 + .page-lead { 1196 + font-size: 17px; 1197 + } 1198 + } 1199 + 1203 1203 .product-card { 1204 1204 grid-template-columns: 1fr; 1205 1205 padding: 22px; ... ... @@ -1216,143 +1216,8 @@ 1216 1216 .product-gallery-panel { 1217 1217 padding: 20px; 1218 1218 } 1219 -} 1220 1220 1221 -/* ========== Resources Index ========== */ 1222 - 1223 -.resources-index-page { 1224 - padding: @section-padding; 1225 - background: @brand-bg; 1226 - 1227 - .resources-intro { 1228 - max-width: 820px; 1229 - margin: 0 auto 32px; 1230 - text-align: center; 1231 - 1232 - p { 1233 - color: @muted; 1234 - font-size: 17px; 1235 - line-height: 1.7; 1236 - margin: 0; 1237 - } 1217 + .product-cta-panel { 1218 + padding: 24px 20px; 1238 1238 } 1239 - 1240 - .resources-grid { 1241 - display: grid; 1242 - grid-template-columns: repeat(2, minmax(0, 1fr)); 1243 - gap: 24px; 1244 - margin-bottom: 36px; 1245 - } 1246 - 1247 - .resource-card { 1248 - display: flex; 1249 - gap: 18px; 1250 - background: #fff; 1251 - border: 1px solid @line; 1252 - border-radius: @radius; 1253 - box-shadow: @shadow-sm; 1254 - padding: 24px; 1255 - } 1256 - 1257 - .resource-card-icon { 1258 - flex: 0 0 46px; 1259 - width: 46px; 1260 - height: 46px; 1261 - border-radius: 14px; 1262 - background: @brand-soft; 1263 - color: @brand-strong; 1264 - display: flex; 1265 - align-items: center; 1266 - justify-content: center; 1267 - font-size: 20px; 1268 - } 1269 - 1270 - .resource-card-label { 1271 - color: @brand-strong; 1272 - font-size: 13px; 1273 - font-weight: 700; 1274 - text-transform: uppercase; 1275 - letter-spacing: .04em; 1276 - margin-bottom: 8px; 1277 - } 1278 - 1279 - .resource-card h2 { 1280 - font-size: 22px; 1281 - line-height: 1.25; 1282 - margin: 0 0 12px; 1283 - } 1284 - 1285 - .resource-card h2 a { 1286 - color: @text; 1287 - text-decoration: none; 1288 - 1289 - &:hover { 1290 - color: @brand-strong; 1291 - text-decoration: none; 1292 - } 1293 - } 1294 - 1295 - .resource-card p { 1296 - color: @muted; 1297 - font-size: 15px; 1298 - line-height: 1.65; 1299 - margin: 0 0 16px; 1300 - } 1301 - 1302 - .resource-card-link { 1303 - color: @brand-strong; 1304 - font-weight: 700; 1305 - text-decoration: none; 1306 - 1307 - &:hover { 1308 - color: @brand; 1309 - text-decoration: none; 1310 - } 1311 - } 1312 - 1313 - .resources-next { 1314 - max-width: 820px; 1315 - margin: 0 auto 32px; 1316 - text-align: center; 1317 - 1318 - h2 { 1319 - font-size: 26px; 1320 - margin: 0 0 10px; 1321 - } 1322 - 1323 - p { 1324 - color: @muted; 1325 - font-size: 16px; 1326 - line-height: 1.7; 1327 - margin: 0; 1328 - } 1329 - } 1330 1330 } 1331 - 1332 -@media (max-width: 767px) { 1333 - .resources-index-page { 1334 - padding: @section-padding-mobile; 1335 - 1336 - .resources-intro { 1337 - text-align: left; 1338 - margin-bottom: 24px; 1339 - } 1340 - 1341 - .resources-grid { 1342 - grid-template-columns: 1fr; 1343 - gap: 18px; 1344 - } 1345 - 1346 - .resource-card { 1347 - padding: 20px; 1348 - } 1349 - 1350 - .resource-card h2 { 1351 - font-size: 20px; 1352 - } 1353 - 1354 - .resources-next { 1355 - text-align: left; 1356 - } 1357 - } 1358 -}
- XWiki.StyleSheetExtension[1]
-
- code
-
... ... @@ -1,148 +1,156 @@ 1 1 /* ========== Agnease Public Top Menu ========== */ 2 2 3 -/* Desktop alignment */ 4 -#menuview .navbar-nav { 5 - float: right !important; 6 -} 3 +@brand: #00937D; 4 +@brand-strong: #007B6A; 5 +@text: #2D3A34; 6 +@muted: #5B6B64; 7 +@line: #E4ECE9; 8 +@brand-bg: #F4FCFA; 7 7 8 8 /* Top-level menu items */ 9 9 10 -.agnease-menu-item, 11 -.agnease-menu-link { 12 - > a, 13 - > .dropdown-toggle { 14 - color: @brand; 15 - font-size: 17px; 16 - font-weight: 600; 17 - padding-left: 16px; 18 - padding-right: 16px; 19 - text-decoration: none; 12 +.agnease-services-menu, 13 +.agnease-products-menu { 14 + .dropdown-toggle { 15 + font-weight: inherit; 16 + font-size: inherit; 20 20 } 21 21 22 - > a:hover, 23 - > a:focus, 24 - > a:active, 25 - &.open > a, 26 - &.active > a { 27 - color: @brand-strong; 28 - text-decoration: none; 29 - outline: none; 30 - } 31 - 32 32 .caret { 33 - margin-left: 5px; 34 - border-top-color: @brand; 35 - border-bottom-color: @brand; 20 + margin-left: 4px; 36 36 } 37 37 38 - > a:hover.caret,39 - > a:focus.caret,40 - > a:active.caret,41 - &.open>a .caret,42 - &.active>a.caret{43 - b order-top-color:@brand-strong;44 - bo rder-bottom-color:@brand-strong;23 + &.open > .dropdown-toggle, 24 + .dropdown-toggle:hover, 25 + .dropdown-toggle:focus { 26 + color: @brand-strong; 27 + background: transparent; 28 + background-color: transparent; 29 + box-shadow: none; 45 45 } 46 46 } 47 47 48 -/* Dropdown panel*/33 +/* Keep Agnease public top-level menu visually clean when hovered/open/focused */ 49 49 50 -.agnease-dropdown { 51 - min-width: 310px; 52 - padding: 10px 8px; 53 - border: 1px solid fade(@brand, 18%); 35 +.navbar-nav > li.agnease-services-menu > a, 36 +.navbar-nav > li.agnease-products-menu > a, 37 +.navbar-nav > li.agnease-services-menu > a:hover, 38 +.navbar-nav > li.agnease-products-menu > a:hover, 39 +.navbar-nav > li.agnease-services-menu > a:focus, 40 +.navbar-nav > li.agnease-products-menu > a:focus, 41 +.navbar-nav > li.agnease-services-menu.open > a, 42 +.navbar-nav > li.agnease-products-menu.open > a, 43 +.navbar-nav > li.agnease-services-menu.open > a:hover, 44 +.navbar-nav > li.agnease-products-menu.open > a:hover, 45 +.navbar-nav > li.agnease-services-menu.open > a:focus, 46 +.navbar-nav > li.agnease-products-menu.open > a:focus { 47 + background: transparent; 48 + background-color: transparent; 49 + color: @brand-strong; 50 + box-shadow: none; 51 +} 52 + 53 +/* Dropdown panels */ 54 + 55 +.agnease-services-dropdown, 56 +.agnease-products-dropdown { 57 + min-width: 360px; 58 + padding: 10px; 59 + border: 1px solid @line; 54 54 border-radius: 12px; 55 - background: #fff; 56 - box-shadow: 0 12px 32px fade(@brand-strong, 12%); 61 + box-shadow: 0 12px 36px rgba(0, 0, 0, .10); 57 57 58 58 > li > a { 59 59 display: flex; 60 - align-items: center;65 + align-items: flex-start; 61 61 gap: 12px; 62 - padding: 11px 14px; 63 - color: @brand; 64 - white-space: nowrap; 65 - font-size: 16px; 66 - font-weight: 600; 67 - line-height: 1.3; 68 - text-decoration: none; 67 + padding: 10px 12px; 68 + border-radius: 10px; 69 + color: @text; 70 + white-space: normal; 69 69 70 - i { 71 - width: 20px; 72 - flex: 0 0 20px; 73 - color: @brand; 74 - text-align: center; 75 - font-size: 15px; 76 - } 77 - 78 78 &:hover, 79 - &:focus, 80 - &:active { 73 + &:focus { 81 81 color: @brand-strong; 75 + background: @brand-bg; 82 82 text-decoration: none; 83 - outline: none; 84 84 85 - i { 78 + .menu-icon { 86 86 color: @brand-strong; 80 + background: fade(@brand, 14%); 81 + border-color: fade(@brand, 28%); 87 87 } 88 - } 89 - } 90 90 91 - > .active > a { 92 - color: @brand-strong; 84 + strong { 85 + color: @brand-strong; 86 + } 93 93 94 - i { 95 - color: @brand-strong; 88 + small { 89 + color: @muted; 90 + } 96 96 } 97 97 } 98 98 99 99 .divider { 100 100 margin: 8px 0; 101 - background-color: fade(@brand, 16%);96 + background-color: @line; 102 102 } 103 -} 104 104 105 -/* Mobile */ 106 - 107 -@media (max-width: 767px) { 108 - .site-nav { 109 - margin-left: 0; 99 + .menu-icon { 100 + width: 34px; 101 + height: 34px; 102 + border-radius: 50%; 103 + background: fade(@brand, 8%); 104 + border: 1px solid fade(@brand, 18%); 105 + color: @brand; 106 + display: flex; 107 + align-items: center; 110 110 justify-content: center; 111 - flex-wrap: wrap; 109 + flex-shrink: 0; 110 + transition: color .15s ease, background .15s ease, border-color .15s ease; 112 112 } 113 113 114 - .agnease-menu-item, 115 - .agnease-menu-link { 116 - > a, 117 - > .dropdown-toggle { 118 - font-size: 16px; 119 - padding-top: 9px; 120 - padding-bottom: 9px; 113 + .menu-text { 114 + display: flex; 115 + flex-direction: column; 116 + line-height: 1.25; 117 + 118 + strong { 119 + color: @brand; 120 + font-size: 14px; 121 + font-weight: 600; 121 121 } 123 + 124 + small { 125 + color: @muted; 126 + font-size: 12px; 127 + margin-top: 2px; 128 + font-weight: 400; 129 + } 122 122 } 131 +} 123 123 124 - .agnease-dropdown { 133 +/* Products dropdown can be slightly narrower for now */ 134 + 135 +.agnease-products-dropdown { 136 + min-width: 340px; 137 +} 138 + 139 +/* Mobile */ 140 + 141 +@media (max-width: 767px) { 142 + .agnease-services-dropdown, 143 + .agnease-products-dropdown { 125 125 min-width: 0; 126 126 width: 100%; 127 - padding: 4px 8px 8px 18px; 128 - border: 0; 146 + padding: 6px; 129 129 border-radius: 0; 148 + border-left: 0; 149 + border-right: 0; 130 130 box-shadow: none; 131 - background: transparent; 132 132 133 133 > li > a { 134 - padding: 8px 10px; 135 - white-space: normal; 136 - font-size: 15px; 137 - 138 - i { 139 - width: 18px; 140 - flex-basis: 18px; 141 - } 153 + padding: 10px; 142 142 } 143 - 144 - .divider { 145 - margin: 5px 0; 146 - } 147 147 } 148 148 }