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)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -149,9 +149,9 @@ 149 149 </div> 150 150 </section> 151 151 152 - <section class=" industry-trust-section" aria-labelledby="industry-trust-title">152 + <section class="contrast-band" aria-labelledby="industry-trust-title"> 153 153 <div class="container"> 154 - <div class=" industry-trust-panel">154 + <div class="contrast-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=" industry-tags" aria-label="Industries and environments supported">162 + <div class="contrast-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=" industry-support">173 + <p class="contrast-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.
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -247,36 +247,129 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== TrustStrip========== */250 +/* ========== Contrast Band ========== */ 251 251 252 -.trust-strip { 253 - padding: 18px 0; 254 - border-top: 1px solid @line; 252 +.contrast-band { 253 + position: relative; 254 + z-index: 0; 255 + overflow: visible; /* allow pseudo-element to escape */ 256 + padding: 54px 0; 257 + border-top: 0; 258 + color: #fff; 255 255 256 - ul { 257 - max-width: 960px; 258 - margin: 0 auto; 259 - padding: 0; 260 - list-style: none; 261 - display: flex; 262 - justify-content: center; 263 - gap: 22px; 264 - flex-wrap: wrap; 265 - color: @muted; 266 - font-size: 13px; 267 - } 260 + /* Remove gradient from here */ 261 + background: none; 262 +} 268 268 269 - li { 270 - display: flex; 271 - align-items: center; 272 - gap: 7px; 264 +/* Full‑bleed gradient background */ 265 +.contrast-band::before { 266 + border: 2px solid red; 267 + content: ""; 268 + position: absolute; 269 + top: 0; 270 + left: 50%; 271 + width: 100vw; /* full viewport width */ 272 + height: 100%; 273 + transform: translateX(-50%); 274 + z-index: -1; 275 + 276 + background: 277 + radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 278 + radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 279 + linear-gradient(135deg, @text 0%, @text-soft 100%); 280 +} 281 + 282 +/* Grid overlay stays exactly as you had it */ 283 +.contrast-band::after { 284 + content: ""; 285 + position: absolute; 286 + inset: 0; 287 + background: 288 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 289 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 290 + background-size: 52px 52px; 291 + opacity: .38; 292 + pointer-events: none; 293 + z-index: 0; 294 +} 295 + 296 +.contrast-band .container { 297 + position: relative; 298 + z-index: 1; 299 +} 300 + 301 +/* Everything below stays unchanged */ 302 +.contrast-panel { 303 + max-width: 1040px; 304 + margin: 0 auto; 305 + text-align: center; 306 +} 307 + 308 +.contrast-band h2 { 309 + max-width: 860px; 310 + margin: 0 auto 12px; 311 + color: #fff; 312 +} 313 + 314 +.contrast-band .section-intro { 315 + max-width: 840px; 316 + margin: 0 auto 26px; 317 + color: #D9E3EE; 318 +} 319 + 320 +.contrast-tags { 321 + max-width: 940px; 322 + margin: 0 auto; 323 + display: flex; 324 + flex-wrap: wrap; 325 + justify-content: center; 326 + gap: 10px; 327 +} 328 + 329 +.contrast-tags span { 330 + display: inline-flex; 331 + align-items: center; 332 + padding: 8px 13px; 333 + border: 1px solid fade(#fff, 18%); 334 + border-radius: 999px; 335 + background: fade(#fff, 8%); 336 + color: #F8FAFC; 337 + font-size: 13px; 338 + font-weight: 700; 339 + line-height: 1.2; 340 +} 341 + 342 +.contrast-tags span::before { 343 + content: ""; 344 + width: 7px; 345 + height: 7px; 346 + margin-right: 8px; 347 + border-radius: 50%; 348 + background: @brand; 349 + box-shadow: 0 0 0 4px fade(@brand, 18%); 350 +} 351 + 352 +.contrast-support { 353 + max-width: 860px; 354 + margin: 30px auto 0; 355 + color: #D9E3EE; 356 + text-align: center; 357 + font-size: 15px; 358 + line-height: 1.7; 359 +} 360 + 361 +@media (max-width: 640px) { 362 + .contrast-band { 363 + padding: 40px 0; 273 273 } 274 274 275 - i { 276 - color: @brand; 366 + .contrast-tags span { 367 + font-size: 12px; 368 + padding: 8px 11px; 277 277 } 278 278 } 279 279 372 + 280 280 /* ========== Reusable Grids ========== */ 281 281 282 282 .card-grid, ... ... @@ -433,80 +433,6 @@ 433 433 } 434 434 } 435 435 436 -.industry-trust-section { 437 - background: 438 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 439 - 440 - .industry-trust-panel { 441 - max-width: 1040px; 442 - margin: 0 auto; 443 - padding: 30px 28px; 444 - border: 1px solid fade(@brand, 16%); 445 - border-radius: @radius; 446 - background: 447 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 448 - box-shadow: @shadow-sm; 449 - text-align: center; 450 - } 451 - 452 - h2 { 453 - margin-bottom: 12px; 454 - } 455 - 456 - .section-intro { 457 - margin-bottom: 20px; 458 - max-width: 820px; 459 - } 460 - 461 - .industry-tags { 462 - max-width: 880px; 463 - margin: 0 auto; 464 - display: flex; 465 - flex-wrap: wrap; 466 - justify-content: center; 467 - gap: 10px; 468 - } 469 - 470 - .industry-tags span { 471 - display: inline-flex; 472 - align-items: center; 473 - padding: 7px 12px; 474 - border: 1px solid fade(@brand, 20%); 475 - border-radius: 999px; 476 - background: #fff; 477 - color: @text; 478 - font-size: 13px; 479 - font-weight: 600; 480 - line-height: 1.2; 481 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 482 - } 483 - 484 - .industry-support { 485 - max-width: 820px; 486 - margin: 22px auto 0; 487 - color: @muted; 488 - font-size: 16px; 489 - line-height: 1.6; 490 - } 491 -} 492 - 493 -@media (max-width: 640px) { 494 - .industry-trust-section { 495 - .industry-trust-panel { 496 - padding: 24px 18px; 497 - } 498 - 499 - .industry-tags { 500 - gap: 8px; 501 - } 502 - 503 - .industry-tags span { 504 - font-size: 12px; 505 - padding: 6px 10px; 506 - } 507 - } 508 -} 509 - 510 510 /* ========== Services ========== */ 511 511 512 512 .services { ... ... @@ -737,7 +737,7 @@ 737 737 738 738 /* ========== CTA ========== */ 739 739 740 -.cta-section { 759 +#mainContentArea .cta-section { 741 741 padding: 44px 0 56px; 742 742 743 743 .contact-inline { ... ... @@ -748,68 +748,112 @@ 748 748 color: @brand; 749 749 } 750 750 } 770 +} 751 751 752 - .cta-panel { 753 - position: relative; 754 - overflow: hidden; 755 - max-width: 1040px; 756 - margin: 0 auto; 757 - padding: 48px 40px; 758 - border: 0; 759 - border-radius: 26px; 760 - background: 761 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 762 - linear-gradient(135deg, @text 0%, @text-soft 100%); 763 - color: #fff; 764 - box-shadow: @shadow; 765 - text-align: center; 772 +#mainContentArea .cta-panel { 773 + position: relative; 774 + overflow: hidden; 775 + max-width: 1040px; 776 + margin: 0 auto; 777 + padding: 48px 40px; 778 + border: 0; 779 + border-radius: 26px; 780 + background: 781 + radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 782 + linear-gradient(135deg, @text 0%, @text-soft 100%); 783 + color: #fff; 784 + box-shadow: @shadow; 785 + text-align: center; 786 +} 766 766 767 - &::before {768 - content: "";769 - position: absolute;770 - inset: 0;771 - background:772 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),773 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);774 - background-size: 48px 48px;775 - opacity: .4;776 - pointer-events: none;777 - }788 +#mainContentArea .cta-panel::before { 789 + content: ""; 790 + position: absolute; 791 + inset: 0; 792 + background: 793 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 794 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 795 + background-size: 48px 48px; 796 + opacity: .4; 797 + pointer-events: none; 798 +} 778 778 779 - h2,780 - p,781 - .btn {782 - position: relative;783 - z-index: 1;784 - }800 +#mainContentArea .cta-panel h2, 801 +#mainContentArea .cta-panel p, 802 +#mainContentArea .cta-panel .btn { 803 + position: relative; 804 + z-index: 1; 805 +} 785 785 786 - h2 {787 - max-width: 760px;788 - margin: 0 auto 16px;789 - color: #fff;790 - }807 +#mainContentArea .cta-panel h2 { 808 + max-width: 760px; 809 + margin: 0 auto 16px; 810 + color: #fff; 811 +} 791 791 813 +#mainContentArea .cta-panel p { 814 + max-width: 760px; 815 + margin: 0 auto 28px; 816 + color: #DBE4EF; 817 + font-size: 16px; 818 + line-height: 1.6; 819 +} 820 + 821 +#mainContentArea .cta-panel .btn-primary { 822 + border-color: #fff; 823 + background: #fff; 824 + color: @text; 825 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 826 +} 827 + 828 +#mainContentArea .cta-panel .btn-primary:hover, 829 +#mainContentArea .cta-panel .btn-primary:focus { 830 + border-color: #fff; 831 + background: #fff; 832 + color: @brand-strong; 833 + text-decoration: none; 834 +} 835 + 836 +.resource-inline-cta { 837 + display: flex; 838 + align-items: center; 839 + justify-content: space-between; 840 + gap: 22px; 841 + margin: 30px 0; 842 + padding: 20px 22px; 843 + border: 1px solid fade(@brand, 22%); 844 + border-radius: @radius; 845 + background: @brand-bg; 846 + box-shadow: @shadow-sm; 847 + 848 + p { 849 + margin: 0; 850 + color: @muted; 851 + line-height: 1.55; 852 + } 853 + 854 + strong { 855 + color: @text; 856 + } 857 + 858 + .btn { 859 + flex-shrink: 0; 860 + } 861 +} 862 + 863 +@media (max-width: 767px) { 864 + .resource-inline-cta { 865 + display: block; 866 + text-align: center; 867 + 792 792 p { 793 - max-width: 760px; 794 - margin: 0 auto 28px; 795 - color: #DBE4EF; 796 - font-size: 16px; 797 - line-height: 1.6; 869 + margin-bottom: 14px; 798 798 } 799 799 800 - .btn-primary { 801 - border-color: #fff; 802 - background: #fff; 803 - color: @text; 804 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 805 - 806 - &:hover, 807 - &:focus { 808 - border-color: #fff; 809 - background: #fff; 810 - color: @brand-strong; 811 - text-decoration: none; 812 - } 872 + .btn { 873 + display: inline-block; 874 + margin-left: auto; 875 + margin-right: auto; 813 813 } 814 814 } 815 815 } ... ... @@ -901,15 +901,13 @@ 901 901 gap: 14px; 902 902 } 903 903 904 - .cta- section {905 - .cta-panel{906 - padding:30px22px;907 - border-radius: 20px;967 + #mainContentArea .cta-panel { 968 + padding: 30px 22px; 969 + border-radius: 20px; 970 + } 908 908 909 - .btn-primary { 910 - width: 100%; 911 - } 912 - } 972 + #mainContentArea .cta-panel .btn-primary { 973 + width: 100%; 913 913 } 914 914 } 915 915 ... ... @@ -1610,38 +1610,10 @@ 1610 1610 background-attachment: fixed; 1611 1611 } 1612 1612 1613 -/* Let the body background show through the XWiki wrappers. 1614 -#mainContentArea, 1615 -.resource-page, 1616 -.resources-index-page { 1617 - background: transparent !important; 1618 - background-image: none !important; 1674 +#mainContentArea { 1675 + padding: 0; 1676 + overflow-x: hidden; 1619 1619 } 1620 -*/ 1621 -/* Remove local decorative backgrounds that compete with the global gradient. 1622 -.hero, 1623 -.hero.hero-centered, 1624 -.trust-strip, 1625 -.industry-trust-section, 1626 -.split-section, 1627 -.resource-strip, 1628 -.homepage-resource-strip, 1629 -.resource-header, 1630 -.product-section-muted, 1631 -.resources-index-page { 1632 - background: transparent !important; 1633 - background-image: none !important; 1634 -} 1635 - */ 1636 -/* Keep large panels readable, but remove their inner gradients. 1637 -.industry-trust-section .industry-trust-panel, 1638 -.cta-panel, 1639 -.resource-inline-cta, 1640 -.resource-note, 1641 -.resource-cta { 1642 - background: #fff !important; 1643 - background-image: none !important; 1644 -} */ 1645 1645 1646 1646 /* ========== Main Page Hero / SaaS Layout ========== */ 1647 1647 ... ... @@ -1819,3 +1819,86 @@ 1819 1819 } 1820 1820 } 1821 1821 1855 +/* ========== Accessibility / Contrast Improvements ========== */ 1856 + 1857 +/* Keep the article area readable while preserving the page background around it. */ 1858 +/*#mainContentArea .resource-layout { 1859 + padding: 28px; 1860 + border: 1px solid fade(@line, 85%); 1861 + border-radius: @radius; 1862 + background: rgba(255, 255, 255, .88); 1863 + box-shadow: @shadow-sm; 1864 +}*/ 1865 + 1866 +/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1867 +#mainContentArea .widget, 1868 +#mainContentArea .pathway-card, 1869 +#mainContentArea .service-card, 1870 +#mainContentArea .resource-card, 1871 +#mainContentArea .services .service, 1872 +#mainContentArea .product-card, 1873 +#mainContentArea .product-feature, 1874 +#mainContentArea .product-summary-card, 1875 +#mainContentArea .product-info-card { 1876 + background: #fff; 1877 +} 1878 + 1879 +/* Make notes more readable and visually stronger. */ 1880 +#mainContentArea .resource-note { 1881 + border: 1px solid fade(@brand, 18%); 1882 + border-left: 4px solid @brand; 1883 + background: #fff; 1884 + box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1885 +} 1886 + 1887 +/* Keep the sidebar clearly separated from the background. */ 1888 +#mainContentArea .resource-sidebar { 1889 + background: #fff; 1890 +} 1891 + 1892 +/* Make CTA panels stand out more clearly. */ 1893 +#mainContentArea .resource-cta, 1894 +#mainContentArea .resource-inline-cta { 1895 + background: #fff; 1896 +} 1897 + 1898 +/* Improve table readability on long resource pages. */ 1899 +#mainContentArea .resource-content table { 1900 + background: #fff; 1901 +} 1902 + 1903 +#mainContentArea .resource-content table th { 1904 + color: @text; 1905 + background: #F8FAFC; 1906 +} 1907 + 1908 +#mainContentArea .resource-content table td { 1909 + color: @text-soft; 1910 +} 1911 + 1912 +/* Slightly improve paragraph/list contrast in long articles. */ 1913 +#mainContentArea .resource-content p, 1914 +#mainContentArea .resource-content li { 1915 + color: @text-soft; 1916 +} 1917 + 1918 +#mainContentArea .resource-content .resource-note p, 1919 +#mainContentArea .resource-content .resource-checklist li, 1920 +#mainContentArea .resource-content .process-list li { 1921 + color: @muted; 1922 +} 1923 + 1924 +@media (max-width: 900px) { 1925 + #mainContentArea .resource-layout { 1926 + padding: 22px; 1927 + } 1928 +} 1929 + 1930 +@media (max-width: 640px) { 1931 + #mainContentArea .resource-layout { 1932 + padding: 18px; 1933 + border-radius: 14px; 1934 + } 1935 +} 1936 + 1937 +