Changes for page Public Web Site

Last modified by Alex Cotiuga on 2026/07/29 05:00

From version 29.10
edited by Alex Cotiuga
on 2026/07/03 15:33
Change comment: There is no comment for this version
To version 31.5
edited by Alex Cotiuga
on 2026/07/29 04:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -249,6 +249,7 @@
249 249   A short description is enough to define practical next steps.
250 250   </p>
251 251   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
252 + <a class="btn btn-secondary" href="$xwiki.getURL('pricing.WebHome')">View service packages</a>
252 252   </div>
253 253   </div>
254 254   </section>
XWiki.StyleSheetExtension[0]
code
... ... @@ -79,7 +79,7 @@
79 79  
80 80  .section-intro {
81 81   max-width: 760px;
82 - margin: 0 auto 22px;
82 + margin: 10px auto 22px;
83 83   text-align: center;
84 84   color: @muted;
85 85   font-size: 16px;
... ... @@ -631,7 +631,7 @@
631 631   margin-bottom: 0;
632 632   }
633 633   }
634 -
634 +
635 635   h3,
636 636   h4 {
637 637   position: relative;
... ... @@ -726,6 +726,34 @@
726 726   }
727 727  }
728 728  
729 +/* ===== Contact page side panel ===== */
730 +
731 +.contact-side-panel {
732 + padding-top: 10px;
733 +}
734 +
735 +.contact-help-panel {
736 + margin-bottom: 18px;
737 + padding: 30px 28px;
738 +}
739 +
740 +.contact-help-panel h2 {
741 + font-size: 24px;
742 +}
743 +
744 +.contact-process-list li {
745 + min-height: auto;
746 +}
747 +
748 +/* CSS for hidden field to identify requests filled by bots. */
749 +.contact-hp-wrapper {
750 + position: absolute;
751 + left: -9999px;
752 + width: 1px;
753 + height: 1px;
754 + overflow: hidden;
755 +}
756 +
729 729  /* ========== Resources ========== */
730 730  
731 731  .resource-strip {
... ... @@ -733,6 +733,7 @@
733 733  }
734 734  
735 735  .resource-card {
764 + background-color: #fff;
736 736   padding: 20px;
737 737  
738 738   h4 {
... ... @@ -828,7 +828,7 @@
828 828  /* ========== CTA ========== */
829 829  
830 830  .cta-section {
831 - padding: 44px 0 56px;
860 + border: none;
832 832  
833 833   .contact-inline {
834 834   margin: 0;
... ... @@ -866,20 +866,23 @@
866 866   pointer-events: none;
867 867   }
868 868  
869 - h2,
870 - p,
871 - .btn {
898 + > h2,
899 + > p,
900 + > form,
901 + > .hero-actions,
902 + > .cta-actions,
903 + > .reviewNotifications {
872 872   position: relative;
873 873   z-index: 1;
874 874   }
875 875  
876 - h2 {
908 + > h2 {
877 877   max-width: 760px;
878 878   margin: 0 auto 16px;
879 879   color: #fff;
880 880   }
881 881  
882 - p {
914 + > p {
883 883   max-width: 760px;
884 884   margin: 0 auto 28px;
885 885   color: #DBE4EF;
... ... @@ -927,6 +927,20 @@
927 927   }
928 928  }
929 929  
962 +/* ========== XWiki notifications inside public CTA panels ========== */
963 +
964 +#mainContentArea {
965 + .cta-panel {
966 + .reviewNotifications {
967 + position: relative;
968 + z-index: 1;
969 + max-width: 920px;
970 + margin: 22px auto 0;
971 + text-align: left;
972 + }
973 + }
974 +}
975 +
930 930  @media (max-width: 760px) {
931 931   section[id] {
932 932   scroll-margin-top: 132px;
... ... @@ -1099,7 +1099,7 @@
1099 1099  
1100 1100  .resource-note {
1101 1101   border-left: 4px solid @brand;
1102 - background: @brand-bg;
1148 + background: #fff;
1103 1103   padding: 16px 18px;
1104 1104   margin: 22px 0;
1105 1105   border-radius: 0 @radius @radius 0;
... ... @@ -1231,9 +1231,43 @@
1231 1231   }
1232 1232  }
1233 1233  
1280 +.resource-inline-cta {
1281 + display: flex;
1282 + align-items: center;
1283 + justify-content: space-between;
1284 + gap: 22px;
1285 + margin: 30px 0;
1286 + padding: 20px 22px;
1287 + border: 1px solid @line;
1288 + border-left: 4px solid @brand;
1289 + border-radius: @radius;
1290 + background: #fff;
1291 + box-shadow: @shadow-sm;
1292 +
1293 + p {
1294 + margin: 0;
1295 + color: @muted;
1296 + line-height: 1.55;
1297 + }
1298 +
1299 + strong {
1300 + display: block;
1301 + margin-bottom: 4px;
1302 + color: @text;
1303 + font-size: 17px;
1304 + line-height: 1.3;
1305 + }
1306 +
1307 + .btn {
1308 + flex-shrink: 0;
1309 + white-space: nowrap;
1310 + }
1311 +}
1312 +
1234 1234  .resource-note,
1235 1235  .resource-checklist,
1236 -.resource-cta {
1315 +.resource-cta,
1316 +.resource-inline-cta {
1237 1237   display: flow-root;
1238 1238  }
1239 1239  
... ... @@ -1243,6 +1243,22 @@
1243 1243   }
1244 1244  }
1245 1245  
1326 +@media (max-width: 767px) {
1327 + .resource-inline-cta {
1328 + display: block;
1329 +
1330 + p {
1331 + margin-bottom: 14px;
1332 + }
1333 +
1334 + .btn {
1335 + display: block;
1336 + width: 100%;
1337 + white-space: normal;
1338 + }
1339 + }
1340 +}
1341 +
1246 1246  @media (max-width: 900px) {
1247 1247   .resource-layout {
1248 1248   padding-top: 22px;
... ... @@ -1376,17 +1376,6 @@
1376 1376   }
1377 1377  }
1378 1378  
1379 -.product-card-contact {
1380 - color: @brand;
1381 - font-weight: 700;
1382 - text-decoration: underline;
1383 -
1384 - &:hover,
1385 - &:focus {
1386 - color: @brand-strong;
1387 - }
1388 -}
1389 -
1390 1390  @media (max-width: 640px) {
1391 1391   .product-card {
1392 1392   grid-template-columns: 1fr;
... ... @@ -1929,3 +1929,177 @@
1929 1929   }
1930 1930  }
1931 1931  
2017 +/* ========== Temporary marketing campaign banner ========== */
2018 +
2019 +.public-campaign-banner {
2020 + position: relative;
2021 + z-index: 20;
2022 + border: 0;
2023 + background:
2024 + radial-gradient(circle at 88% 0%, fade(@brand, 30%) 0%, transparent 32%),
2025 + linear-gradient(110deg, @text 0%, @text-soft 55%, @brand-strong 100%);
2026 + color: #fff;
2027 + box-shadow: 0 10px 26px rgba(7, 24, 45, .12);
2028 +}
2029 +
2030 +.public-campaign-inner {
2031 + min-height: 88px;
2032 + padding-top: 14px;
2033 + padding-bottom: 14px;
2034 + display: flex;
2035 + align-items: center;
2036 + justify-content: space-between;
2037 + gap: 30px;
2038 +}
2039 +
2040 +.public-campaign-copy {
2041 + min-width: 0;
2042 + display: flex;
2043 + align-items: center;
2044 + gap: 18px;
2045 +}
2046 +
2047 +.public-campaign-label {
2048 + flex-shrink: 0;
2049 + display: inline-flex;
2050 + align-items: center;
2051 + gap: 7px;
2052 + padding: 6px 10px;
2053 + border: 1px solid fade(#fff, 28%);
2054 + border-radius: 999px;
2055 + background: fade(#fff, 10%);
2056 + color: #fff;
2057 + font-size: 12px;
2058 + line-height: 1.2;
2059 + font-weight: 800;
2060 + text-transform: uppercase;
2061 + letter-spacing: .04em;
2062 +
2063 + i {
2064 + color: #fff;
2065 + }
2066 +}
2067 +
2068 +.public-campaign-message {
2069 + min-width: 0;
2070 +
2071 + strong {
2072 + display: block;
2073 + margin-bottom: 4px;
2074 + color: #fff;
2075 + font-size: 17px;
2076 + line-height: 1.3;
2077 + }
2078 +
2079 + span {
2080 + display: block;
2081 + max-width: 700px;
2082 + color: #DBE4EF;
2083 + font-size: 14px;
2084 + line-height: 1.45;
2085 + }
2086 +}
2087 +
2088 +.public-campaign-actions {
2089 + flex-shrink: 0;
2090 + display: flex;
2091 + align-items: center;
2092 + gap: 18px;
2093 +}
2094 +
2095 +.public-campaign-primary {
2096 + white-space: nowrap;
2097 + border-color: #fff;
2098 + background: #fff;
2099 + color: @text;
2100 + font-weight: 700;
2101 + box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
2102 +
2103 + &:hover,
2104 + &:focus {
2105 + border-color: #fff;
2106 + background: #fff;
2107 + color: @brand-strong;
2108 + text-decoration: none;
2109 + }
2110 +}
2111 +
2112 +.public-campaign-link {
2113 + white-space: nowrap;
2114 + color: #fff;
2115 + font-size: 14px;
2116 + font-weight: 700;
2117 + text-decoration: underline;
2118 + text-underline-offset: 3px;
2119 +
2120 + i {
2121 + margin-left: 5px;
2122 + }
2123 +
2124 + &:hover,
2125 + &:focus {
2126 + color: #fff;
2127 + text-decoration-thickness: 2px;
2128 + }
2129 +}
2130 +
2131 +@media (max-width: 980px) {
2132 + .public-campaign-inner {
2133 + align-items: flex-start;
2134 + gap: 18px;
2135 + }
2136 +
2137 + .public-campaign-copy {
2138 + align-items: flex-start;
2139 + }
2140 +
2141 + .public-campaign-actions {
2142 + flex-direction: column;
2143 + align-items: flex-end;
2144 + gap: 10px;
2145 + }
2146 +}
2147 +
2148 +@media (max-width: 760px) {
2149 + .public-campaign-inner {
2150 + display: block;
2151 + padding-top: 18px;
2152 + padding-bottom: 18px;
2153 + text-align: center;
2154 + }
2155 +
2156 + .public-campaign-copy {
2157 + display: block;
2158 + }
2159 +
2160 + .public-campaign-label {
2161 + margin-bottom: 12px;
2162 + }
2163 +
2164 + .public-campaign-message {
2165 + strong {
2166 + font-size: 16px;
2167 + }
2168 +
2169 + span {
2170 + margin: 0 auto;
2171 + }
2172 + }
2173 +
2174 + .public-campaign-actions {
2175 + margin-top: 16px;
2176 + display: flex;
2177 + flex-direction: column;
2178 + align-items: stretch;
2179 + gap: 11px;
2180 + }
2181 +
2182 + .public-campaign-primary {
2183 + width: 100%;
2184 + white-space: normal;
2185 + }
2186 +
2187 + .public-campaign-link {
2188 + white-space: normal;
2189 + }
2190 +}