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.8
edited by Alex Cotiuga
on 2026/07/29 04:42
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,178 @@
1929 1929   }
1930 1930  }
1931 1931  
2017 +/* ========== Temporary marketing campaign banner ========== */
2018 +
2019 +.public-campaign-banner {
2020 + position: relative;
2021 + margin-top: 34px;
2022 + z-index: 20;
2023 + border: 0;
2024 + background:
2025 + radial-gradient(circle at 88% 0%, fade(@brand, 30%) 0%, transparent 32%),
2026 + linear-gradient(110deg, @text 0%, @text-soft 55%, @brand-strong 100%);
2027 + color: #fff;
2028 + box-shadow: 0 10px 26px rgba(7, 24, 45, .12);
2029 +}
2030 +
2031 +.public-campaign-inner {
2032 + min-height: 88px;
2033 + padding-top: 14px;
2034 + padding-bottom: 14px;
2035 + display: flex;
2036 + align-items: center;
2037 + justify-content: space-between;
2038 + gap: 30px;
2039 +}
2040 +
2041 +.public-campaign-copy {
2042 + min-width: 0;
2043 + display: flex;
2044 + align-items: center;
2045 + gap: 18px;
2046 +}
2047 +
2048 +.public-campaign-label {
2049 + flex-shrink: 0;
2050 + display: inline-flex;
2051 + align-items: center;
2052 + gap: 7px;
2053 + padding: 6px 10px;
2054 + border: 1px solid fade(#fff, 28%);
2055 + border-radius: 999px;
2056 + background: fade(#fff, 10%);
2057 + color: #fff;
2058 + font-size: 12px;
2059 + line-height: 1.2;
2060 + font-weight: 800;
2061 + text-transform: uppercase;
2062 + letter-spacing: .04em;
2063 +
2064 + i {
2065 + color: #fff;
2066 + }
2067 +}
2068 +
2069 +.public-campaign-message {
2070 + min-width: 0;
2071 +
2072 + strong {
2073 + display: block;
2074 + margin-bottom: 4px;
2075 + color: #fff;
2076 + font-size: 17px;
2077 + line-height: 1.3;
2078 + }
2079 +
2080 + span {
2081 + display: block;
2082 + max-width: 700px;
2083 + color: #DBE4EF;
2084 + font-size: 14px;
2085 + line-height: 1.45;
2086 + }
2087 +}
2088 +
2089 +.public-campaign-actions {
2090 + flex-shrink: 0;
2091 + display: flex;
2092 + align-items: center;
2093 + gap: 18px;
2094 +}
2095 +
2096 +.public-campaign-primary {
2097 + white-space: nowrap;
2098 + border-color: #fff;
2099 + background: #fff;
2100 + color: @text;
2101 + font-weight: 700;
2102 + box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
2103 +
2104 + &:hover,
2105 + &:focus {
2106 + border-color: #fff;
2107 + background: #fff;
2108 + color: @brand-strong;
2109 + text-decoration: none;
2110 + }
2111 +}
2112 +
2113 +.public-campaign-link {
2114 + white-space: nowrap;
2115 + color: #fff;
2116 + font-size: 14px;
2117 + font-weight: 700;
2118 + text-decoration: underline;
2119 + text-underline-offset: 3px;
2120 +
2121 + i {
2122 + margin-left: 5px;
2123 + }
2124 +
2125 + &:hover,
2126 + &:focus {
2127 + color: #fff;
2128 + text-decoration-thickness: 2px;
2129 + }
2130 +}
2131 +
2132 +@media (max-width: 980px) {
2133 + .public-campaign-inner {
2134 + align-items: flex-start;
2135 + gap: 18px;
2136 + }
2137 +
2138 + .public-campaign-copy {
2139 + align-items: flex-start;
2140 + }
2141 +
2142 + .public-campaign-actions {
2143 + flex-direction: column;
2144 + align-items: flex-end;
2145 + gap: 10px;
2146 + }
2147 +}
2148 +
2149 +@media (max-width: 760px) {
2150 + .public-campaign-inner {
2151 + display: block;
2152 + padding-top: 18px;
2153 + padding-bottom: 18px;
2154 + text-align: center;
2155 + }
2156 +
2157 + .public-campaign-copy {
2158 + display: block;
2159 + }
2160 +
2161 + .public-campaign-label {
2162 + margin-bottom: 12px;
2163 + }
2164 +
2165 + .public-campaign-message {
2166 + strong {
2167 + font-size: 16px;
2168 + }
2169 +
2170 + span {
2171 + margin: 0 auto;
2172 + }
2173 + }
2174 +
2175 + .public-campaign-actions {
2176 + margin-top: 16px;
2177 + display: flex;
2178 + flex-direction: column;
2179 + align-items: stretch;
2180 + gap: 11px;
2181 + }
2182 +
2183 + .public-campaign-primary {
2184 + width: 100%;
2185 + white-space: normal;
2186 + }
2187 +
2188 + .public-campaign-link {
2189 + white-space: normal;
2190 + }
2191 +}