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
-
... ... @@ -3,43 +3,43 @@ 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 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>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>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 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>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 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> 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> 28 28 </div> 28 + </div> 29 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> 30 + <div class="hero-image-wrapper"> 31 + <img 32 + class="hero-image" 33 + src="$doc.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 + /> 40 40 </div> 41 41 </div> 42 - </section> 41 + </div> 42 + </section> 43 43 #* 44 44 <section class="hero hero-centered" aria-labelledby="hero-title"> 45 45 <div class="container hero-inner">
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -738,7 +738,7 @@ 738 738 /* ========== CTA ========== */ 739 739 740 740 .cta-section { 741 - padding: 44px 0 56px;741 + padding: @section-padding; 742 742 743 743 .contact-inline { 744 744 margin: 0; ... ... @@ -748,68 +748,67 @@ 748 748 color: @brand; 749 749 } 750 750 } 751 +} 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; 753 +.cta-panel { 754 + max-width: 860px; 755 + margin: 0 auto; 756 + padding: 32px; 757 + border-radius: @radius; 758 + border: 1px solid fade(@brand, 20%); 759 + box-shadow: @shadow-sm; 760 + text-align: center; 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 - } 762 + h2 { 763 + margin-top: 0; 764 + } 778 778 779 - h2, 780 - p, 781 - .btn { 782 - position: relative; 783 - z-index: 1; 784 - } 766 + p { 767 + color: @muted; 768 + line-height: 1.55; 769 + } 770 +} 785 785 786 - h2 { 787 - max-width: 760px; 788 - margin: 0 auto 16px; 789 - color: #fff; 790 - } 772 +.resource-inline-cta { 773 + display: flex; 774 + align-items: center; 775 + justify-content: space-between; 776 + gap: 22px; 777 + margin: 30px 0; 778 + padding: 20px 22px; 779 + border: 1px solid fade(@brand, 22%); 780 + border-radius: @radius; 781 + background: @brand-bg; 782 + box-shadow: @shadow-sm; 791 791 784 + p { 785 + margin: 0; 786 + color: @muted; 787 + line-height: 1.55; 788 + } 789 + 790 + strong { 791 + color: @text; 792 + } 793 + 794 + .btn { 795 + flex-shrink: 0; 796 + } 797 +} 798 + 799 +@media (max-width: 767px) { 800 + .resource-inline-cta { 801 + display: block; 802 + text-align: center; 803 + 792 792 p { 793 - max-width: 760px; 794 - margin: 0 auto 28px; 795 - color: #DBE4EF; 796 - font-size: 16px; 797 - line-height: 1.6; 805 + 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 - } 808 + .btn { 809 + display: inline-block; 810 + margin-left: auto; 811 + margin-right: auto; 813 813 } 814 814 } 815 815 } ... ... @@ -901,15 +901,8 @@ 901 901 gap: 14px; 902 902 } 903 903 904 - .cta-section { 905 - .cta-panel { 906 - padding: 30px 22px; 907 - border-radius: 20px; 908 - 909 - .btn-primary { 910 - width: 100%; 911 - } 912 - } 903 + .cta-panel { 904 + padding: 24px 20px; 913 913 } 914 914 } 915 915 ... ... @@ -1643,8 +1643,8 @@ 1643 1643 background-image: none !important; 1644 1644 } */ 1645 1645 1646 -/* ========== Main Page Hero / SaaS Layout ========== */ 1647 1647 1639 +/* ========== Hero ========== */ 1648 1648 #mainContentArea .hero.hero-saas { 1649 1649 min-height: auto; 1650 1650 padding: 60px 0 34px; ... ... @@ -1653,21 +1653,18 @@ 1653 1653 overflow: hidden; 1654 1654 background: transparent; 1655 1655 } 1656 - 1657 1657 #mainContentArea .hero-layout { 1658 1658 max-width: 1120px; 1659 1659 margin: 0 auto; 1660 1660 display: grid; 1661 - grid-template-columns: minmax(0, . 9fr) minmax(0, 1.1fr);1652 + grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); 1662 1662 gap: 56px; 1663 1663 align-items: center; 1664 1664 } 1665 - 1666 -#mainContentArea .hero-copy { 1667 - min-width: 0; 1656 +#mainContentArea .hero-copy, 1657 +#mainContentArea .hero.hero-saas .lead { 1668 1668 text-align: left; 1669 1669 } 1670 - 1671 1671 #mainContentArea .hero.hero-saas h1 { 1672 1672 max-width: 640px; 1673 1673 margin: 0 0 26px; ... ... @@ -1676,20 +1676,16 @@ 1676 1676 line-height: 1; 1677 1677 letter-spacing: -3px; 1678 1678 } 1679 - 1680 1680 #mainContentArea .hero.hero-saas h1 span { 1681 1681 color: @brand; 1682 1682 } 1683 - 1684 1684 #mainContentArea .hero.hero-saas .lead { 1685 1685 max-width: 590px; 1686 1686 margin: 0 0 28px; 1687 1687 color: #334155; 1688 - text-align: left; 1689 1689 font-size: 18px; 1690 1690 line-height: 1.6; 1691 1691 } 1692 - 1693 1693 #mainContentArea .hero.hero-saas .benefits { 1694 1694 max-width: 620px; 1695 1695 margin: 0 0 30px; ... ... @@ -1702,7 +1702,6 @@ 1702 1702 font-size: 15px; 1703 1703 text-align: left; 1704 1704 } 1705 - 1706 1706 #mainContentArea .hero.hero-saas .benefits li { 1707 1707 display: grid; 1708 1708 grid-template-columns: 18px minmax(0, 1fr); ... ... @@ -1711,7 +1711,6 @@ 1711 1711 margin: 0; 1712 1712 line-height: 1.45; 1713 1713 } 1714 - 1715 1715 #mainContentArea .hero.hero-saas .benefits li::before { 1716 1716 content: "✓"; 1717 1717 display: block; ... ... @@ -1722,100 +1722,212 @@ 1722 1722 text-align: left; 1723 1723 margin: 0; 1724 1724 } 1725 - 1726 -#mainContentArea .hero.hero-saas .hero-actions, 1727 -#mainContentArea .hero.hero-saas #hero-cta { 1708 +#mainContentArea .hero-actions, 1709 +#mainContentArea #hero-cta { 1728 1728 display: flex; 1729 1729 flex-wrap: wrap; 1730 1730 justify-content: flex-start; 1731 1731 gap: 12px; 1732 - margin-top: 0; 1733 1733 } 1734 - 1735 -#mainContentArea .hero-image-wrapper { 1736 - min-width: 0; 1715 +#mainContentArea .hero-visual { 1716 + position: relative; 1717 + min-height: 540px; 1718 +} 1719 +#mainContentArea .hero-browser, 1720 +#mainContentArea .hero-floating { 1721 + border: 1px solid @line; 1722 + background: fade(#fff, 94%); 1723 + box-shadow: @shadow; 1724 + backdrop-filter: blur(14px); 1725 +} 1726 +#mainContentArea .hero-browser { 1727 + position: absolute; 1728 + top: 8px; 1729 + right: 0; 1730 + width: 100%; 1731 + max-width: 720px; 1732 + overflow: hidden; 1733 + border-radius: 18px; 1734 + background: fade(#fff, 88%); 1735 +} 1736 +#mainContentArea .hero-browser-top { 1737 + height: 58px; 1737 1737 display: flex; 1738 - justify-content: center; 1739 1739 align-items: center; 1740 + gap: 10px; 1741 + padding: 0 24px; 1742 + border-bottom: 1px solid @line; 1743 + background: fade(#fff, 74%); 1740 1740 } 1741 - 1742 -#mainContentArea .hero-image { 1743 - display: block; 1744 - width: 100%; 1745 - max-width: 620px; 1746 - height: auto; 1747 - border: 0; 1745 +#mainContentArea .hero-dot, 1746 +#mainContentArea .hero-status-dot { 1747 + border-radius: 50%; 1748 1748 } 1749 - 1750 -/* ========== Main Page Hero Responsive ========== */ 1751 - 1752 -@media (max-width: 1100px) { 1753 - #mainContentArea .hero-layout { 1754 - max-width: 760px; 1755 - grid-template-columns: 1fr; 1756 - gap: 34px; 1757 - } 1758 - 1759 - #mainContentArea .hero-copy { 1760 - order: 1; 1761 - text-align: center; 1762 - } 1763 - 1764 - #mainContentArea .hero-image-wrapper { 1765 - order: 2; 1766 - } 1767 - 1768 - #mainContentArea .hero.hero-saas h1 { 1769 - margin-left: auto; 1770 - margin-right: auto; 1771 - text-align: center; 1772 - } 1773 - 1774 - #mainContentArea .hero.hero-saas .lead { 1775 - margin-left: auto; 1776 - margin-right: auto; 1777 - text-align: center; 1778 - } 1779 - 1780 - #mainContentArea .hero.hero-saas .benefits { 1781 - margin-left: auto; 1782 - margin-right: auto; 1783 - } 1784 - 1785 - #mainContentArea .hero.hero-saas .hero-actions, 1786 - #mainContentArea .hero.hero-saas #hero-cta { 1787 - justify-content: center; 1788 - } 1789 - 1790 - #mainContentArea .hero-image { 1791 - max-width: 620px; 1792 - } 1749 +#mainContentArea .hero-dot { 1750 + width: 10px; 1751 + height: 10px; 1752 + background: #CBD5E1; 1793 1793 } 1794 - 1795 -@media (max-width: 640px) { 1796 - #mainContentArea .hero.hero-saas { 1797 - padding: 42px 0 28px; 1798 - } 1799 - 1800 - #mainContentArea .hero-layout { 1801 - gap: 28px; 1802 - } 1803 - 1804 - #mainContentArea .hero.hero-saas h1 { 1805 - font-size: 42px; 1806 - letter-spacing: -1.5px; 1807 - } 1808 - 1809 - #mainContentArea .hero.hero-saas .lead { 1810 - font-size: 17px; 1811 - } 1812 - 1813 - #mainContentArea .hero.hero-saas .benefits { 1814 - grid-template-columns: 1fr; 1815 - } 1816 - 1817 - #mainContentArea .hero-image { 1818 - max-width: 100%; 1819 - } 1754 +#mainContentArea .hero-status-dot { 1755 + width: 8px; 1756 + height: 8px; 1757 + background: @brand; 1820 1820 } 1759 +#mainContentArea .hero-search { 1760 + margin-left: auto; 1761 + width: 170px; 1762 + height: 26px; 1763 + border: 1px solid #E2E8F0; 1764 + border-radius: 20px; 1765 + background: #F1F5F9; 1766 +} 1767 +#mainContentArea .hero-browser-body { 1768 + display: grid; 1769 + grid-template-columns: 150px minmax(0, 1fr); 1770 +} 1771 +#mainContentArea .hero-sidebar { 1772 + padding: 24px 18px; 1773 + border-right: 1px solid @line; 1774 + background: #F8FAFC; 1775 +} 1776 +#mainContentArea .hero-nav-item, 1777 +#mainContentArea .hero-status-row, 1778 +#mainContentArea .hero-version-flow, 1779 +#mainContentArea .hero-flow { 1780 + display: flex; 1781 + align-items: center; 1782 +} 1783 +#mainContentArea .hero-nav-item { 1784 + gap: 9px; 1785 + padding: 10px 8px; 1786 + color: #334155; 1787 + font-size: 13px; 1788 +} 1789 +#mainContentArea .hero-nav-icon { 1790 + width: 20px; 1791 + height: 20px; 1792 + border: 1px solid #CBD5E1; 1793 + border-radius: 5px; 1794 +} 1795 +#mainContentArea .hero-content-panel { 1796 + padding: 26px; 1797 +} 1798 +#mainContentArea .hero-panel-title, 1799 +#mainContentArea .hero-card-title { 1800 + color: @text; 1801 + font-weight: 800; 1802 +} 1803 +#mainContentArea .hero-panel-title { 1804 + margin-bottom: 18px; 1805 + font-size: 20px; 1806 +} 1807 +#mainContentArea .hero-skeleton { 1808 + height: 8px; 1809 + margin-bottom: 10px; 1810 + border-radius: 10px; 1811 + background: #E2E8F0; 1812 +} 1813 +#mainContentArea .hero-skeleton.short { 1814 + width: 64%; 1815 +} 1816 +#mainContentArea .hero-dashboard-grid { 1817 + margin-top: 28px; 1818 + display: grid; 1819 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1820 + gap: 18px; 1821 +} 1822 +#mainContentArea .hero-mini-card { 1823 + padding: 18px; 1824 + border: 1px solid @line; 1825 + border-radius: 14px; 1826 + background: #fff; 1827 +} 1828 +#mainContentArea .hero-mini-card h4 { 1829 + margin: 0 0 14px; 1830 + font-size: 15px; 1831 +} 1832 +#mainContentArea .hero-status-row { 1833 + gap: 10px; 1834 + margin: 11px 0; 1835 + color: #475569; 1836 + font-size: 13px; 1837 +} 1838 +#mainContentArea .hero-floating { 1839 + position: absolute; 1840 + border-radius: 16px; 1841 +} 1842 +#mainContentArea .hero-upgrade-card { 1843 + left: 0; 1844 + bottom: 72px; 1845 + width: 320px; 1846 + padding: 20px; 1847 +} 1848 +#mainContentArea .hero-security-card { 1849 + right: 20px; 1850 + top: 260px; 1851 + width: 260px; 1852 + padding: 22px; 1853 +} 1854 +#mainContentArea .hero-security-card ul { 1855 + margin: 0; 1856 + padding: 0; 1857 + list-style: none; 1858 +} 1859 +#mainContentArea .hero-security-card li { 1860 + margin: 12px 0; 1861 + font-size: 14px; 1862 +} 1863 +#mainContentArea .hero-security-card li::before { 1864 + content: "✓"; 1865 + margin-right: 8px; 1866 + color: @brand; 1867 + font-weight: 900; 1868 +} 1869 +#mainContentArea .hero-card-title { 1870 + margin-bottom: 16px; 1871 +} 1872 +#mainContentArea .hero-version-flow { 1873 + gap: 8px; 1874 +} 1875 +#mainContentArea .hero-version { 1876 + width: 62px; 1877 + height: 54px; 1878 + padding: 0 8px; 1879 + display: grid; 1880 + place-items: center; 1881 + box-sizing: border-box; 1882 + border-radius: 8px; 1883 + background: #F1F5F9; 1884 + color: #334155; 1885 + text-align: center; 1886 + font-size: 13px; 1887 + line-height: 1.25; 1888 +} 1889 +#mainContentArea .hero-version.active { 1890 + width: 84px; 1891 + background: @text; 1892 + color: #fff; 1893 +} 1894 +#mainContentArea .hero-arrow { 1895 + color: #64748B; 1896 +} 1897 +#mainContentArea .hero-flow { 1898 + position: absolute; 1899 + right: 48px; 1900 + bottom: 18px; 1901 + gap: 12px; 1902 +} 1903 +#mainContentArea .hero-env { 1904 + min-width: 130px; 1905 + padding: 16px 20px; 1906 + border: 1px solid @line; 1907 + border-radius: 12px; 1908 + background: #fff; 1909 + color: #475569; 1910 + text-align: center; 1911 + text-transform: uppercase; 1912 + font-size: 12px; 1913 + letter-spacing: 1.3px; 1914 + box-shadow: 0 16px 40px rgba(15, 23, 42, .08); 1915 +} 1821 1821