Changes for page Public Web Site

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

From version 10.43
edited by Agnease
on 2026/05/22 08:19
Change comment: There is no comment for this version
To version 7.14
edited by Agnease
on 2026/05/12 14:50
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,6 +329,12 @@
329 329   border: 1px solid @line;
330 330   border-radius: @radius;
331 331   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 + }
332 332  }
333 333  
334 334  /* ========== Small Widgets ========== */
... ... @@ -444,7 +444,13 @@
444 444   border: 1px solid @line;
445 445   border-radius: @radius;
446 446   box-shadow: @shadow-sm;
453 + transition: transform .18s ease, box-shadow .18s ease;
447 447  
455 + &:hover {
456 + transform: translateY(-2px);
457 + box-shadow: @shadow;
458 + }
459 +
448 448   .service-icon {
449 449   width: 46px;
450 450   height: 46px;
... ... @@ -587,102 +587,6 @@
587 587   }
588 588  }
589 589  
590 -.resource-content {
591 - order: 1;
592 -}
593 -
594 -.resource-sidebar {
595 - order: 2;
596 -}
597 -
598 -@media (max-width: 767px) {
599 - .resource-layout {
600 - display: flex;
601 - flex-direction: column;
602 - }
603 -
604 - .resource-sidebar {
605 - order: 0;
606 - position: static;
607 - width: 100%;
608 - }
609 -
610 - .resource-content {
611 - order: 1;
612 - }
613 -}
614 -
615 -/* ========== Homepage Resource Strip ========== */
616 -
617 -.homepage-resource-strip {
618 - background:
619 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
620 -
621 - .resource-grid {
622 - max-width: 1040px;
623 - margin: 26px auto 0;
624 - display: grid;
625 - grid-template-columns: repeat(2, minmax(0, 1fr));
626 - grid-gap: 22px;
627 - align-items: stretch;
628 - }
629 -
630 - .resource-card {
631 - display: flex;
632 - flex-direction: column;
633 - min-width: 0;
634 - min-height: 100%;
635 - padding: 26px;
636 - }
637 -
638 - .resource-card h4 {
639 - margin: 0 0 10px;
640 - color: @text;
641 - font-size: 21px;
642 - line-height: 1.25;
643 - font-weight: 700;
644 - }
645 -
646 - .resource-card p {
647 - margin: 0 0 18px;
648 - color: @muted;
649 - font-size: 15px;
650 - line-height: 1.6;
651 - }
652 -
653 - .resource-card a {
654 - margin-top: auto;
655 - color: @brand;
656 - font-weight: 700;
657 - text-decoration: underline;
658 -
659 - &:hover,
660 - &:focus {
661 - color: @brand-strong;
662 - }
663 - }
664 -}
665 -
666 -@media (max-width: 980px) {
667 - .homepage-resource-strip {
668 - .resource-grid {
669 - grid-template-columns: 1fr;
670 - }
671 - }
672 -}
673 -
674 -@media (max-width: 640px) {
675 - .homepage-resource-strip {
676 - .resource-card {
677 - padding: 22px;
678 - }
679 -
680 - .resource-card h4 {
681 - font-size: 19px;
682 - }
683 - }
684 -}
685 -
686 686  /* ========== CTA ========== */
687 687  
688 688  .cta-section {
... ... @@ -820,10 +820,24 @@
820 820   padding: 40px 0 30px;
821 821   border-top: none;
822 822   background:
823 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
824 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
739 + radial-gradient(42rem 14rem at 50% 0%, @brand-bg 0%, transparent 70%);
825 825  
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 +
826 826   h1 {
756 + max-width: 820px;
827 827   margin: 0 auto 14px;
828 828   text-align: center;
829 829   line-height: 1.18;
... ... @@ -970,397 +970,3 @@
970 970   position: static;
971 971   }
972 972  }
973 -/* ========== Products / Extensions Pages ========== */
974 -
975 -.product-index-section {
976 - padding: 52px 0 56px;
977 -
978 - h2 {
979 - margin-bottom: 10px;
980 - }
981 -}
982 -
983 -.product-card-grid {
984 - max-width: 840px;
985 - margin: 28px auto 0;
986 - display: grid;
987 - grid-template-columns: 1fr;
988 - grid-gap: 18px;
989 -}
990 -
991 -.product-card {
992 - background: #fff;
993 - border: 1px solid @line;
994 - border-radius: @radius;
995 - box-shadow: @shadow-sm;
996 - padding: 28px;
997 - display: grid;
998 - grid-template-columns: 68px 1fr;
999 - grid-gap: 22px;
1000 - align-items: start;
1001 -
1002 - .product-card-icon {
1003 - width: 58px;
1004 - height: 58px;
1005 - border-radius: 50%;
1006 - background: fade(@brand, 10%);
1007 - border: 1px solid fade(@brand, 20%);
1008 - color: @brand;
1009 - display: flex;
1010 - align-items: center;
1011 - justify-content: center;
1012 - font-size: 22px;
1013 - flex-shrink: 0;
1014 - }
1015 -
1016 - h3 {
1017 - margin: 0 0 10px;
1018 - color: @text;
1019 - font-size: 23px;
1020 - line-height: 1.25;
1021 - font-weight: 800;
1022 - }
1023 -
1024 - p {
1025 - color: @muted;
1026 - line-height: 1.6;
1027 - }
1028 -
1029 - .card-link {
1030 - margin: 0;
1031 -
1032 - a {
1033 - font-weight: 700;
1034 - }
1035 - }
1036 -}
1037 -
1038 -.product-card-kicker {
1039 - margin-bottom: 10px;
1040 - padding: 5px 10px;
1041 - font-size: 12px;
1042 - text-transform: uppercase;
1043 - letter-spacing: .04em;
1044 -}
1045 -
1046 -.product-highlights {
1047 - margin: 14px 0 20px;
1048 - padding-left: 18px;
1049 - color: @muted;
1050 -
1051 - li {
1052 - margin: 6px 0;
1053 - line-height: 1.45;
1054 - }
1055 -}
1056 -
1057 -/* ========== Individual Product Pages ========== */
1058 -
1059 -.product-layout {
1060 - display: grid;
1061 - grid-template-columns: 1.1fr .9fr;
1062 - grid-gap: 36px;
1063 - max-width: 1040px;
1064 - margin: 0 auto;
1065 - align-items: start;
1066 -}
1067 -
1068 -.product-summary-card,
1069 -.product-info-card,
1070 -.product-gallery-panel {
1071 - background: #fff;
1072 - border: 1px solid @line;
1073 - border-radius: @radius;
1074 - box-shadow: @shadow-sm;
1075 -}
1076 -
1077 -.product-summary-card {
1078 - padding: 26px;
1079 -
1080 - h2 {
1081 - text-align: left;
1082 - margin-top: 0;
1083 - }
1084 -
1085 - p {
1086 - color: @muted;
1087 - line-height: 1.6;
1088 - }
1089 -
1090 - p:last-child {
1091 - margin-bottom: 0;
1092 - }
1093 -}
1094 -
1095 -.product-info-card {
1096 - padding: 22px;
1097 -
1098 - h3 {
1099 - margin-top: 0;
1100 - margin-bottom: 12px;
1101 - }
1102 -
1103 - ul {
1104 - margin: 0;
1105 - padding-left: 20px;
1106 - color: @muted;
1107 - }
1108 -
1109 - li {
1110 - margin: 8px 0;
1111 - line-height: 1.45;
1112 - }
1113 -}
1114 -
1115 -.product-feature-grid {
1116 - display: grid;
1117 - grid-template-columns: repeat(3, minmax(0, 1fr));
1118 - grid-gap: 18px;
1119 - max-width: 1040px;
1120 - margin: 26px auto 0;
1121 -}
1122 -
1123 -.product-feature {
1124 - background: #fff;
1125 - border: 1px solid @line;
1126 - border-radius: @radius;
1127 - box-shadow: @shadow-sm;
1128 - padding: 22px;
1129 - transition: transform .18s ease, box-shadow .18s ease;
1130 -
1131 - &:hover {
1132 - transform: translateY(-2px);
1133 - box-shadow: @shadow;
1134 - }
1135 -
1136 - .feature-icon {
1137 - width: 46px;
1138 - height: 46px;
1139 - border-radius: 50%;
1140 - background: fade(@brand, 10%);
1141 - color: @brand;
1142 - display: flex;
1143 - align-items: center;
1144 - justify-content: center;
1145 - margin-bottom: 14px;
1146 - font-size: 18px;
1147 - }
1148 -
1149 - h3 {
1150 - margin: 0 0 8px;
1151 - color: @text;
1152 - font-size: 18px;
1153 - line-height: 1.25;
1154 - }
1155 -
1156 - p {
1157 - margin: 0;
1158 - color: @muted;
1159 - line-height: 1.5;
1160 - }
1161 -}
1162 -
1163 -.product-gallery-panel {
1164 - max-width: 1040px;
1165 - margin: 20px auto 0;
1166 - padding: 26px;
1167 -
1168 - h2 {
1169 - margin-top: 0;
1170 - text-align: center;
1171 - }
1172 -
1173 - .gallery-note {
1174 - max-width: 700px;
1175 - margin: 0 auto 18px;
1176 - color: @muted;
1177 - text-align: center;
1178 - line-height: 1.55;
1179 - }
1180 -}
1181 -
1182 -.product-gallery-placeholder {
1183 - min-height: 260px;
1184 - padding: 28px;
1185 - border: 1px dashed fade(@brand, 40%);
1186 - border-radius: @radius;
1187 - background: fade(@brand, 5%);
1188 - color: @muted;
1189 - text-align: center;
1190 - display: flex;
1191 - align-items: center;
1192 - justify-content: center;
1193 -}
1194 -
1195 -.product-section-muted {
1196 - background:
1197 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1198 -}
1199 -
1200 -@media (max-width: 980px) {
1201 - .product-layout,
1202 - .product-feature-grid {
1203 - grid-template-columns: 1fr;
1204 - }
1205 -
1206 - .product-summary-card h2 {
1207 - text-align: center;
1208 - }
1209 -}
1210 -
1211 -@media (max-width: 640px) {
1212 - .product-card {
1213 - grid-template-columns: 1fr;
1214 - padding: 22px;
1215 - text-align: left;
1216 -
1217 - .product-card-icon {
1218 - margin-bottom: 2px;
1219 - }
1220 - }
1221 -
1222 - .product-summary-card,
1223 - .product-info-card,
1224 - .product-feature,
1225 - .product-gallery-panel {
1226 - padding: 20px;
1227 - }
1228 -}
1229 -/* ========== Resources Index ========== */
1230 -
1231 -.resources-index-page {
1232 - padding: 56px 0 72px;
1233 - background: @brand-bg;
1234 -}
1235 -
1236 -.resources-intro {
1237 - max-width: 820px;
1238 - margin: 0 auto 32px;
1239 - text-align: center;
1240 -}
1241 -
1242 -.resources-intro p {
1243 - color: @muted;
1244 - font-size: 17px;
1245 - line-height: 1.7;
1246 - margin: 0;
1247 -}
1248 -
1249 -.resources-grid {
1250 - display: grid;
1251 - grid-template-columns: repeat(2, minmax(0, 1fr));
1252 - gap: 24px;
1253 - margin-bottom: 36px;
1254 -}
1255 -
1256 -.resource-card {
1257 - display: flex;
1258 - gap: 18px;
1259 - background: #fff;
1260 - border: 1px solid @line;
1261 - border-radius: @radius;
1262 - box-shadow: @shadow-sm;
1263 - padding: 24px;
1264 -}
1265 -
1266 -.resource-card-icon {
1267 - flex: 0 0 46px;
1268 - width: 46px;
1269 - height: 46px;
1270 - border-radius: 14px;
1271 - background: @brand-soft;
1272 - color: @brand-strong;
1273 - display: flex;
1274 - align-items: center;
1275 - justify-content: center;
1276 - font-size: 20px;
1277 -}
1278 -
1279 -.resource-card-label {
1280 - color: @brand-strong;
1281 - font-size: 13px;
1282 - font-weight: 700;
1283 - text-transform: uppercase;
1284 - letter-spacing: .04em;
1285 - margin-bottom: 8px;
1286 -}
1287 -
1288 -.resource-card h2 {
1289 - font-size: 22px;
1290 - line-height: 1.25;
1291 - margin: 0 0 12px;
1292 -}
1293 -
1294 -.resource-card h2 a {
1295 - color: @text;
1296 - text-decoration: none;
1297 -}
1298 -
1299 -.resource-card h2 a:hover {
1300 - color: @brand-strong;
1301 - text-decoration: none;
1302 -}
1303 -
1304 -.resource-card p {
1305 - color: @muted;
1306 - font-size: 15px;
1307 - line-height: 1.65;
1308 - margin: 0 0 16px;
1309 -}
1310 -
1311 -.resource-card-link {
1312 - color: @brand-strong;
1313 - font-weight: 700;
1314 - text-decoration: none;
1315 -}
1316 -
1317 -.resource-card-link:hover {
1318 - color: @brand;
1319 - text-decoration: none;
1320 -}
1321 -
1322 -.resources-next {
1323 - max-width: 820px;
1324 - margin: 0 auto 32px;
1325 - text-align: center;
1326 -}
1327 -
1328 -.resources-next h2 {
1329 - font-size: 26px;
1330 - margin: 0 0 10px;
1331 -}
1332 -
1333 -.resources-next p {
1334 - color: @muted;
1335 - font-size: 16px;
1336 - line-height: 1.7;
1337 - margin: 0;
1338 -}
1339 -
1340 -@media (max-width: 767px) {
1341 - .resources-index-page {
1342 - padding: 36px 0 52px;
1343 - }
1344 -
1345 - .resources-intro {
1346 - text-align: left;
1347 - margin-bottom: 24px;
1348 - }
1349 -
1350 - .resources-grid {
1351 - grid-template-columns: 1fr;
1352 - gap: 18px;
1353 - }
1354 -
1355 - .resource-card {
1356 - padding: 20px;
1357 - }
1358 -
1359 - .resource-card h2 {
1360 - font-size: 20px;
1361 - }
1362 -
1363 - .resources-next {
1364 - text-align: left;
1365 - }
1366 -}
XWiki.StyleSheetExtension[1]
code
... ... @@ -1,148 +1,129 @@
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 -/* Top-level menu items */
10 +.agnease-services-menu {
11 + .dropdown-toggle {
12 + font-weight: inherit;
13 + font-size: inherit;
14 + }
9 9  
10 -.agnease-menu-item,
11 -.agnease-menu-link {
12 - > a,
13 - > .dropdown-toggle {
16 + &.open > .dropdown-toggle,
17 + .dropdown-toggle:hover,
18 + .dropdown-toggle:focus {
14 14   color: @brand;
15 - font-size: 17px;
16 - font-weight: 600;
17 - padding-left: 16px;
18 - padding-right: 16px;
19 - text-decoration: none;
20 + background: transparent;
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;
24 + margin-left: 4px;
36 36   }
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;
45 - }
46 46  }
47 47  
48 -/* Dropdown panel */
49 -
50 -.agnease-dropdown {
51 - min-width: 310px;
52 - padding: 10px 8px;
53 - border: 1px solid fade(@brand, 18%);
28 +.agnease-services-dropdown {
29 + min-width: 360px;
30 + padding: 10px;
31 + border: 1px solid @line;
54 54   border-radius: 12px;
55 - background: #fff;
56 - box-shadow: 0 12px 32px fade(@brand-strong, 12%);
33 + box-shadow: 0 12px 36px rgba(0, 0, 0, .10);
57 57  
58 58   > li > a {
59 59   display: flex;
60 - align-items: center;
37 + 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;
39 + padding: 10px 12px;
40 + border-radius: 10px;
41 + color: @text;
42 + 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 {
45 + &:focus {
81 81   color: @brand-strong;
47 + background: @brand-bg;
82 82   text-decoration: none;
83 - outline: none;
84 84  
85 - i {
50 + .menu-icon {
86 86   color: @brand-strong;
52 + background: fade(@brand, 14%);
53 + border-color: fade(@brand, 28%);
87 87   }
88 - }
89 - }
90 90  
91 - > .active > a {
92 - color: @brand-strong;
56 + strong {
57 + color: @brand-strong;
58 + }
93 93  
94 - i {
95 - color: @brand-strong;
60 + small {
61 + color: @muted;
62 + }
96 96   }
97 97   }
98 98  
99 99   .divider {
100 100   margin: 8px 0;
101 - background-color: fade(@brand, 16%);
68 + background-color: @line;
102 102   }
103 -}
104 104  
105 -/* Mobile */
106 -
107 -@media (max-width: 767px) {
108 - .site-nav {
109 - margin-left: 0;
71 + .menu-icon {
72 + width: 34px;
73 + height: 34px;
74 + border-radius: 50%;
75 + background: fade(@brand, 8%);
76 + border: 1px solid fade(@brand, 18%);
77 + color: @brand;
78 + display: flex;
79 + align-items: center;
110 110   justify-content: center;
111 - flex-wrap: wrap;
81 + flex-shrink: 0;
82 + 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;
85 + .menu-text {
86 + display: flex;
87 + flex-direction: column;
88 + line-height: 1.25;
89 +
90 + strong {
91 + color: @brand;
92 + font-size: 14px;
93 + font-weight: 600;
121 121   }
95 +
96 + small {
97 + color: @muted;
98 + font-size: 12px;
99 + margin-top: 2px;
100 + font-weight: 400;
101 + }
122 122   }
103 +}
123 123  
124 - .agnease-dropdown {
105 +@media (max-width: 767px) {
106 + .agnease-services-dropdown {
125 125   min-width: 0;
126 126   width: 100%;
127 - padding: 4px 8px 8px 18px;
128 - border: 0;
109 + padding: 6px;
129 129   border-radius: 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 - }
114 + padding: 10px;
142 142   }
143 -
144 - .divider {
145 - margin: 5px 0;
146 - }
147 147   }
148 148  }
118 +/* Keep the top-level Services menu visually clean when hovered/open/focused */
119 +.navbar-nav > li.agnease-services-menu > a,
120 +.navbar-nav > li.agnease-services-menu > a:hover,
121 +.navbar-nav > li.agnease-services-menu > a:focus,
122 +.navbar-nav > li.agnease-services-menu.open > a,
123 +.navbar-nav > li.agnease-services-menu.open > a:hover,
124 +.navbar-nav > li.agnease-services-menu.open > a:focus {
125 + background: transparent;
126 + background-color: transparent;
127 + color: @brand-strong;
128 + box-shadow: none;
129 +}