Changes for page Public Web Site
Last modified by Agnease on 2026/07/03 16:14
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,45 +2,7 @@ 2 2 #macro (displayPublicContent) 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 - <section class="hero hero-saas" id="top"> 6 - <div class="container"> 7 - <div class="hero-layout"> 8 - <div class="hero-copy"> 9 - <h1>Professional XWiki consulting <span>and engineering</span></h1> 10 10 11 - <p class="lead"> 12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care. 13 - </p> 14 - 15 - <ul class="benefits"> 16 - <li>XWiki LTS upgrades</li> 17 - <li>Maintenance and support</li> 18 - <li>Custom XWiki development</li> 19 - <li>Migrations and integrations</li> 20 - </ul> 21 - 22 - <div class="hero-actions" id="hero-cta"> 23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 24 - Book a free discussion 25 - </a> 26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 27 - </div> 28 - </div> 29 - 30 - <div class="hero-image-wrapper"> 31 - <img 32 - class="hero-image" 33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')" 34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements" 35 - width="1200" 36 - height="900" 37 - loading="eager" 38 - /> 39 - </div> 40 - </div> 41 - </div> 42 - </section> 43 -#* 44 44 <section class="hero hero-centered" aria-labelledby="hero-title"> 45 45 <div class="container hero-inner"> 46 46 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> ... ... @@ -64,7 +64,7 @@ 64 64 </div> 65 65 </div> 66 66 </section> 67 - *#29 + 68 68 <section class="trust-strip" aria-label="Agnease experience"> 69 69 <div class="container"> 70 70 <ul> ... ... @@ -149,9 +149,9 @@ 149 149 </div> 150 150 </section> 151 151 152 - <section class=" contrast-band" aria-labelledby="industry-trust-title">114 + <section class="industry-trust-section" aria-labelledby="industry-trust-title"> 153 153 <div class="container"> 154 - <div class=" contrast-panel">116 + <div class="industry-trust-panel"> 155 155 <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 156 156 157 157 <p class="section-intro"> ... ... @@ -159,7 +159,7 @@ 159 159 government institutions, transportation, software development, compliance programs and regulated environments. 160 160 </p> 161 161 162 - <div class=" contrast-tags" aria-label="Industries and environments supported">124 + <div class="industry-tags" aria-label="Industries and environments supported"> 163 163 <span>Healthcare</span> 164 164 <span>Financial services</span> 165 165 <span>Scientific research</span> ... ... @@ -170,7 +170,7 @@ 170 170 <span>Regulated environments</span> 171 171 </div> 172 172 173 - <p class=" contrast-support">135 + <p class="industry-support"> 174 174 Organizations rely on these platforms to manage documentation, workflows, compliance processes, 175 175 research knowledge and critical business information. From upgrades and authentication integrations 176 176 to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future.
- agnease-xwiki-hero.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -981.8 KB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -150,7 +150,7 @@ 150 150 151 151 /* ========== Buttons ========== */ 152 152 153 - /*.btn-primary {153 +.btn-primary { 154 154 background: @brand; 155 155 border-color: @brand; 156 156 color: #fff; ... ... @@ -162,12 +162,18 @@ 162 162 color: #fff; 163 163 } 164 164 } 165 - */165 + 166 166 .btn-secondary { 167 - color: @ text;167 + color: @brand; 168 168 background: #fff; 169 - border: 1px solid fade(@ text, 35%);169 + border: 1px solid fade(@brand, 35%); 170 170 171 + &:hover, 172 + &:focus { 173 + color: @brand-strong; 174 + border-color: @brand; 175 + background: @brand-bg; 176 + } 171 171 } 172 172 173 173 /* ========== Hero ========== */ ... ... @@ -247,109 +247,34 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */256 +/* ========== Trust Strip ========== */ 251 251 252 -.contrast-band { 253 - position: relative; 254 - width: 100vw; 255 - margin-left: calc(50% - 50vw); 256 - margin-right: calc(50% - 50vw); 257 - overflow: hidden; 258 - padding: 54px 0; 259 - background: 260 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 261 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 262 - linear-gradient(135deg, @text 0%, @text-soft 100%); 263 - color: #fff; 258 +.trust-strip { 259 + padding: 18px 0; 260 + border-top: 1px solid @line; 264 264 265 - &::before { 266 - content: ""; 267 - position: absolute; 268 - inset: 0; 269 - background: 270 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 271 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 272 - background-size: 52px 52px; 273 - opacity: .38; 274 - pointer-events: none; 275 - } 276 - 277 - .container { 278 - position: relative; 279 - z-index: 1; 280 - } 281 - 282 - .contrast-panel { 283 - max-width: 1040px; 262 + ul { 263 + max-width: 960px; 284 284 margin: 0 auto; 285 - text-align: center; 265 + padding: 0; 266 + list-style: none; 267 + display: flex; 268 + justify-content: center; 269 + gap: 22px; 270 + flex-wrap: wrap; 271 + color: @muted; 272 + font-size: 13px; 286 286 } 287 287 288 - h2 { 289 - max-width: 860px; 290 - margin: 0 auto 12px; 291 - color: #fff; 292 - } 293 - 294 - .section-intro { 295 - max-width: 840px; 296 - margin: 0 auto 26px; 297 - color: #D9E3EE; 298 - } 299 -} 300 - 301 - 302 - 303 -.contrast-tags { 304 - max-width: 940px; 305 - margin: 0 auto; 306 - display: flex; 307 - flex-wrap: wrap; 308 - justify-content: center; 309 - gap: 10px; 310 - 311 - span { 312 - display: inline-flex; 275 + li { 276 + display: flex; 313 313 align-items: center; 314 - padding: 8px 13px; 315 - border: 1px solid fade(#fff, 18%); 316 - border-radius: 999px; 317 - background: fade(#fff, 8%); 318 - color: #F8FAFC; 319 - font-size: 13px; 320 - font-weight: 700; 321 - line-height: 1.2; 322 - 323 - &::before { 324 - content: ""; 325 - width: 7px; 326 - height: 7px; 327 - margin-right: 8px; 328 - border-radius: 50%; 329 - background: @brand; 330 - box-shadow: 0 0 0 4px fade(@brand, 18%); 331 - } 278 + gap: 7px; 332 332 } 333 -} 334 334 335 -.contrast-support { 336 - max-width: 860px; 337 - margin: 30px auto 0; 338 - color: #D9E3EE; 339 - text-align: center; 340 - font-size: 15px; 341 - line-height: 1.7; 342 -} 343 - 344 -@media (max-width: 640px) { 345 - .contrast-band { 346 - padding: 40px 0; 281 + i { 282 + color: @brand; 347 347 } 348 - 349 - .contrast-tags span { 350 - font-size: 12px; 351 - padding: 8px 11px; 352 - } 353 353 } 354 354 355 355 /* ========== Reusable Grids ========== */ ... ... @@ -399,6 +399,7 @@ 399 399 .pathway-card, 400 400 .service-card, 401 401 .resource-card { 333 + background: #fff; 402 402 border: 1px solid @line; 403 403 border-radius: @radius; 404 404 box-shadow: @shadow-sm; ... ... @@ -594,6 +594,7 @@ 594 594 align-items: flex-start; 595 595 gap: 16px; 596 596 padding: 22px; 529 + background: #fff; 597 597 border: 1px solid @line; 598 598 border-radius: @radius; 599 599 box-shadow: @shadow-sm; ... ... @@ -681,6 +681,7 @@ 681 681 position: relative; 682 682 padding: 16px 16px 16px 58px; 683 683 margin-bottom: 12px; 617 + background: #fff; 684 684 border: 1px solid @line; 685 685 border-radius: @radius; 686 686 box-shadow: @shadow-sm; ... ... @@ -812,8 +812,8 @@ 812 812 813 813 /* ========== CTA ========== */ 814 814 815 - #mainContentArea.cta-section {816 - padding: 44px 0 56px;749 +.cta-section { 750 + padding: @section-padding; 817 817 818 818 .contact-inline { 819 819 margin: 0; ... ... @@ -825,70 +825,25 @@ 825 825 } 826 826 } 827 827 828 -#mainContentArea .cta-panel { 829 - position: relative; 830 - overflow: hidden; 831 - max-width: 1040px; 762 +.cta-panel { 763 + max-width: 860px; 832 832 margin: 0 auto; 833 - padding: 48px 40px; 834 - border: 0; 835 - border-radius: 26px; 836 - background: 837 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 838 - linear-gradient(135deg, @text 0%, @text-soft 100%); 839 - color: #fff; 840 - box-shadow: @shadow; 765 + padding: 32px; 766 + border-radius: @radius; 767 + border: 1px solid fade(@brand, 20%); 768 + box-shadow: @shadow-sm; 841 841 text-align: center; 842 -} 843 843 844 -#mainContentArea .cta-panel::before { 845 - content: ""; 846 - position: absolute; 847 - inset: 0; 848 - background: 849 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 850 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 851 - background-size: 48px 48px; 852 - opacity: .4; 853 - pointer-events: none; 854 -} 771 + h2 { 772 + margin-top: 0; 773 + } 855 855 856 -#mainContentArea .cta-panel h2, 857 -#mainContentArea .cta-panel p, 858 -#mainContentArea .cta-panel .btn { 859 - position: relative; 860 - z-index: 1; 775 + p { 776 + color: @muted; 777 + line-height: 1.55; 778 + } 861 861 } 862 862 863 -#mainContentArea .cta-panel h2 { 864 - max-width: 760px; 865 - margin: 0 auto 16px; 866 - color: #fff; 867 -} 868 - 869 -#mainContentArea .cta-panel p { 870 - max-width: 760px; 871 - margin: 0 auto 28px; 872 - color: #DBE4EF; 873 - font-size: 16px; 874 - line-height: 1.6; 875 -} 876 - 877 -#mainContentArea .cta-panel .btn-primary { 878 - border-color: #fff; 879 - background: #fff; 880 - color: @text; 881 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 882 -} 883 - 884 -#mainContentArea .cta-panel .btn-primary:hover, 885 -#mainContentArea .cta-panel .btn-primary:focus { 886 - border-color: #fff; 887 - background: #fff; 888 - color: @brand-strong; 889 - text-decoration: none; 890 -} 891 - 892 892 .resource-inline-cta { 893 893 display: flex; 894 894 align-items: center; ... ... @@ -1020,14 +1020,9 @@ 1020 1020 gap: 14px; 1021 1021 } 1022 1022 1023 - #mainContentArea .cta-panel { 1024 - padding: 30px 22px; 1025 - border-radius: 20px; 912 + .cta-panel { 913 + padding: 24px 20px; 1026 1026 } 1027 - 1028 - #mainContentArea .cta-panel .btn-primary { 1029 - width: 100%; 1030 - } 1031 1031 } 1032 1032 1033 1033 /* ========== Resource / Article Pages ========== */ ... ... @@ -1039,6 +1039,9 @@ 1039 1039 .resource-header { 1040 1040 padding: @section-padding; 1041 1041 border-top: none; 926 + background: 927 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 928 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 1042 1042 1043 1043 h1 { 1044 1044 margin: 0 auto 14px; ... ... @@ -1186,6 +1186,7 @@ 1186 1186 border: 1px solid @line; 1187 1187 border-radius: @radius; 1188 1188 padding: 18px; 1076 + background: #fff; 1189 1189 box-shadow: @shadow-sm; 1190 1190 1191 1191 h4 { ... ... @@ -1284,6 +1284,7 @@ 1284 1284 1285 1285 .product-card { 1286 1286 position: relative; 1175 + background: #fff; 1287 1287 border: 1px solid @line; 1288 1288 border-radius: @radius; 1289 1289 box-shadow: @shadow-sm; ... ... @@ -1433,6 +1433,7 @@ 1433 1433 .product-info-card, 1434 1434 .product-feature, 1435 1435 .product-gallery-panel { 1325 + background: #fff; 1436 1436 border: 1px solid @line; 1437 1437 border-radius: @radius; 1438 1438 box-shadow: @shadow-sm; ... ... @@ -1759,272 +1759,3 @@ 1759 1759 background: #fff !important; 1760 1760 background-image: none !important; 1761 1761 } */ 1762 - 1763 -/* ========== Main Page Hero / SaaS Layout ========== */ 1764 - 1765 -#mainContentArea .hero.hero-saas { 1766 - min-height: auto; 1767 - padding: 60px 0 34px; 1768 - display: flex; 1769 - align-items: center; 1770 - overflow: hidden; 1771 - background: transparent; 1772 -} 1773 - 1774 -#mainContentArea .hero-layout { 1775 - max-width: 1120px; 1776 - margin: 0 auto; 1777 - display: grid; 1778 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1779 - gap: 56px; 1780 - align-items: center; 1781 -} 1782 - 1783 -#mainContentArea .hero-copy { 1784 - min-width: 0; 1785 - text-align: left; 1786 -} 1787 - 1788 -#mainContentArea .hero.hero-saas h1 { 1789 - max-width: 640px; 1790 - margin: 0 0 26px; 1791 - font-size: 60px; 1792 - font-weight: 800; 1793 - line-height: 1; 1794 - letter-spacing: -3px; 1795 -} 1796 - 1797 -#mainContentArea .hero.hero-saas h1 span { 1798 - color: @brand; 1799 -} 1800 - 1801 -#mainContentArea .hero.hero-saas .lead { 1802 - max-width: 590px; 1803 - margin: 0 0 28px; 1804 - color: #334155; 1805 - text-align: left; 1806 - font-size: 18px; 1807 - line-height: 1.6; 1808 -} 1809 - 1810 -#mainContentArea .hero.hero-saas .benefits { 1811 - max-width: 620px; 1812 - margin: 0 0 30px; 1813 - padding: 0; 1814 - display: grid; 1815 - grid-template-columns: repeat(2, minmax(0, 1fr)); 1816 - gap: 10px 24px; 1817 - list-style: none; 1818 - color: #475569; 1819 - font-size: 15px; 1820 - text-align: left; 1821 -} 1822 - 1823 -#mainContentArea .hero.hero-saas .benefits li { 1824 - display: grid; 1825 - grid-template-columns: 18px minmax(0, 1fr); 1826 - column-gap: 8px; 1827 - align-items: start; 1828 - margin: 0; 1829 - line-height: 1.45; 1830 -} 1831 - 1832 -#mainContentArea .hero.hero-saas .benefits li::before { 1833 - content: "✓"; 1834 - display: block; 1835 - width: 18px; 1836 - color: @brand; 1837 - font-weight: 900; 1838 - line-height: 1.45; 1839 - text-align: left; 1840 - margin: 0; 1841 -} 1842 - 1843 -#mainContentArea .hero.hero-saas .hero-actions, 1844 -#mainContentArea .hero.hero-saas #hero-cta { 1845 - display: flex; 1846 - flex-wrap: wrap; 1847 - justify-content: flex-start; 1848 - gap: 12px; 1849 - margin-top: 0; 1850 -} 1851 - 1852 -#mainContentArea .hero-image-wrapper { 1853 - min-width: 0; 1854 - display: flex; 1855 - justify-content: center; 1856 - align-items: center; 1857 -} 1858 - 1859 -#mainContentArea .hero-image { 1860 - display: block; 1861 - width: 100%; 1862 - max-width: 620px; 1863 - height: auto; 1864 - border: 0; 1865 -} 1866 - 1867 -/* ========== Main Page Hero Responsive ========== */ 1868 - 1869 -@media (max-width: 1100px) { 1870 - #mainContentArea .hero-layout { 1871 - max-width: 760px; 1872 - grid-template-columns: 1fr; 1873 - gap: 34px; 1874 - } 1875 - 1876 - #mainContentArea .hero-copy { 1877 - order: 1; 1878 - text-align: center; 1879 - } 1880 - 1881 - #mainContentArea .hero-image-wrapper { 1882 - order: 2; 1883 - } 1884 - 1885 - #mainContentArea .hero.hero-saas h1 { 1886 - margin-left: auto; 1887 - margin-right: auto; 1888 - text-align: center; 1889 - } 1890 - 1891 - #mainContentArea .hero.hero-saas .lead { 1892 - margin-left: auto; 1893 - margin-right: auto; 1894 - text-align: center; 1895 - } 1896 - 1897 - #mainContentArea .hero.hero-saas .benefits { 1898 - margin-left: auto; 1899 - margin-right: auto; 1900 - } 1901 - 1902 - #mainContentArea .hero.hero-saas .hero-actions, 1903 - #mainContentArea .hero.hero-saas #hero-cta { 1904 - justify-content: center; 1905 - } 1906 - 1907 - #mainContentArea .hero-image { 1908 - max-width: 620px; 1909 - } 1910 -} 1911 - 1912 -@media (max-width: 640px) { 1913 - #mainContentArea .hero.hero-saas { 1914 - padding: 42px 0 28px; 1915 - } 1916 - 1917 - #mainContentArea .hero-layout { 1918 - gap: 28px; 1919 - } 1920 - 1921 - #mainContentArea .hero.hero-saas h1 { 1922 - font-size: 42px; 1923 - letter-spacing: -1.5px; 1924 - } 1925 - 1926 - #mainContentArea .hero.hero-saas .lead { 1927 - font-size: 17px; 1928 - } 1929 - 1930 - #mainContentArea .hero.hero-saas .benefits { 1931 - grid-template-columns: 1fr; 1932 - } 1933 - 1934 - #mainContentArea .hero-image { 1935 - max-width: 100%; 1936 - } 1937 -} 1938 - 1939 -/* ========== Accessibility / Contrast Improvements ========== */ 1940 - 1941 -/* Make the global background softer and less distracting. */ 1942 -body { 1943 - background: 1944 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1945 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1946 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1947 - background-attachment: scroll; 1948 -} 1949 - 1950 -/* Keep the article area readable while preserving the page background around it. */ 1951 -#mainContentArea .resource-layout { 1952 - padding: 28px; 1953 - border: 1px solid fade(@line, 85%); 1954 - border-radius: @radius; 1955 - background: rgba(255, 255, 255, .88); 1956 - box-shadow: @shadow-sm; 1957 -} 1958 - 1959 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1960 -#mainContentArea .widget, 1961 -#mainContentArea .pathway-card, 1962 -#mainContentArea .service-card, 1963 -#mainContentArea .resource-card, 1964 -#mainContentArea .services .service, 1965 -#mainContentArea .product-card, 1966 -#mainContentArea .product-feature, 1967 -#mainContentArea .product-summary-card, 1968 -#mainContentArea .product-info-card { 1969 - background: #fff; 1970 -} 1971 - 1972 -/* Make notes more readable and visually stronger. */ 1973 -#mainContentArea .resource-note { 1974 - border: 1px solid fade(@brand, 18%); 1975 - border-left: 4px solid @brand; 1976 - background: #fff; 1977 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1978 -} 1979 - 1980 -/* Keep the sidebar clearly separated from the background. */ 1981 -#mainContentArea .resource-sidebar { 1982 - background: #fff; 1983 -} 1984 - 1985 -/* Make CTA panels stand out more clearly. */ 1986 -#mainContentArea .resource-cta, 1987 -#mainContentArea .resource-inline-cta { 1988 - background: #fff; 1989 -} 1990 - 1991 -/* Improve table readability on long resource pages. */ 1992 -#mainContentArea .resource-content table { 1993 - background: #fff; 1994 -} 1995 - 1996 -#mainContentArea .resource-content table th { 1997 - color: @text; 1998 - background: #F8FAFC; 1999 -} 2000 - 2001 -#mainContentArea .resource-content table td { 2002 - color: @text-soft; 2003 -} 2004 - 2005 -/* Slightly improve paragraph/list contrast in long articles. */ 2006 -#mainContentArea .resource-content p, 2007 -#mainContentArea .resource-content li { 2008 - color: @text-soft; 2009 -} 2010 - 2011 -#mainContentArea .resource-content .resource-note p, 2012 -#mainContentArea .resource-content .resource-checklist li, 2013 -#mainContentArea .resource-content .process-list li { 2014 - color: @muted; 2015 -} 2016 - 2017 -@media (max-width: 900px) { 2018 - #mainContentArea .resource-layout { 2019 - padding: 22px; 2020 - } 2021 -} 2022 - 2023 -@media (max-width: 640px) { 2024 - #mainContentArea .resource-layout { 2025 - padding: 18px; 2026 - border-radius: 14px; 2027 - } 2028 -} 2029 - 2030 -