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, 1 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,7 +2,45 @@ 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> 5 5 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 +#* 6 6 <section class="hero hero-centered" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 8 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> ... ... @@ -26,7 +26,7 @@ 26 26 </div> 27 27 </div> 28 28 </section> 29 - 67 +*# 30 30 <section class="trust-strip" aria-label="Agnease experience"> 31 31 <div class="container"> 32 32 <ul>
- agnease-xwiki-hero.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Admin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +981.8 KB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -1,42 +1,60 @@ 1 1 /* ========== Agnease Public Website ========== */ 2 2 3 - 4 -@brand: #00937D; 3 +@brand: #00937D; 5 5 @brand-strong: #007B6A; 6 -@brand-bg: #F7F9FC; 7 -@text: #07182D; 8 -@text-soft: #10243D; 9 -@muted: #64748B; 10 -@line: #E6EBF2; 11 -@radius: 18px; 12 -@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06); 13 -@shadow: 0 30px 80px rgba(15, 23, 42, .12); 14 -@maxw: 1240px; 15 -/* */ 16 -@section-padding: 30px 0; 17 -@section-padding-mobile: 28px 0; 5 +@brand-soft: #E7FFF8; 6 +@brand-bg: #F7F9FC; 7 +@text: #07182D; 8 +@text-soft: #10243D; 9 +@muted: #64748B; 10 +@line: #E6EBF2; 11 +@radius: 18px; 12 +@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06); 13 +@shadow: 0 30px 80px rgba(15, 23, 42, .12); 14 +@maxw: 1240px; 18 18 16 +@section-padding: 42px 0; 17 +@section-padding-mobile: 34px 0; 18 + 19 19 /* ========== Base ========== */ 20 20 21 +html { 22 + min-height: 100%; 23 + scroll-behavior: smooth; 24 +} 25 + 26 +body { 27 + min-height: 100%; 28 + color: @text; 29 + overflow-x: hidden; 30 + background: 31 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 32 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 33 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 34 + background-attachment: fixed; 35 +} 36 + 21 21 #mainContentArea { 22 - padding: 0; 38 + padding: 0 !important; 39 + overflow-x: hidden; 40 + background: transparent !important; 41 + background-image: none !important; 23 23 } 24 24 25 25 .container { 45 + width: 100%; 26 26 max-width: @maxw; 27 27 margin-left: auto; 28 28 margin-right: auto; 29 - padding-left: 18px; 30 - padding-right: 18px; 49 + padding-left: 24px; 50 + padding-right: 24px; 51 + box-sizing: border-box; 31 31 } 32 32 33 -html { 34 - scroll-behavior: smooth; 35 -} 36 - 37 37 section { 38 38 padding: @section-padding; 39 - border-top: 1px solid @line; 56 + border-top: 1px solid fade(@line, 65%); 57 + background: transparent; 40 40 41 41 &:first-of-type { 42 42 border-top: none; ... ... @@ -55,8 +55,10 @@ 55 55 } 56 56 57 57 h2 { 76 + max-width: 820px; 77 + margin: 0 auto 12px; 58 58 text-align: center; 59 - margin-top:0;79 + line-height: 1.24; 60 60 } 61 61 62 62 .lead { ... ... @@ -67,11 +67,11 @@ 67 67 68 68 .section-intro { 69 69 max-width: 760px; 70 - margin: 0 auto 22px; 71 - text-align: center; 90 + margin: 0 auto 24px; 72 72 color: @muted; 92 + text-align: center; 73 73 font-size: 16px; 74 - line-height: 1. 55;94 + line-height: 1.6; 75 75 } 76 76 77 77 a { ... ... @@ -83,15 +83,42 @@ 83 83 } 84 84 } 85 85 86 -/* ========== Header / Navigation========== */106 +/* ========== XWiki / Bootstrap Header Override ========== */ 87 87 108 +.navbar-default { 109 + background: fade(#fff, 72%) !important; 110 + background-image: none !important; 111 + border-color: fade(@line, 70%) !important; 112 + box-shadow: none !important; 113 + backdrop-filter: blur(14px); 114 +} 115 + 116 +.navbar-default .navbar-collapse, 117 +.navbar-default .navbar-form { 118 + border-color: fade(@line, 70%) !important; 119 +} 120 + 121 +.navbar-default .navbar-nav > li > a, 122 +.navbar-default .navbar-brand { 123 + color: @text !important; 124 +} 125 + 126 +.navbar-default .navbar-nav > li > a:hover, 127 +.navbar-default .navbar-nav > li > a:focus, 128 +.navbar-default .navbar-brand:hover, 129 +.navbar-default .navbar-brand:focus { 130 + color: @brand !important; 131 +} 132 + 133 +/* ========== Optional Custom Header / Navigation ========== */ 134 + 88 88 .site-header { 89 89 position: sticky; 90 90 top: 0; 91 91 z-index: 1000; 92 - background: fade(#fff, 96%);93 - border-bottom: 1px solid fade(@line, 85%);94 - backdrop-filter: blur( 8px);139 + background: fade(#fff, 72%); 140 + border-bottom: 1px solid fade(@line, 70%); 141 + backdrop-filter: blur(14px); 95 95 } 96 96 97 97 .header-inner { ... ... @@ -111,7 +111,7 @@ 111 111 a { 112 112 color: @text; 113 113 text-decoration: none; 114 - font-weight: 600;161 + font-weight: 700; 115 115 116 116 &:hover, 117 117 &:focus { ... ... @@ -122,16 +122,16 @@ 122 122 123 123 .nav-cta { 124 124 color: #fff; 125 - background: @ brand;126 - border: 1px solid @ brand;127 - border-radius: 6px;172 + background: @text; 173 + border: 1px solid @text; 174 + border-radius: 10px; 128 128 padding: 8px 14px; 129 129 130 130 &:hover, 131 131 &:focus { 132 132 color: #fff; 133 - background: @ brand-strong;134 - border-color: @ brand-strong;180 + background: @text-soft; 181 + border-color: @text-soft; 135 135 } 136 136 } 137 137 } ... ... @@ -138,29 +138,43 @@ 138 138 139 139 /* ========== Buttons ========== */ 140 140 188 +.btn-primary, 189 +.btn-secondary { 190 + display: inline-flex; 191 + align-items: center; 192 + justify-content: center; 193 + min-height: 40px; 194 + padding: 9px 16px; 195 + border-radius: 10px; 196 + font-weight: 800; 197 + text-decoration: none; 198 +} 199 + 141 141 .btn-primary { 142 - background: @ brand;143 - border-color: @ brand;201 + background: @text; 202 + border-color: @text; 144 144 color: #fff; 145 145 146 146 &:hover, 147 147 &:focus { 148 - background: @ brand-strong;149 - border-color: @ brand-strong;207 + background: @text-soft; 208 + border-color: @text-soft; 150 150 color: #fff; 210 + text-decoration: none; 151 151 } 152 152 } 153 153 154 154 .btn-secondary { 155 - color: @ brand;215 + color: @text; 156 156 background: #fff; 157 - border: 1px solid fade(@ brand,35%);217 + border: 1px solid fade(@text, 24%); 158 158 159 159 &:hover, 160 160 &:focus { 161 - color: @brand-strong; 162 - border-color: @brand; 163 - background: @brand-bg; 221 + color: @text; 222 + background: #F8FAFC; 223 + border-color: fade(@text, 42%); 224 + text-decoration: none; 164 164 } 165 165 } 166 166 ... ... @@ -168,18 +168,14 @@ 168 168 169 169 .hero { 170 170 overflow: hidden; 171 - background-repeat: no-repeat; 172 - background-attachment: scroll; 232 + background: transparent; 173 173 174 174 &.hero-centered { 175 - text-align: center; 176 - background: 177 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 178 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 235 + min-height: 330px; 179 179 display: flex; 180 180 align-items: center; 181 181 justify-content: center; 182 - min-height:330px;239 + text-align: center; 183 183 } 184 184 185 185 .hero-inner { ... ... @@ -199,9 +199,9 @@ 199 199 200 200 .lead { 201 201 max-width: 820px; 259 + margin-top: 12px; 202 202 font-size: 19px; 203 203 line-height: 1.55; 204 - margin-top: 12px; 205 205 } 206 206 207 207 .benefits { ... ... @@ -225,14 +225,15 @@ 225 225 display: inline-flex; 226 226 align-items: center; 227 227 gap: 8px; 228 - color: @brand; 285 + width: fit-content; 286 + color: @brand-strong; 229 229 background: fade(@brand, 8%); 230 - border: 1px solid fade(@brand, 18%);288 + border: 1px solid fade(@brand, 22%); 231 231 border-radius: 999px; 232 232 padding: 6px 12px; 233 233 margin-bottom: 14px; 234 234 font-size: 13px; 235 - font-weight: 700;293 + font-weight: 800; 236 236 } 237 237 238 238 .hero-actions, ... ... @@ -244,17 +244,118 @@ 244 244 margin-top: 22px; 245 245 } 246 246 305 +/* ========== SaaS Hero With Attached Image ========== */ 306 + 307 +.hero.hero-saas { 308 + min-height: auto; 309 + padding: 60px 0 34px; 310 + display: flex; 311 + align-items: center; 312 + background: transparent; 313 +} 314 + 315 +.hero-layout { 316 + max-width: 1120px; 317 + margin: 0 auto; 318 + display: grid; 319 + grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 320 + gap: 56px; 321 + align-items: center; 322 +} 323 + 324 +.hero-copy { 325 + min-width: 0; 326 + text-align: left; 327 +} 328 + 329 +.hero.hero-saas h1 { 330 + max-width: 640px; 331 + margin: 0 0 26px; 332 + font-size: 60px; 333 + font-weight: 800; 334 + line-height: 1; 335 + letter-spacing: -3px; 336 +} 337 + 338 +.hero.hero-saas h1 span { 339 + color: @brand; 340 +} 341 + 342 +.hero.hero-saas .lead { 343 + max-width: 590px; 344 + margin: 0 0 28px; 345 + color: #334155; 346 + text-align: left; 347 + font-size: 18px; 348 + line-height: 1.6; 349 +} 350 + 351 +.hero.hero-saas .benefits { 352 + max-width: 620px; 353 + margin: 0 0 30px; 354 + padding: 0; 355 + display: grid; 356 + grid-template-columns: repeat(2, minmax(0, 1fr)); 357 + gap: 10px 24px; 358 + list-style: none; 359 + color: #475569; 360 + font-size: 15px; 361 + text-align: left; 362 +} 363 + 364 +.hero.hero-saas .benefits li { 365 + display: grid; 366 + grid-template-columns: 18px minmax(0, 1fr); 367 + column-gap: 8px; 368 + align-items: start; 369 + margin: 0; 370 + line-height: 1.45; 371 +} 372 + 373 +.hero.hero-saas .benefits li::before { 374 + content: "✓"; 375 + display: block; 376 + width: 18px; 377 + color: @brand; 378 + font-weight: 900; 379 + line-height: 1.45; 380 + text-align: left; 381 + margin: 0; 382 +} 383 + 384 +.hero.hero-saas .hero-actions, 385 +.hero.hero-saas #hero-cta { 386 + justify-content: flex-start; 387 + margin-top: 0; 388 +} 389 + 390 +.hero-image-wrapper { 391 + min-width: 0; 392 + display: flex; 393 + justify-content: center; 394 + align-items: center; 395 +} 396 + 397 +.hero-image { 398 + display: block; 399 + width: 100%; 400 + max-width: 620px; 401 + height: auto; 402 + border: 0; 403 +} 404 + 247 247 /* ========== Trust Strip ========== */ 248 248 249 249 .trust-strip { 250 250 padding: 18px 0; 251 - border-top: 1px solid @line; 252 - background: #fff; 409 + border-top: 1px solid fade(@line, 70%); 410 + border-bottom: 1px solid fade(@line, 70%); 411 + background: transparent; 253 253 254 254 ul { 255 255 max-width: 960px; 256 256 margin: 0 auto; 257 - padding: 0; 416 + padding: 0 24px; 258 258 list-style: none; 259 259 display: flex; 260 260 justify-content: center; ... ... @@ -283,7 +283,7 @@ 283 283 .resource-grid, 284 284 .widgets { 285 285 display: grid; 286 - grid-gap: 18px;445 + grid-gap: 22px; 287 287 margin-left: auto; 288 288 margin-right: auto; 289 289 } ... ... @@ -293,19 +293,19 @@ 293 293 .services-grid { 294 294 grid-template-columns: repeat(3, minmax(0, 1fr)); 295 295 max-width: 1040px; 296 - margin-top: 2 2px;455 + margin-top: 24px; 297 297 } 298 298 299 299 .resource-grid { 300 300 grid-template-columns: repeat(2, minmax(0, 1fr)); 301 301 max-width: 1040px; 302 - margin-top: 2 2px;461 + margin-top: 24px; 303 303 } 304 304 305 305 .widgets { 306 306 grid-template-columns: repeat(4, minmax(0, 1fr)); 307 307 max-width: 1040px; 308 - margin-top: 2 0px;467 + margin-top: 22px; 309 309 } 310 310 311 311 .card-grid > *, ... ... @@ -321,7 +321,18 @@ 321 321 .widget, 322 322 .pathway-card, 323 323 .service-card, 324 -.resource-card { 483 +.resource-card, 484 +.product-card, 485 +.product-summary-card, 486 +.product-info-card, 487 +.product-feature, 488 +.product-gallery-panel, 489 +.process-list li, 490 +.resource-sidebar, 491 +.cta-panel, 492 +.resource-inline-cta, 493 +.resource-note, 494 +.resource-cta { 325 325 background: #fff; 326 326 border: 1px solid @line; 327 327 border-radius: @radius; ... ... @@ -380,12 +380,13 @@ 380 380 .pathway-icon { 381 381 width: 52px; 382 382 height: 52px; 383 - border-radius: 50%;553 + border-radius: 16px; 384 384 display: flex; 385 385 align-items: center; 386 386 justify-content: center; 387 387 color: @brand; 388 388 background: fade(@brand, 10%); 559 + border: 1px solid fade(@brand, 18%); 389 389 font-size: 19px; 390 390 flex-shrink: 0; 391 391 } ... ... @@ -432,19 +432,15 @@ 432 432 } 433 433 } 434 434 606 +/* ========== Industry Trust Section ========== */ 607 + 435 435 .industry-trust-section { 436 - background: 437 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 609 + background: transparent; 438 438 439 439 .industry-trust-panel { 440 440 max-width: 1040px; 441 441 margin: 0 auto; 442 442 padding: 30px 28px; 443 - border: 1px solid fade(@brand, 16%); 444 - border-radius: @radius; 445 - background: 446 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 447 - box-shadow: @shadow-sm; 448 448 text-align: center; 449 449 } 450 450 ... ... @@ -475,9 +475,9 @@ 475 475 background: #fff; 476 476 color: @text; 477 477 font-size: 13px; 478 - font-weight: 600;645 + font-weight: 700; 479 479 line-height: 1.2; 480 - box-shadow: 0 3px10px rgba(0,0,0, .04);647 + box-shadow: 0 8px 20px rgba(15, 23, 42, .04); 481 481 } 482 482 483 483 .industry-support { ... ... @@ -489,23 +489,6 @@ 489 489 } 490 490 } 491 491 492 -@media (max-width: 640px) { 493 - .industry-trust-section { 494 - .industry-trust-panel { 495 - padding: 24px 18px; 496 - } 497 - 498 - .industry-tags { 499 - gap: 8px; 500 - } 501 - 502 - .industry-tags span { 503 - font-size: 12px; 504 - padding: 6px 10px; 505 - } 506 - } 507 -} 508 - 509 509 /* ========== Services ========== */ 510 510 511 511 .services { ... ... @@ -526,7 +526,7 @@ 526 526 .service-icon { 527 527 width: 46px; 528 528 height: 46px; 529 - border-radius: 50%;679 + border-radius: 14px; 530 530 display: flex; 531 531 align-items: center; 532 532 justify-content: center; ... ... @@ -533,6 +533,7 @@ 533 533 font-size: 18px; 534 534 color: @brand; 535 535 background: fade(@brand, 10%); 686 + border: 1px solid fade(@brand, 18%); 536 536 flex-shrink: 0; 537 537 margin-top: 2px; 538 538 } ... ... @@ -570,8 +570,7 @@ 570 570 /* ========== Split / Process Section ========== */ 571 571 572 572 .split-section { 573 - background: 574 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 724 + background: transparent; 575 575 } 576 576 577 577 .split-grid { ... ... @@ -606,10 +606,6 @@ 606 606 position: relative; 607 607 padding: 16px 16px 16px 58px; 608 608 margin-bottom: 12px; 609 - background: #fff; 610 - border: 1px solid @line; 611 - border-radius: @radius; 612 - box-shadow: @shadow-sm; 613 613 color: @muted; 614 614 line-height: 1.5; 615 615 ... ... @@ -639,8 +639,9 @@ 639 639 640 640 /* ========== Resources ========== */ 641 641 642 -.resource-strip { 643 - background: @brand-bg; 788 +.resource-strip, 789 +.homepage-resource-strip { 790 + background: transparent; 644 644 } 645 645 646 646 .resource-card { ... ... @@ -668,9 +668,6 @@ 668 668 /* ========== Homepage Resource Strip ========== */ 669 669 670 670 .homepage-resource-strip { 671 - background: 672 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 673 - 674 674 .resource-grid { 675 675 max-width: 1040px; 676 676 margin: 22px auto 0; ... ... @@ -716,26 +716,6 @@ 716 716 } 717 717 } 718 718 719 -@media (max-width: 980px) { 720 - .homepage-resource-strip { 721 - .resource-grid { 722 - grid-template-columns: 1fr; 723 - } 724 - } 725 -} 726 - 727 -@media (max-width: 640px) { 728 - .homepage-resource-strip { 729 - .resource-card { 730 - padding: 22px; 731 - } 732 - 733 - .resource-card h4 { 734 - font-size: 19px; 735 - } 736 - } 737 -} 738 - 739 739 /* ========== CTA ========== */ 740 740 741 741 .cta-section { ... ... @@ -755,11 +755,6 @@ 755 755 max-width: 860px; 756 756 margin: 0 auto; 757 757 padding: 32px; 758 - border-radius: @radius; 759 - border: 1px solid fade(@brand, 20%); 760 - background: 761 - radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 762 - box-shadow: @shadow-sm; 763 763 text-align: center; 764 764 765 765 h2 { ... ... @@ -779,10 +779,6 @@ 779 779 gap: 22px; 780 780 margin: 30px 0; 781 781 padding: 20px 22px; 782 - border: 1px solid fade(@brand, 22%); 783 - border-radius: @radius; 784 - background: @brand-bg; 785 - box-shadow: @shadow-sm; 786 786 787 787 p { 788 788 margin: 0; ... ... @@ -799,127 +799,17 @@ 799 799 } 800 800 } 801 801 802 -@media (max-width: 767px) { 803 - .resource-inline-cta { 804 - display: block; 805 - text-align: center; 806 - 807 - p { 808 - margin-bottom: 14px; 809 - } 810 - 811 - .btn { 812 - display: inline-block; 813 - margin-left: auto; 814 - margin-right: auto; 815 - } 816 - } 817 -} 818 - 819 -/* ========== Responsive ========== */ 820 - 821 -@media (max-width: 980px) { 822 - .widgets, 823 - .pathways, 824 - .services-grid, 825 - .resource-grid { 826 - grid-template-columns: repeat(2, minmax(0, 1fr)); 827 - } 828 - 829 - .split-grid { 830 - grid-template-columns: 1fr; 831 - } 832 - 833 - .split-copy h2 { 834 - text-align: center; 835 - } 836 -} 837 - 838 -@media (max-width: 760px) { 839 - section[id] { 840 - scroll-margin-top: 132px; 841 - } 842 - 843 - .header-inner { 844 - min-height: auto; 845 - padding-top: 14px; 846 - padding-bottom: 14px; 847 - flex-direction: column; 848 - align-items: center; 849 - gap: 12px; 850 - } 851 - 852 - .site-nav { 853 - width: 100%; 854 - justify-content: center; 855 - flex-wrap: wrap; 856 - gap: 10px 16px; 857 - font-size: 14px; 858 - 859 - .nav-cta { 860 - padding: 7px 12px; 861 - } 862 - } 863 - 864 - .hero.hero-centered { 865 - min-height: 280px; 866 - } 867 - 868 - .hero { 869 - .lead { 870 - font-size: 17px; 871 - } 872 - 873 - .benefits { 874 - gap: 4px 10px; 875 - 876 - li + li::before { 877 - content: none; 878 - } 879 - } 880 - } 881 -} 882 - 883 -@media (max-width: 640px) { 884 - section { 885 - padding: @section-padding-mobile; 886 - } 887 - 888 - .widgets, 889 - .pathways, 890 - .services-grid, 891 - .resource-grid { 892 - grid-template-columns: 1fr; 893 - } 894 - 895 - .pathway-card, 896 - .services .service, 897 - .resource-card, 898 - .widget { 899 - padding: 20px; 900 - } 901 - 902 - .services .service { 903 - gap: 14px; 904 - } 905 - 906 - .cta-panel { 907 - padding: 24px 20px; 908 - } 909 -} 910 - 911 911 /* ========== Resource / Article Pages ========== */ 912 912 913 913 .resource-page { 914 914 padding-top: 0; 921 + background: transparent; 915 915 } 916 916 917 917 .resource-header { 918 918 padding: @section-padding; 919 919 border-top: none; 920 - background: 921 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 922 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 927 + background: transparent; 923 923 924 924 h1 { 925 925 margin: 0 auto 14px; ... ... @@ -987,7 +987,6 @@ 987 987 988 988 .resource-note { 989 989 border-left: 4px solid @brand; 990 - background: @brand-bg; 991 991 padding: 16px 18px; 992 992 margin: 22px 0; 993 993 border-radius: 0 @radius @radius 0; ... ... @@ -1064,11 +1064,7 @@ 1064 1064 margin-bottom: 28px; 1065 1065 position: sticky; 1066 1066 top: 96px; 1067 - border: 1px solid @line; 1068 - border-radius: @radius; 1069 1069 padding: 18px; 1070 - background: #fff; 1071 - box-shadow: @shadow-sm; 1072 1072 1073 1073 h4 { 1074 1074 margin: 0 0 10px; ... ... @@ -1099,9 +1099,6 @@ 1099 1099 max-width: 820px; 1100 1100 margin: 42px auto 0; 1101 1101 padding: 28px 30px; 1102 - border: 1px solid fade(@brand, 20%); 1103 - border-radius: @radius; 1104 - background: @brand-bg; 1105 1105 1106 1106 h3 { 1107 1107 margin-top: 0; ... ... @@ -1126,26 +1126,6 @@ 1126 1126 display: flow-root; 1127 1127 } 1128 1128 1129 -@media (max-width: 767px) { 1130 - .resource-cta { 1131 - padding: 24px 20px; 1132 - } 1133 -} 1134 - 1135 -@media (max-width: 900px) { 1136 - .resource-layout { 1137 - padding-top: 22px; 1138 - } 1139 - 1140 - .resource-sidebar { 1141 - float: none; 1142 - width: 100%; 1143 - margin-left: 0; 1144 - margin-bottom: 24px; 1145 - position: static; 1146 - } 1147 -} 1148 - 1149 1149 /* ========== Products / Extensions Pages ========== */ 1150 1150 1151 1151 .product-index-section { ... ... @@ -1166,10 +1166,6 @@ 1166 1166 1167 1167 .product-card { 1168 1168 position: relative; 1169 - background: #fff; 1170 - border: 1px solid @line; 1171 - border-radius: @radius; 1172 - box-shadow: @shadow-sm; 1173 1173 padding: 32px; 1174 1174 display: grid; 1175 1175 grid-template-columns: 70px 1fr; ... ... @@ -1188,7 +1188,7 @@ 1188 1188 .product-card-icon { 1189 1189 width: 58px; 1190 1190 height: 58px; 1191 - border-radius: 50%;1164 + border-radius: 16px; 1192 1192 background: fade(@brand, 10%); 1193 1193 border: 1px solid fade(@brand, 22%); 1194 1194 color: @brand; ... ... @@ -1277,30 +1277,6 @@ 1277 1277 } 1278 1278 } 1279 1279 1280 -@media (max-width: 640px) { 1281 - .product-card { 1282 - grid-template-columns: 1fr; 1283 - padding: 26px 22px; 1284 - text-align: left; 1285 - 1286 - &:before { 1287 - width: 4px; 1288 - } 1289 - 1290 - .product-card-icon { 1291 - margin-bottom: 2px; 1292 - } 1293 - 1294 - h3 { 1295 - font-size: 22px; 1296 - } 1297 - } 1298 - 1299 - .product-card-actions { 1300 - gap: 12px; 1301 - } 1302 -} 1303 - 1304 1304 /* ========== Individual Product Pages ========== */ 1305 1305 1306 1306 .product-layout { ... ... @@ -1312,16 +1312,6 @@ 1312 1312 align-items: start; 1313 1313 } 1314 1314 1315 -.product-summary-card, 1316 -.product-info-card, 1317 -.product-feature, 1318 -.product-gallery-panel { 1319 - background: #fff; 1320 - border: 1px solid @line; 1321 - border-radius: @radius; 1322 - box-shadow: @shadow-sm; 1323 -} 1324 - 1325 1325 .product-summary-card { 1326 1326 padding: 28px; 1327 1327 ... ... @@ -1398,8 +1398,9 @@ 1398 1398 .feature-icon { 1399 1399 width: 46px; 1400 1400 height: 46px; 1401 - border-radius: 50%;1340 + border-radius: 14px; 1402 1402 background: fade(@brand, 10%); 1342 + border: 1px solid fade(@brand, 18%); 1403 1403 color: @brand; 1404 1404 display: flex; 1405 1405 align-items: center; ... ... @@ -1432,16 +1432,16 @@ 1432 1432 } 1433 1433 1434 1434 /* Keep the default XWiki gallery style. 1435 - Only addspacingbefore itand centerit. */1375 + Only set size, top spacing and centering. */ 1436 1436 .gallery.xGallery { 1437 1437 margin: 25px auto; 1438 1438 width: 920px; 1379 + max-width: 100%; 1439 1439 height: 518px; 1440 1440 } 1441 1441 1442 1442 .product-section-muted { 1443 - background: 1444 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1384 + background: transparent; 1445 1445 } 1446 1446 1447 1447 /* Compact process list when used inside a product card. */ ... ... @@ -1500,33 +1500,268 @@ 1500 1500 justify-content: center; 1501 1501 } 1502 1502 1443 +/* ========== Resources Index ========== */ 1444 + 1445 +.resources-index-page { 1446 + background: transparent; 1447 + 1448 + .services-grid { 1449 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1450 + } 1451 +} 1452 + 1453 +/* ========== Responsive ========== */ 1454 + 1455 +@media (max-width: 1100px) { 1456 + .hero-layout { 1457 + max-width: 760px; 1458 + grid-template-columns: 1fr; 1459 + gap: 34px; 1460 + } 1461 + 1462 + .hero-copy { 1463 + order: 1; 1464 + text-align: center; 1465 + } 1466 + 1467 + .hero-image-wrapper { 1468 + order: 2; 1469 + } 1470 + 1471 + .hero.hero-saas h1 { 1472 + margin-left: auto; 1473 + margin-right: auto; 1474 + text-align: center; 1475 + } 1476 + 1477 + .hero.hero-saas .lead { 1478 + margin-left: auto; 1479 + margin-right: auto; 1480 + text-align: center; 1481 + } 1482 + 1483 + .hero.hero-saas .benefits { 1484 + margin-left: auto; 1485 + margin-right: auto; 1486 + } 1487 + 1488 + .hero.hero-saas .hero-actions, 1489 + .hero.hero-saas #hero-cta { 1490 + justify-content: center; 1491 + } 1492 + 1493 + .hero-image { 1494 + max-width: 620px; 1495 + } 1496 +} 1497 + 1503 1503 @media (max-width: 980px) { 1499 + .widgets, 1500 + .pathways, 1501 + .services-grid, 1502 + .resource-grid { 1503 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1504 + } 1505 + 1506 + .split-grid, 1504 1504 .product-layout, 1505 1505 .product-feature-grid { 1506 1506 grid-template-columns: 1fr; 1507 1507 } 1508 1508 1512 + .split-copy h2, 1509 1509 .product-summary-card h2 { 1510 1510 text-align: center; 1511 1511 } 1516 + 1517 + .homepage-resource-strip { 1518 + .resource-grid { 1519 + grid-template-columns: 1fr; 1520 + } 1521 + } 1522 + 1523 + .resources-index-page { 1524 + .services-grid { 1525 + grid-template-columns: 1fr; 1526 + } 1527 + } 1512 1512 } 1513 1513 1530 +@media (max-width: 900px) { 1531 + .resource-layout { 1532 + padding-top: 22px; 1533 + } 1534 + 1535 + .resource-sidebar { 1536 + float: none; 1537 + width: 100%; 1538 + margin-left: 0; 1539 + margin-bottom: 24px; 1540 + position: static; 1541 + } 1542 +} 1543 + 1544 +@media (max-width: 767px) { 1545 + section[id] { 1546 + scroll-margin-top: 132px; 1547 + } 1548 + 1549 + .header-inner { 1550 + min-height: auto; 1551 + padding-top: 14px; 1552 + padding-bottom: 14px; 1553 + flex-direction: column; 1554 + align-items: center; 1555 + gap: 12px; 1556 + } 1557 + 1558 + .site-nav { 1559 + width: 100%; 1560 + justify-content: center; 1561 + flex-wrap: wrap; 1562 + gap: 10px 16px; 1563 + font-size: 14px; 1564 + 1565 + .nav-cta { 1566 + padding: 7px 12px; 1567 + } 1568 + } 1569 + 1570 + .hero.hero-centered { 1571 + min-height: 280px; 1572 + } 1573 + 1574 + .resource-inline-cta { 1575 + display: block; 1576 + text-align: center; 1577 + 1578 + p { 1579 + margin-bottom: 14px; 1580 + } 1581 + 1582 + .btn { 1583 + display: inline-block; 1584 + margin-left: auto; 1585 + margin-right: auto; 1586 + } 1587 + } 1588 + 1589 + .resource-cta { 1590 + padding: 24px 20px; 1591 + } 1592 + 1593 + .resources-index-page { 1594 + padding: @section-padding-mobile; 1595 + } 1596 +} 1597 + 1514 1514 @media (max-width: 640px) { 1599 + section { 1600 + padding: @section-padding-mobile; 1601 + } 1602 + 1603 + .container { 1604 + padding-left: 18px; 1605 + padding-right: 18px; 1606 + } 1607 + 1608 + .widgets, 1609 + .pathways, 1610 + .services-grid, 1611 + .resource-grid, 1612 + .hero.hero-saas .benefits { 1613 + grid-template-columns: 1fr; 1614 + } 1615 + 1616 + .pathway-card, 1617 + .services .service, 1618 + .resource-card, 1619 + .widget, 1620 + .product-summary-card, 1621 + .product-info-card, 1622 + .product-feature, 1623 + .product-gallery-panel { 1624 + padding: 20px; 1625 + } 1626 + 1627 + .services .service { 1628 + gap: 14px; 1629 + } 1630 + 1631 + .cta-panel { 1632 + padding: 24px 20px; 1633 + } 1634 + 1635 + .industry-trust-section { 1636 + .industry-trust-panel { 1637 + padding: 24px 18px; 1638 + } 1639 + 1640 + .industry-tags { 1641 + gap: 8px; 1642 + } 1643 + 1644 + .industry-tags span { 1645 + font-size: 12px; 1646 + padding: 6px 10px; 1647 + } 1648 + } 1649 + 1650 + .homepage-resource-strip { 1651 + .resource-card { 1652 + padding: 22px; 1653 + } 1654 + 1655 + .resource-card h4 { 1656 + font-size: 19px; 1657 + } 1658 + } 1659 + 1660 + .hero.hero-saas { 1661 + padding: 42px 0 28px; 1662 + } 1663 + 1664 + .hero.hero-saas h1 { 1665 + font-size: 42px; 1666 + letter-spacing: -1.5px; 1667 + } 1668 + 1669 + .hero.hero-saas .lead { 1670 + font-size: 17px; 1671 + } 1672 + 1673 + .hero-layout { 1674 + gap: 28px; 1675 + } 1676 + 1677 + .hero-image { 1678 + max-width: 100%; 1679 + } 1680 + 1681 + .hero .benefits { 1682 + gap: 4px 10px; 1683 + } 1684 + 1515 1515 .product-card { 1516 1516 grid-template-columns: 1fr; 1517 - padding: 22px; 1687 + padding: 26px 22px; 1518 1518 text-align: left; 1519 1519 1690 + &:before { 1691 + width: 4px; 1692 + } 1693 + 1520 1520 .product-card-icon { 1521 1521 margin-bottom: 2px; 1522 1522 } 1697 + 1698 + h3 { 1699 + font-size: 22px; 1700 + } 1523 1523 } 1524 1524 1525 - .product-summary-card, 1526 - .product-info-card, 1527 - .product-feature, 1528 - .product-gallery-panel { 1529 - padding: 20px; 1703 + .product-card-actions { 1704 + gap: 12px; 1530 1530 } 1531 1531 1532 1532 .product-feature { ... ... @@ -1543,6 +1543,9 @@ 1543 1543 } 1544 1544 1545 1545 .gallery.xGallery { 1721 + width: 100%; 1722 + height: 56vw; 1723 + max-height: 360px; 1546 1546 margin-top: 22px !important; 1547 1547 } 1548 1548 ... ... @@ -1555,43 +1555,3 @@ 1555 1555 padding-left: 46px; 1556 1556 } 1557 1557 } 1558 - 1559 -/* ========== Resources Index ========== */ 1560 - 1561 -.resources-index-page { 1562 - background: #fff; 1563 - 1564 - .services-grid { 1565 - grid-template-columns: repeat(2, minmax(0, 1fr)); 1566 - } 1567 -} 1568 - 1569 -@media (max-width: 980px) { 1570 - .resources-index-page { 1571 - .services-grid { 1572 - grid-template-columns: 1fr; 1573 - } 1574 - } 1575 -} 1576 - 1577 -@media (max-width: 767px) { 1578 - .resources-index-page { 1579 - padding: @section-padding-mobile; 1580 - } 1581 -} 1582 - 1583 -.resource-faq-item { 1584 - border-bottom: 1px solid @line; 1585 - padding: 12px 0; 1586 - 1587 - summary { 1588 - cursor: pointer; 1589 - font-weight: 700; 1590 - color: @text; 1591 - } 1592 - 1593 - p { 1594 - margin: 10px 0 4px; 1595 - color: @muted; 1596 - } 1597 -}