Changes for page Public Web Site

Last modified by Agnease on 2026/05/30 16:24

From version 10.40
edited by Agnease
on 2026/05/22 08:17
Change comment: There is no comment for this version
To version 7.15
edited by Agnease
on 2026/05/12 19:55
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -146,7 +146,7 @@
146 146   </div>
147 147   </section>
148 148  
149 - <section class="resource-strip homepage-resource-strip" aria-labelledby="resources-title">
149 + <section class="resource-strip" aria-labelledby="resources-title">
150 150   <div class="container">
151 151   <h2 id="resources-title">Useful XWiki resources</h2>
152 152   <p class="section-intro">
XWiki.StyleSheetExtension[0]
code
... ... @@ -329,10 +329,11 @@
329 329   border: 1px solid @line;
330 330   border-radius: @radius;
331 331   box-shadow: @shadow-sm;
332 - transition: box-shadow .18s ease;
332 + transition: transform .18s ease, box-shadow .18s ease;
333 333  
334 334   &:hover {
335 - box-shadow: @shadow-sm;
335 + transform: translateY(-2px);
336 + box-shadow: @shadow;
336 336   }
337 337  }
338 338  
... ... @@ -598,102 +598,6 @@
598 598   }
599 599  }
600 600  
601 -.resource-content {
602 - order: 1;
603 -}
604 -
605 -.resource-sidebar {
606 - order: 2;
607 -}
608 -
609 -@media (max-width: 767px) {
610 - .resource-layout {
611 - display: flex;
612 - flex-direction: column;
613 - }
614 -
615 - .resource-sidebar {
616 - order: 0;
617 - position: static;
618 - width: 100%;
619 - }
620 -
621 - .resource-content {
622 - order: 1;
623 - }
624 -}
625 -
626 -/* ========== Homepage Resource Strip ========== */
627 -
628 -.homepage-resource-strip {
629 - background:
630 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
631 -
632 - .resource-grid {
633 - max-width: 1040px;
634 - margin: 26px auto 0;
635 - display: grid;
636 - grid-template-columns: repeat(2, minmax(0, 1fr));
637 - grid-gap: 22px;
638 - align-items: stretch;
639 - }
640 -
641 - .resource-card {
642 - display: flex;
643 - flex-direction: column;
644 - min-width: 0;
645 - min-height: 100%;
646 - padding: 26px;
647 - }
648 -
649 - .resource-card h4 {
650 - margin: 0 0 10px;
651 - color: @text;
652 - font-size: 21px;
653 - line-height: 1.25;
654 - font-weight: 700;
655 - }
656 -
657 - .resource-card p {
658 - margin: 0 0 18px;
659 - color: @muted;
660 - font-size: 15px;
661 - line-height: 1.6;
662 - }
663 -
664 - .resource-card a {
665 - margin-top: auto;
666 - color: @brand;
667 - font-weight: 700;
668 - text-decoration: underline;
669 -
670 - &:hover,
671 - &:focus {
672 - color: @brand-strong;
673 - }
674 - }
675 -}
676 -
677 -@media (max-width: 980px) {
678 - .homepage-resource-strip {
679 - .resource-grid {
680 - grid-template-columns: 1fr;
681 - }
682 - }
683 -}
684 -
685 -@media (max-width: 640px) {
686 - .homepage-resource-strip {
687 - .resource-card {
688 - padding: 22px;
689 - }
690 -
691 - .resource-card h4 {
692 - font-size: 19px;
693 - }
694 - }
695 -}
696 -
697 697  /* ========== CTA ========== */
698 698  
699 699  .cta-section {
... ... @@ -831,10 +831,24 @@
831 831   padding: 40px 0 30px;
832 832   border-top: none;
833 833   background:
834 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
835 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
739 + radial-gradient(42rem 14rem at 50% 0%, @brand-bg 0%, transparent 70%);
836 836  
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 +
837 837   h1 {
756 + max-width: 820px;
838 838   margin: 0 auto 14px;
839 839   text-align: center;
840 840   line-height: 1.18;
... ... @@ -981,403 +981,3 @@
981 981   position: static;
982 982   }
983 983  }
984 -/* ========== Products / Extensions Pages ========== */
985 -
986 -.product-index-section {
987 - padding: 52px 0 56px;
988 -
989 - h2 {
990 - margin-bottom: 10px;
991 - }
992 -}
993 -
994 -.product-card-grid {
995 - max-width: 840px;
996 - margin: 28px auto 0;
997 - display: grid;
998 - grid-template-columns: 1fr;
999 - grid-gap: 18px;
1000 -}
1001 -
1002 -.product-card {
1003 - background: #fff;
1004 - border: 1px solid @line;
1005 - border-radius: @radius;
1006 - box-shadow: @shadow-sm;
1007 - padding: 28px;
1008 - display: grid;
1009 - grid-template-columns: 68px 1fr;
1010 - grid-gap: 22px;
1011 - align-items: start;
1012 - transition: transform .18s ease, box-shadow .18s ease;
1013 -
1014 - &:hover {
1015 - transform: translateY(-2px);
1016 - box-shadow: @shadow;
1017 - }
1018 -
1019 - .product-card-icon {
1020 - width: 58px;
1021 - height: 58px;
1022 - border-radius: 50%;
1023 - background: fade(@brand, 10%);
1024 - border: 1px solid fade(@brand, 20%);
1025 - color: @brand;
1026 - display: flex;
1027 - align-items: center;
1028 - justify-content: center;
1029 - font-size: 22px;
1030 - flex-shrink: 0;
1031 - }
1032 -
1033 - h3 {
1034 - margin: 0 0 10px;
1035 - color: @text;
1036 - font-size: 23px;
1037 - line-height: 1.25;
1038 - font-weight: 800;
1039 - }
1040 -
1041 - p {
1042 - color: @muted;
1043 - line-height: 1.6;
1044 - }
1045 -
1046 - .card-link {
1047 - margin: 0;
1048 -
1049 - a {
1050 - font-weight: 700;
1051 - }
1052 - }
1053 -}
1054 -
1055 -.product-card-kicker {
1056 - margin-bottom: 10px;
1057 - padding: 5px 10px;
1058 - font-size: 12px;
1059 - text-transform: uppercase;
1060 - letter-spacing: .04em;
1061 -}
1062 -
1063 -.product-highlights {
1064 - margin: 14px 0 20px;
1065 - padding-left: 18px;
1066 - color: @muted;
1067 -
1068 - li {
1069 - margin: 6px 0;
1070 - line-height: 1.45;
1071 - }
1072 -}
1073 -
1074 -/* ========== Individual Product Pages ========== */
1075 -
1076 -.product-layout {
1077 - display: grid;
1078 - grid-template-columns: 1.1fr .9fr;
1079 - grid-gap: 36px;
1080 - max-width: 1040px;
1081 - margin: 0 auto;
1082 - align-items: start;
1083 -}
1084 -
1085 -.product-summary-card,
1086 -.product-info-card,
1087 -.product-gallery-panel {
1088 - background: #fff;
1089 - border: 1px solid @line;
1090 - border-radius: @radius;
1091 - box-shadow: @shadow-sm;
1092 -}
1093 -
1094 -.product-summary-card {
1095 - padding: 26px;
1096 -
1097 - h2 {
1098 - text-align: left;
1099 - margin-top: 0;
1100 - }
1101 -
1102 - p {
1103 - color: @muted;
1104 - line-height: 1.6;
1105 - }
1106 -
1107 - p:last-child {
1108 - margin-bottom: 0;
1109 - }
1110 -}
1111 -
1112 -.product-info-card {
1113 - padding: 22px;
1114 -
1115 - h3 {
1116 - margin-top: 0;
1117 - margin-bottom: 12px;
1118 - }
1119 -
1120 - ul {
1121 - margin: 0;
1122 - padding-left: 20px;
1123 - color: @muted;
1124 - }
1125 -
1126 - li {
1127 - margin: 8px 0;
1128 - line-height: 1.45;
1129 - }
1130 -}
1131 -
1132 -.product-feature-grid {
1133 - display: grid;
1134 - grid-template-columns: repeat(3, minmax(0, 1fr));
1135 - grid-gap: 18px;
1136 - max-width: 1040px;
1137 - margin: 26px auto 0;
1138 -}
1139 -
1140 -.product-feature {
1141 - background: #fff;
1142 - border: 1px solid @line;
1143 - border-radius: @radius;
1144 - box-shadow: @shadow-sm;
1145 - padding: 22px;
1146 - transition: transform .18s ease, box-shadow .18s ease;
1147 -
1148 - &:hover {
1149 - transform: translateY(-2px);
1150 - box-shadow: @shadow;
1151 - }
1152 -
1153 - .feature-icon {
1154 - width: 46px;
1155 - height: 46px;
1156 - border-radius: 50%;
1157 - background: fade(@brand, 10%);
1158 - color: @brand;
1159 - display: flex;
1160 - align-items: center;
1161 - justify-content: center;
1162 - margin-bottom: 14px;
1163 - font-size: 18px;
1164 - }
1165 -
1166 - h3 {
1167 - margin: 0 0 8px;
1168 - color: @text;
1169 - font-size: 18px;
1170 - line-height: 1.25;
1171 - }
1172 -
1173 - p {
1174 - margin: 0;
1175 - color: @muted;
1176 - line-height: 1.5;
1177 - }
1178 -}
1179 -
1180 -.product-gallery-panel {
1181 - max-width: 1040px;
1182 - margin: 20px auto 0;
1183 - padding: 26px;
1184 -
1185 - h2 {
1186 - margin-top: 0;
1187 - text-align: center;
1188 - }
1189 -
1190 - .gallery-note {
1191 - max-width: 700px;
1192 - margin: 0 auto 18px;
1193 - color: @muted;
1194 - text-align: center;
1195 - line-height: 1.55;
1196 - }
1197 -}
1198 -
1199 -.product-gallery-placeholder {
1200 - min-height: 260px;
1201 - padding: 28px;
1202 - border: 1px dashed fade(@brand, 40%);
1203 - border-radius: @radius;
1204 - background: fade(@brand, 5%);
1205 - color: @muted;
1206 - text-align: center;
1207 - display: flex;
1208 - align-items: center;
1209 - justify-content: center;
1210 -}
1211 -
1212 -.product-section-muted {
1213 - background:
1214 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1215 -}
1216 -
1217 -@media (max-width: 980px) {
1218 - .product-layout,
1219 - .product-feature-grid {
1220 - grid-template-columns: 1fr;
1221 - }
1222 -
1223 - .product-summary-card h2 {
1224 - text-align: center;
1225 - }
1226 -}
1227 -
1228 -@media (max-width: 640px) {
1229 - .product-card {
1230 - grid-template-columns: 1fr;
1231 - padding: 22px;
1232 - text-align: left;
1233 -
1234 - .product-card-icon {
1235 - margin-bottom: 2px;
1236 - }
1237 - }
1238 -
1239 - .product-summary-card,
1240 - .product-info-card,
1241 - .product-feature,
1242 - .product-gallery-panel {
1243 - padding: 20px;
1244 - }
1245 -}
1246 -/* ========== Resources Index ========== */
1247 -
1248 -.resources-index-page {
1249 - padding: 56px 0 72px;
1250 - background: @brand-bg;
1251 -}
1252 -
1253 -.resources-intro {
1254 - max-width: 820px;
1255 - margin: 0 auto 32px;
1256 - text-align: center;
1257 -}
1258 -
1259 -.resources-intro p {
1260 - color: @muted;
1261 - font-size: 17px;
1262 - line-height: 1.7;
1263 - margin: 0;
1264 -}
1265 -
1266 -.resources-grid {
1267 - display: grid;
1268 - grid-template-columns: repeat(2, minmax(0, 1fr));
1269 - gap: 24px;
1270 - margin-bottom: 36px;
1271 -}
1272 -
1273 -.resource-card {
1274 - display: flex;
1275 - gap: 18px;
1276 - background: #fff;
1277 - border: 1px solid @line;
1278 - border-radius: @radius;
1279 - box-shadow: @shadow-sm;
1280 - padding: 24px;
1281 -}
1282 -
1283 -.resource-card-icon {
1284 - flex: 0 0 46px;
1285 - width: 46px;
1286 - height: 46px;
1287 - border-radius: 14px;
1288 - background: @brand-soft;
1289 - color: @brand-strong;
1290 - display: flex;
1291 - align-items: center;
1292 - justify-content: center;
1293 - font-size: 20px;
1294 -}
1295 -
1296 -.resource-card-label {
1297 - color: @brand-strong;
1298 - font-size: 13px;
1299 - font-weight: 700;
1300 - text-transform: uppercase;
1301 - letter-spacing: .04em;
1302 - margin-bottom: 8px;
1303 -}
1304 -
1305 -.resource-card h2 {
1306 - font-size: 22px;
1307 - line-height: 1.25;
1308 - margin: 0 0 12px;
1309 -}
1310 -
1311 -.resource-card h2 a {
1312 - color: @text;
1313 - text-decoration: none;
1314 -}
1315 -
1316 -.resource-card h2 a:hover {
1317 - color: @brand-strong;
1318 - text-decoration: none;
1319 -}
1320 -
1321 -.resource-card p {
1322 - color: @muted;
1323 - font-size: 15px;
1324 - line-height: 1.65;
1325 - margin: 0 0 16px;
1326 -}
1327 -
1328 -.resource-card-link {
1329 - color: @brand-strong;
1330 - font-weight: 700;
1331 - text-decoration: none;
1332 -}
1333 -
1334 -.resource-card-link:hover {
1335 - color: @brand;
1336 - text-decoration: none;
1337 -}
1338 -
1339 -.resources-next {
1340 - max-width: 820px;
1341 - margin: 0 auto 32px;
1342 - text-align: center;
1343 -}
1344 -
1345 -.resources-next h2 {
1346 - font-size: 26px;
1347 - margin: 0 0 10px;
1348 -}
1349 -
1350 -.resources-next p {
1351 - color: @muted;
1352 - font-size: 16px;
1353 - line-height: 1.7;
1354 - margin: 0;
1355 -}
1356 -
1357 -@media (max-width: 767px) {
1358 - .resources-index-page {
1359 - padding: 36px 0 52px;
1360 - }
1361 -
1362 - .resources-intro {
1363 - text-align: left;
1364 - margin-bottom: 24px;
1365 - }
1366 -
1367 - .resources-grid {
1368 - grid-template-columns: 1fr;
1369 - gap: 18px;
1370 - }
1371 -
1372 - .resource-card {
1373 - padding: 20px;
1374 - }
1375 -
1376 - .resource-card h2 {
1377 - font-size: 20px;
1378 - }
1379 -
1380 - .resources-next {
1381 - text-align: left;
1382 - }
1383 -}
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 - border-top-color: @brand-strong;
44 - border-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  }