This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch update/theme in repository https://gitbox.apache.org/repos/asf/sis-site.git
commit c6d5bcb2def1e0c9ac72e25d8f54fa97db8f4cbe Author: jsorel <[email protected]> AuthorDate: Wed Nov 4 10:09:44 2026 +0100 Logo and theme update --- content/_index.md | 18 ++ layouts/_default/baseof.html | 12 +- static/images/apple-touch-icon.png | Bin 0 -> 13318 bytes static/images/favicon.png | Bin 0 -> 2395 bytes static/images/logo-apache-sis.svg | 112 +++++++++ static/images/sis-hero.svg | 226 +++++++++++++++++++ static/images/topbar-pattern.svg | 12 + static/sis.css | 451 +++++++++++++++++++++++++++---------- static/syntax.css | 97 ++++---- 9 files changed, 760 insertions(+), 168 deletions(-) diff --git a/content/_index.md b/content/_index.md index 2d65c681..aca0c2bb 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,6 +2,24 @@ title: The Apache SIS™ library --- +<div class="hero"> + <img class="hero-globe" src="/images/sis-hero.svg" alt="Globe with a discrete global grid, extruded data cells, satellites in orbit and a timestamped flight from Paris to New York"/> + <div class="hero-text"> + <p class="hero-tagline">Space <span>and</span> time, in Java.</p> + <ul> + <li>Coordinate reference systems and operations, backed by the EPSG geodetic dataset.</li> + <li>Temporal and multi-dimensional data: time axes, 4D envelopes, moving features.</li> + <li>Rasters and features from GeoTIFF, netCDF, GPX, SQL databases and more.</li> + <li>Discrete global grid systems, 2D and 3D geometries.</li> + <li>Metadata and services following OGC and ISO standards.</li> + </ul> + <p class="hero-buttons"> + <a class="button" href="/downloads.html">Download</a> + <a class="button secondary" href="/howto/index.html">How to…</a> + </p> + </div> +</div> + Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications. SIS provides data structures for geographic features and associated metadata along with methods to manipulate those data structures. The library is an implementation of [GeoAPI 3.0.2][geoapi] interfaces and can be used for desktop or server applications. diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 32526e8e..61f266c7 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -20,12 +20,17 @@ <title>Apache SIS - {{ .Title }}</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="theme-color" content="#7C297D"> + <link rel="icon" type="image/png" href="/images/favicon.png"> + <link rel="apple-touch-icon" href="/images/apple-touch-icon.png"> <link rel="stylesheet" type="text/css" media="screen" href="/sis.css"> <link rel="stylesheet" type="text/css" media="screen" href="/syntax.css"> </head> <body> - <div class="topbar"> - <a class="topbar-brand" href="/index.html">Apache <abbr title="Spatial Information System">SIS</abbr>™</a> + <header class="topbar"> + <a class="topbar-brand" href="/index.html"> + <img class="sis-logo" src="/images/logo-apache-sis.svg" alt="Apache SIS™ (Spatial Information System)"/> + </a> <ul class="topbar-items"> <li> <a href="https://www.apache.org/events/current-event.html"> @@ -33,7 +38,7 @@ </a> </li> </ul> - </div> + </header> <div class="main-section"> <nav class="left-bar"> <ul class="nav-pills"> @@ -51,7 +56,6 @@ <div class="main-content"> <main class="container"> <article> - <img src="/images/logo.png" class="sis-logo" align="left"/> <p class="page-title">{{ .Title }}</p> {{ block "main" . }}{{ end }} </article> diff --git a/static/images/apple-touch-icon.png b/static/images/apple-touch-icon.png new file mode 100644 index 00000000..7c83940c Binary files /dev/null and b/static/images/apple-touch-icon.png differ diff --git a/static/images/favicon.png b/static/images/favicon.png new file mode 100644 index 00000000..2a8e4a0e Binary files /dev/null and b/static/images/favicon.png differ diff --git a/static/images/logo-apache-sis.svg b/static/images/logo-apache-sis.svg new file mode 100644 index 00000000..0d6b2729 --- /dev/null +++ b/static/images/logo-apache-sis.svg @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="30.715mm" + height="13.165mm" + viewBox="0 0 30.715001 13.165" + version="1.1" + id="svg1" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs1" /> + <g + id="layer1"> + <g + id="g43" + transform="translate(-89.24507,-69.384761)"> + <g + id="g6-3" + transform="translate(8.8998254,40.50752)"> + <path + id="path864-9-3-2-0" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decorat [...] + d="m 84.131536,38.320699 c -0.999892,0.110281 -1.846866,0.368558 -2.260066,0.708418 l -1.091552,0.198466 v 0.424756 l 0.973491,0.194694 9e-6,10e-6 c 0.352837,0.394465 1.287027,0.712442 2.532615,0.817607 0.138136,0.265722 0.281461,0.528824 0.422802,0.79287 h 0.849489 l 0.499261,-0.796259 h 1e-5 c 1.2301,-0.108179 2.168405,-0.422186 2.546422,-0.811034 l 0.989421,-0.197888 v -0.424756 l -1.047812,-0.190508 c -0.412677,-0.337957 -1.261217,-0.619423 -2.293576,-0.724741 -0.220876,-0 [...] + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decorat [...] + d="m 85.593033,36.692439 -0.0045,0.01227 c 0.0015,-0.0038 0.0025,-0.0074 0.004,-0.01119 0,-5.01e-4 0,-7.52e-4 9.91e-4,-9.91e-4 z" + id="path854-78" /> + <path + id="path1-2-0-6-3-4-3-68" + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583" + class="cls-3" + d="m -368.52539,-239.27344 c -9.23135,-0.32302 -16.97361,3.77334 -22.1543,8.59571 -4.1581,3.8705 -6.79674,7.93205 -8.91406,11.4375 -5.18188,-2.96877 -10.47121,-4.86134 -15.95508,-5.11914 -9.65539,-0.45393 -17.54657,4.12564 -22.32031,9.55078 -3.29236,3.74083 -5.42682,7.8812 -6.5625,11.98828 -0.87939,3.17748 -1.27565,6.25334 -1.39258,9.19336 -1.27809,-0.4316 -2.51253,-0.9 -3.84765,-1.27344 -5.42407,-1.51712 -11.60692,-2.62617 -18.3418,-1.70898 -7.12001,0.96965 -14.63655,4.636 -1 [...] + transform="matrix(0.03486792,0,0,0.03486792,101.53407,37.635747)" /> + <path + id="path1-2-0-6-84" + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583" + class="cls-3" + d="m -368.59375,-236.87109 c -8.49436,-0.30258 -15.61631,3.45826 -20.44727,7.95507 -4.64177,4.32073 -7.56777,9.17295 -9.77734,12.93946 -5.55436,-3.54745 -11.14081,-5.71237 -16.84375,-5.98047 -8.8362,-0.41541 -16.03524,3.77608 -20.40039,8.73633 -3.04679,3.46145 -5.01035,7.28488 -6.04883,11.03906 -1.1689,4.22178 -1.31822,8.18308 -1.15429,11.95898 -2.25543,-0.86848 -4.60679,-1.67664 -7.05469,-2.36132 -5.24386,-1.46672 -11.10513,-2.49565 -17.36914,-1.64258 -6.56566,0.89415 -13.429 [...] + transform="matrix(0.03486792,0,0,0.03486792,101.59278,37.737153)" /> + <path + class="cls-3" + d="m 86.925185,33.565787 c 0.235507,-0.582352 0.498268,-1.163559 0.780225,-1.678698 -0.420881,-0.312608 -0.825009,-0.986696 -0.991066,-1.285355 -0.05963,0.06775 -0.09834,0.145781 -0.115899,0.209264 -0.156415,0.564798 0.400409,1.246821 -0.04812,0.997637 -0.373684,-0.207643 -1.215139,-0.662364 -1.5361,-0.210408 0.359464,0.461876 1.299665,1.623935 1.910932,1.96756 z" + id="path1-3-0-31" + style="fill:#dd552c;stroke-width:0.00922545" /> + <path + class="cls-2" + d="m 87.70541,31.887089 c 0.273202,-0.49915 0.564336,-0.936317 0.866191,-1.251271 0,0 -0.301073,0.435788 -0.731085,1.306938 0.260427,0.07172 1.002114,0.218887 2.03523,-0.04797 0.02538,-0.187746 -0.100812,-0.394246 -0.729791,-0.463382 -0.410635,-0.04509 0.49286,-0.980503 -0.161657,-1.422903 -0.02112,-0.0143 -0.04189,-0.02694 -0.06224,-0.03823 -0.02197,-0.0078 -0.0451,-0.01508 -0.06986,-0.02153 -0.764425,-0.199468 -0.87038,1.096708 -1.175412,0.818067 -0.492924,-0.450274 -0.80406 [...] + id="path2-4-2-4" + style="fill:#f79a23;stroke-width:0.00922545" /> + <path + class="cls-4" + d="m 86.310372,35.243645 c 0.172559,-0.516943 0.380149,-1.09773 0.614813,-1.677858 -0.611267,-0.343625 -1.551468,-1.505684 -1.910932,-1.96756 -0.06418,0.0903 -0.108037,0.21624 -0.122637,0.388474 -0.0784,0.925137 0.87602,1.610048 0.685749,1.735149 -0.251683,0.165502 -0.7526,-0.397551 -0.95002,-0.03979 0.286146,0.367616 0.86904,1.031846 1.683027,1.561593 z" + id="path3-0-7-9" + style="fill:#d22128;stroke-width:0.00922545" /> + <path + class="cls-3" + d="m 88.954842,33.24843 c -0.483246,-0.172352 0.504981,-0.63459 0.825882,-1.124961 0.04104,-0.0627 0.08351,-0.143741 0.09502,-0.228685 -1.033116,0.266859 -1.774803,0.119691 -2.03523,0.04797 -0.222618,0.451056 -0.479664,1.019462 -0.747758,1.704791 0.279208,0.119391 1.419267,0.560409 3.029548,0.562692 0.27074,-0.705171 -0.708828,-0.79829 -1.167464,-0.96181 z" + id="path4-3-6-2" + style="fill:#dd552c;stroke-width:0.00922545" /> + <path + class="cls-4" + d="m 86.49709,35.336705 c 0.283963,0.08849 1.224852,0.352828 2.224111,0.313029 0.134233,-0.363467 -0.367647,-0.398935 -0.408518,-0.690441 -0.03166,-0.225559 1.320783,0.189547 1.755941,-0.630625 0.022,-0.04149 0.0392,-0.08062 0.0537,-0.118429 -1.610284,-0.0022 -2.750344,-0.4433 -3.029552,-0.562692 -0.195925,0.50083 -0.397459,1.062923 -0.595667,1.689158 z" + id="path5-9-1-0" + style="fill:#d22128;stroke-width:0.00922545" /> + <path + class="cls-1" + d="m 86.49709,35.336705 c -0.127595,0.403085 -0.253478,0.833699 -0.375665,1.288783 -0.04335,0.161355 -0.08618,0.325713 -0.128408,0.493679 0.94843,0.313089 1.821775,7.53e-4 1.851382,-0.386428 0,-0.0031 0,-0.0054 0,-0.0083 0.02258,-0.410054 -0.592035,-0.182755 -0.577486,-0.429292 0.0146,-0.248343 1.072994,-0.0015 1.400303,-0.533898 0.02509,-0.04082 0.04145,-0.07707 0.05414,-0.111516 -0.999259,0.03979 -1.940147,-0.224536 -2.224111,-0.313029 z" + id="path6-1-3-6" + style="fill:#7c297d;stroke-width:0.00922545" /> + <path + class="cls-1" + d="m 84.627345,33.682052 c -0.01385,0.02507 -0.02629,0.05405 -0.03693,0.08867 -0.183804,0.597381 1.115926,1.399876 0.939087,1.574817 -0.159395,0.157626 -0.367136,-0.202595 -0.623294,-0.05381 -0.02805,0.01636 -0.05656,0.03697 -0.08582,0.06697 -0.289694,0.296796 -0.0045,1.151834 0.817408,1.60824 -0.191801,0.64403 -0.382754,1.363566 -0.569689,2.116049 0.06781,-0.02374 0.148969,-0.04756 0.169163,-0.111518 0.03036,-0.124682 0.217776,-0.883352 0.522115,-1.912612 0,0 0.05555,-0.21082 [...] + id="path7-9-2-8" + style="fill:#7c297d;stroke-width:0.00922545" /> + </g> + <g + id="g16" + transform="translate(1.1190287,0.17225015)"> + <path + d="m 101.78252,80.267745 c 1.7981,0 2.67018,-0.899052 2.67018,-1.950943 0,-2.310563 -3.65914,-1.510407 -3.65914,-2.670184 0,-0.395583 0.33265,-0.719242 1.19574,-0.719242 0.55741,0 1.15977,0.16183 1.74416,0.494479 l 0.44952,-1.105834 c -0.58438,-0.368611 -1.39353,-0.557412 -2.18469,-0.557412 -1.78912,0 -2.652205,0.890061 -2.652205,1.959933 0,2.337535 3.659145,1.528388 3.659145,2.706146 0,0.386593 -0.35063,0.674289 -1.21372,0.674289 -0.75521,0 -1.54637,-0.269715 -2.076814,-0.656 [...] + id="text18" + style="font-weight:bold;font-size:8.99052px;line-height:1.3;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';letter-spacing:0.0123574px;fill:#3c3c3c;stroke-width:0.0116761;stroke-linejoin:round" + aria-label="S I S" /> + <path + d="m 99.73399,72.486069 h 0.31092 l 0.11613,-0.280953 h 0.60873 l 0.11613,0.280953 h 0.31841 l -0.58625,-1.311114 h -0.29969 z m 0.52257,-0.511335 0.20978,-0.500096 0.20791,0.500096 z m 3.05116,0.511335 h 0.30343 v -0.361493 h 0.2641 c 0.35025,0 0.5694,-0.181683 0.5694,-0.473874 0,-0.294064 -0.21915,-0.475747 -0.5694,-0.475747 h -0.56753 z m 0.30343,-0.608732 v -0.455144 h 0.24724 c 0.18543,0 0.27908,0.08429 0.27908,0.228509 0,0.142349 -0.0936,0.226635 -0.27908,0.226635 z m 2. [...] + id="text28" + style="font-weight:bold;font-size:1.87302px;line-height:1.3;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';letter-spacing:1.96668px;fill:#999999;stroke-width:0.0106187;stroke-linejoin:round" + aria-label="APACHE" /> + <g + id="g13" + transform="translate(-0.06806744,0.22130093)"> + <rect + style="fill:#7c297d;fill-opacity:1;stroke-width:0.0106187;stroke-linejoin:round" + id="rect1" + width="1.0012671" + height="0.88434207" + x="105.70436" + y="79.11261" /> + <rect + style="fill:#7c297d;fill-opacity:1;stroke-width:0.0106187;stroke-linejoin:round" + id="rect1-6" + width="1.0012671" + height="0.88434207" + x="110.92635" + y="79.162094" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/static/images/sis-hero.svg b/static/images/sis-hero.svg new file mode 100644 index 00000000..6aaa052f --- /dev/null +++ b/static/images/sis-hero.svg @@ -0,0 +1,226 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 600 570" width="600" height="570" role="img" aria-label="Globe with a discrete global grid, extruded data cells, satellites in orbit and a timestamped flight from Paris to New York"> +<defs> + <radialGradient id="ocean" cx="38%" cy="32%" r="75%"> + <stop offset="0" stop-color="#FFFFFF"/><stop offset="0.6" stop-color="#F3ECF4"/><stop offset="1" stop-color="#E2D3E4"/> + </radialGradient> + <radialGradient id="halo" r="50%"> + <stop offset="0.78" stop-color="#7C297D" stop-opacity="0.16"/><stop offset="1" stop-color="#7C297D" stop-opacity="0"/> + </radialGradient> + <linearGradient id="timefill" x1="0" x2="1"> + <stop offset="0" stop-color="#F69A23"/><stop offset="0.5" stop-color="#D22128"/><stop offset="1" stop-color="#7C297D"/> + </linearGradient> + <filter id="shadow" x="-20%" y="-50%" width="140%" height="200%"><feGaussianBlur stdDeviation="8"/></filter> + <clipPath id="globe"><circle cx="300.0" cy="272.0" r="178.0"/></clipPath> + <g id="sat"> + <rect x="-11" y="-2.5" width="7" height="5" rx="0.8" fill="#7C297D"/> + <rect x="4" y="-2.5" width="7" height="5" rx="0.8" fill="#7C297D"/> + <line x1="-4" y1="0" x2="4" y2="0" stroke="#3C3C3C" stroke-width="1.2"/> + <rect x="-3" y="-3" width="6" height="6" rx="1.2" fill="#FFFFFF" stroke="#3C3C3C" stroke-width="1.4"/> + </g> +</defs> +<circle cx="300.0" cy="272.0" r="201.14" fill="url(#halo)"/> +<ellipse cx="306.0" cy="472.0" rx="124.6" ry="9" fill="#5E1F5F" fill-opacity="0.16" filter="url(#shadow)"/> +<path d="M478.2 278.4 475.2 276.9 472.1 275.3 468.9 273.7 465.5 272.1 462.1 270.5 458.5 268.9 454.9 267.3 451.1 265.8 447.2 264.2 443.3 262.6 439.2 261.0 435.0 259.5 430.8 257.9 426.4 256.4 422.0 254.9 417.4 253.4 412.8 251.9 408.2 250.4 403.4 248.9 398.6 247.4 393.7 246.0 388.7 244.6 383.7 243.2 378.7 241.8 373.5 240.4 368.3 239.1 363.1 237.7 357.9 236.4 352.5 235.2 347.2 233.9 341.8 232.7 336.4 231.5 331.0 230.3 325.5 229.2 320.1 228.1 314.6 227.0 309.1 226.0 303.6 224.9 298.1 224.0 29 [...] +<path d="M123.6 344.4 122.2 348.8 120.9 353.2 119.7 357.5 118.6 361.8 117.7 366.0 116.8 370.2 116.2 374.2 115.6 378.3 115.1 382.2 114.8 386.1 114.7 389.9 114.6 393.6 114.7 397.2 114.9 400.7 115.2 404.2 115.6 407.5 116.2 410.8 116.9 414.0 117.7 417.0 118.7 420.0 119.8 422.9 121.0 425.7 122.3 428.3 123.7 430.9 125.3 433.3 127.0 435.7 128.8 437.9 130.7 440.0 132.7 442.0 134.9 443.9 137.1 445.6 139.5 447.3 142.0 448.8 144.6 450.2 147.3 451.5 150.1 452.6 153.0 453.7 156.0 454.6 159.1 455.4 16 [...] +<path d="M381.7 129.8 386.1 134.8 390.4 139.9 394.6 145.0 398.7 150.3 402.8 155.6 406.8 161.0 410.8 166.5 414.6 172.1 418.4 177.7 422.1 183.4 425.8 189.1 429.3 195.0 432.8 200.8 436.1 206.7 439.4 212.7 442.6 218.7 445.6 224.7 448.6 230.8 451.5 236.9 454.2 243.0 456.9 249.1 459.4 255.3 461.9 261.5 464.2 267.6 466.4 273.8 468.6 280.0 470.5 286.1 472.4 292.3 474.2 298.5 475.8 304.6 477.3 310.7 478.7 316.8 480.0 322.8 481.1 328.8 482.2 334.8 483.1 340.7 483.8 346.6 484.5 352.5 485.0 358.2 48 [...] +<circle cx="300.0" cy="272.0" r="178.0" fill="url(#ocean)"/> +<g clip-path="url(#globe)"> +<path d="M438.5 200.0 439.9 199.8 440.1 198.6 439.5 197.2 439.7 196.0 439.5 194.6 438.2 192.4 438.3 191.0 437.7 190.0 438.4 190.1 438.6 189.8 438.9 189.2 439.7 188.9 440.0 188.8 439.7 187.2 440.2 187.3 439.5 185.9 439.7 185.2 439.5 184.7 438.8 183.7 438.2 182.4 438.8 182.3 439.4 183.1 439.6 182.9 441.1 184.9 441.8 185.2 441.5 184.3 441.4 183.5 440.7 181.8 441.0 181.2 441.2 180.0 441.7 180.4 441.9 181.4 442.1 182.4 442.1 184.0 442.2 185.7 442.9 187.4 443.7 188.1 444.6 189.1 445.2 190.7 44 [...] +<path d="M282.3 94.9 282.6 94.9 283.8 94.9 284.9 95.2 286.1 95.7 287.3 96.4 288.6 97.3 289.8 98.4 291.0 99.7 292.3 101.3 293.6 103.0 294.8 105.0 296.1 107.2 297.4 109.5 298.7 112.1 M258.6 98.9 259.6 98.7 262.1 98.3 264.6 98.1 267.1 98.1 269.7 98.4 272.4 98.8 275.0 99.5 277.7 100.4 280.5 101.5 283.2 102.8 286.0 104.3 288.8 106.0 291.6 107.9 294.4 110.0 297.2 112.3 M230.7 108.0 233.4 107.0 236.9 105.8 240.4 104.8 244.1 104.1 247.8 103.5 251.6 103.2 255.4 103.0 259.3 103.1 263.2 103.3 267.2 [...] +<path d="M285 106 295 105 297 102 287 101 280 104Z M270 105 280 104 287 101 285 99 274 99 267 102Z M257 104 267 102 274 99 272 98 261 100 253 103Z M242 106 253 103 261 100 259 99 247 102 239 105Z M287 101 297 102 305 100 305 98 294 97 285 99Z M274 99 285 99 294 97 293 95 282 96 272 98Z M261 100 272 98 282 96 280 95 268 97 259 99Z M294 97 305 98 314 97 313 95 303 95 293 95Z M282 96 293 95 303 95 301 94 290 94 280 95Z M303 95 313 95 323 96 322 95 311 94 301 94Z M449 186 448 189 453 198 457 [...] +</g> +<circle cx="300.0" cy="272.0" r="178.0" fill="none" stroke="#7C297D" stroke-width="1.6"/> +<g stroke-linejoin="round" stroke-width="0.6"> +<path d="M155.6 174.9 159.4 174.9 151.6 169.5 147.5 169.5Z" fill="#763C14" stroke="#A3531C"/> +<path d="M160.4 160.1 165.3 150.4 161.1 150.4 152.2 160.1 147.5 169.5 151.6 169.5Z" fill="#F77D2A" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M155.6 174.9 148.6 184.4 142.7 180.9 149.9 171.1Z" fill="#9A5918" stroke="#A8611A"/> +<path d="M159.4 174.9 155.6 174.9 149.9 171.1 153.9 171.1Z" fill="#7A4613" stroke="#A8611A"/> +<path d="M145.6 193.3 149.3 193.3 143.4 190.2 139.5 190.2Z" fill="#7A4613" stroke="#A8611A"/> +<path d="M150.5 180.8 153.9 171.1 149.9 171.1 142.7 180.9 139.5 190.2 143.4 190.2Z" fill="#FE9227" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M182.1 148.6 172.4 156.9 167.5 152.4 177.6 143.8Z" fill="#9A5918" stroke="#A8611A"/> +<path d="M187.0 149.7 182.1 148.6 177.6 143.8 182.6 145.0Z" fill="#7D4913" stroke="#A8611A"/> +<path d="M167.8 166.0 172.7 166.9 167.8 162.8 162.7 161.9Z" fill="#7A4713" stroke="#A8611A"/> +<path d="M182.2 158.9 187.0 149.7 182.6 145.0 177.6 154.5Z" fill="#935517" stroke="#A8611A"/> +<path d="M177.6 154.5 182.6 145.0 177.6 143.8 167.5 152.4 162.7 161.9 167.8 162.8Z" fill="#FF9528" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M167.8 166.0 159.4 174.9 140.3 161.7 149.8 151.6Z" fill="#86211A" stroke="#96251D"/> +<path d="M151.4 163.4 155.4 152.6 149.8 151.6 140.3 161.7 136.6 172.3 142.1 173.0Z" fill="#E5392D" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M142.4 330.0 149.1 339.1 143.5 341.7 136.5 332.2Z" fill="#BC6D1D" stroke="#A9621A"/> +<path d="M144.8 314.4 140.3 317.7 134.3 319.4 138.9 316.0Z" fill="#7B4713" stroke="#A9621A"/> +<path d="M153.7 335.8 151.5 323.4 145.9 325.3 148.2 338.2Z" fill="#8A5015" stroke="#A9621A"/> +<path d="M145.9 325.3 138.9 316.0 134.3 319.4 136.5 332.2 143.5 341.7 148.2 338.2Z" fill="#EB8924" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M149.1 339.1 152.6 351.0 133.1 361.5 129.2 348.0Z" fill="#7D2118" stroke="#96271D"/> +<path d="M165.0 356.0 161.6 344.2 143.3 353.8 147.2 367.1Z" fill="#792018" stroke="#96271D"/> +<path d="M143.3 353.8 134.3 344.2 129.2 348.0 133.1 361.5 142.1 371.0 147.2 367.1Z" fill="#CD3528" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M165.2 370.3 173.9 377.6 164.4 385.6 154.9 377.8Z" fill="#B44F21" stroke="#9E451D"/> +<path d="M173.9 377.6 178.2 374.2 169.0 382.0 164.4 385.6Z" fill="#A6491F" stroke="#9E451D"/> +<path d="M164.3 370.5 154.8 362.4 150.0 366.1 154.9 377.8 164.4 385.6 169.0 382.0Z" fill="#D35C27" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M161.6 344.2 167.2 340.3 148.9 349.7 142.6 354.2Z" fill="#6D1A15" stroke="#96241D"/> +<path d="M167.2 340.3 164.9 328.1 146.4 335.8 148.9 349.7Z" fill="#771D17" stroke="#96241D"/> +<path d="M146.4 335.8 137.5 326.2 131.1 330.4 133.6 344.5 142.6 354.2 148.9 349.7Z" fill="#D23328" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M178.2 374.2 187.6 380.5 182.2 385.8 172.4 379.2Z" fill="#BA641F" stroke="#A5591B"/> +<path d="M173.9 363.6 178.2 374.2 172.4 379.2 167.8 368.0Z" fill="#834716" stroke="#A5591B"/> +<path d="M187.6 380.5 192.5 376.5 187.4 381.5 182.2 385.8Z" fill="#AE5E1D" stroke="#A5591B"/> +<path d="M192.5 376.5 188.5 366.1 183.2 370.6 187.4 381.5Z" fill="#7F4415" stroke="#A5591B"/> +<path d="M183.2 370.6 173.4 363.7 167.8 368.0 172.4 379.2 182.2 385.8 187.4 381.5Z" fill="#DD7725" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M161.6 344.2 165.0 356.0 139.9 371.7 135.8 357.7Z" fill="#6D1420" stroke="#871828"/> +<path d="M152.8 362.2 142.4 353.0 135.8 357.7 139.9 371.7 150.4 380.6 156.7 375.8Z" fill="#B92237" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M441.4 241.7 448.9 245.3 455.8 244.1 448.0 240.3Z" fill="#784213" stroke="#A65A1B"/> +<path d="M437.2 229.5 441.4 241.7 448.0 240.3 443.6 227.5Z" fill="#A95C1B" stroke="#A65A1B"/> +<path d="M454.9 222.7 447.2 218.9 443.6 227.5 448.0 240.3 455.8 244.1 459.2 235.1Z" fill="#D17222" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M432.8 352.5 434.6 343.4 439.2 345.8 437.3 355.2Z" fill="#AD681A" stroke="#AA6619"/> +<path d="M418.9 358.0 425.1 359.6 429.3 362.5 422.9 360.9Z" fill="#985B17" stroke="#AA6619"/> +<path d="M434.6 343.4 428.4 341.5 432.7 343.8 439.2 345.8Z" fill="#985B17" stroke="#AA6619"/> +<path d="M420.3 349.0 418.9 358.0 422.9 360.9 424.3 351.6Z" fill="#AB6719" stroke="#AA6619"/> +<path d="M439.2 345.8 432.7 343.8 424.3 351.6 422.9 360.9 429.3 362.5 437.3 355.2Z" fill="#CF7C1F" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M451.9 257.9 448.9 245.3 466.3 242.2 469.7 256.2Z" fill="#9B2F1F" stroke="#982E1E"/> +<path d="M447.4 267.2 451.9 257.9 469.7 256.2 464.7 266.6Z" fill="#B13623" stroke="#982E1E"/> +<path d="M439.8 263.8 447.4 267.2 464.7 266.6 456.2 262.8Z" fill="#6E2216" stroke="#982E1E"/> +<path d="M466.3 242.2 457.9 238.2 452.7 248.4 456.2 262.8 464.7 266.6 469.7 256.2Z" fill="#BD3A26" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M401.4 382.2 409.6 374.3 413.6 378.0 405.1 386.2Z" fill="#C4731E" stroke="#A9631A"/> +<path d="M409.6 374.3 410.9 365.5 415.0 368.9 413.6 378.0Z" fill="#A46119" stroke="#A9631A"/> +<path d="M395.4 372.6 394.2 381.6 397.6 385.6 398.9 376.3Z" fill="#A46119" stroke="#A9631A"/> +<path d="M404.0 364.4 395.4 372.6 398.9 376.3 407.8 367.8Z" fill="#C5741E" stroke="#A9631A"/> +<path d="M415.0 368.9 407.8 367.8 398.9 376.3 397.6 385.6 405.1 386.2 413.6 378.0Z" fill="#CD791F" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M164.9 328.1 167.2 340.3 155.7 346.2 153.3 333.0Z" fill="#7C3118" stroke="#9C3E1E"/> +<path d="M167.2 340.3 175.9 348.0 165.2 354.6 155.7 346.2Z" fill="#A94421" stroke="#9C3E1E"/> +<path d="M171.4 324.0 164.9 328.1 153.3 333.0 160.3 328.5Z" fill="#712D16" stroke="#9C3E1E"/> +<path d="M175.9 348.0 182.1 343.6 172.0 349.8 165.2 354.6Z" fill="#712D16" stroke="#9C3E1E"/> +<path d="M179.8 331.8 171.4 324.0 160.3 328.5 169.5 336.9Z" fill="#A44220" stroke="#9C3E1E"/> +<path d="M182.1 343.6 179.8 331.8 169.5 336.9 172.0 349.8Z" fill="#783017" stroke="#9C3E1E"/> +<path d="M169.5 336.9 160.3 328.5 153.3 333.0 155.7 346.2 165.2 354.6 172.0 349.8Z" fill="#DC582A" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M179.2 359.5 188.5 366.1 182.7 371.0 172.9 364.1Z" fill="#B45E1E" stroke="#A4551B"/> +<path d="M188.5 366.1 194.3 361.5 188.8 366.2 182.7 371.0Z" fill="#AC591D" stroke="#A4551B"/> +<path d="M194.3 361.5 191.2 350.4 185.5 354.5 188.8 366.2Z" fill="#7C4015" stroke="#A4551B"/> +<path d="M185.5 354.5 175.9 347.3 169.4 352.0 172.9 364.1 182.7 371.0 188.8 366.2Z" fill="#E27626" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M404.0 364.4 410.9 365.5 428.0 380.0 420.0 378.7Z" fill="#8A1B1B" stroke="#941D1D"/> +<path d="M412.9 346.7 404.6 354.6 420.8 367.3 430.4 358.2Z" fill="#AD2222" stroke="#941D1D"/> +<path d="M438.9 360.9 430.4 358.2 420.8 367.3 420.0 378.7 428.0 380.0 437.2 371.3Z" fill="#B42323" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M420.3 349.0 428.4 341.5 445.6 350.8 436.4 359.4Z" fill="#AE2D22" stroke="#96261D"/> +<path d="M412.9 346.7 420.3 349.0 436.4 359.4 428.1 356.7Z" fill="#87221A" stroke="#96261D"/> +<path d="M429.4 331.2 421.9 328.6 438.2 336.2 446.7 339.1Z" fill="#86221A" stroke="#96261D"/> +<path d="M413.5 336.6 412.9 346.7 428.1 356.7 428.7 345.3Z" fill="#96261D" stroke="#96261D"/> +<path d="M446.7 339.1 438.2 336.2 428.7 345.3 428.1 356.7 436.4 359.4 445.6 350.8Z" fill="#B72F24" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M437.2 229.5 428.5 226.1 443.8 220.7 453.5 224.4Z" fill="#6E2115" stroke="#982E1D"/> +<path d="M423.8 235.0 427.9 247.5 443.0 244.6 438.5 230.6Z" fill="#9A2E1E" stroke="#982E1D"/> +<path d="M453.5 224.4 443.8 220.7 438.5 230.6 443.0 244.6 453.0 248.4 458.1 238.2Z" fill="#C43B26" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M395.4 372.6 404.0 364.4 419.2 378.0 409.4 387.4Z" fill="#AE2622" stroke="#95201D"/> +<path d="M404.0 364.4 404.6 354.6 419.9 366.7 419.2 378.0Z" fill="#911F1C" stroke="#95201D"/> +<path d="M387.6 360.9 387.1 371.1 399.8 385.6 400.5 374.0Z" fill="#901F1C" stroke="#95201D"/> +<path d="M419.9 366.7 410.7 364.4 400.5 374.0 399.8 385.6 409.4 387.4 419.2 378.0Z" fill="#B52723" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M439.8 263.8 436.8 250.9 448.5 249.1 451.9 263.1Z" fill="#9F401F" stroke="#9C3F1E"/> +<path d="M436.8 250.9 427.9 247.5 438.9 245.4 448.5 249.1Z" fill="#712E16" stroke="#9C3F1E"/> +<path d="M427.9 247.5 421.9 257.0 432.4 255.7 438.9 245.4Z" fill="#B34823" stroke="#9C3F1E"/> +<path d="M421.9 257.0 425.0 270.0 435.7 269.9 432.4 255.7Z" fill="#9E401E" stroke="#9C3F1E"/> +<path d="M448.5 249.1 438.9 245.4 432.4 255.7 435.7 269.9 445.5 273.5 451.9 263.1Z" fill="#C75026" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M258.3 141.1 253.7 150.3 250.2 141.1 255.1 131.3Z" fill="#733215" stroke="#9E451D"/> +<path d="M259.2 147.7 273.0 144.2 277.6 134.3 268.7 128.0 255.1 131.3 250.2 141.1Z" fill="#F66C2E" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M404.6 354.6 412.9 346.7 443.4 366.9 432.9 376.9Z" fill="#652266" stroke="#571D58"/> +<path d="M412.9 346.7 413.5 336.6 444.2 354.0 443.4 366.9Z" fill="#561D57" stroke="#571D58"/> +<path d="M413.5 336.6 405.1 333.6 433.4 350.3 444.2 354.0Z" fill="#4E1A4E" stroke="#571D58"/> +<path d="M396.5 341.7 396.6 352.6 422.7 374.3 422.5 360.6Z" fill="#541C55" stroke="#571D58"/> +<path d="M405.1 333.6 396.5 341.7 422.5 360.6 433.4 350.3Z" fill="#652266" stroke="#571D58"/> +<path d="M444.2 354.0 433.4 350.3 422.5 360.6 422.7 374.3 432.9 376.9 443.4 366.9Z" fill="#69236A" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M413.5 336.6 421.9 328.6 438.7 336.4 429.2 345.5Z" fill="#AE2A21" stroke="#96241D"/> +<path d="M421.9 328.6 421.9 317.2 438.7 323.5 438.7 336.4Z" fill="#96251D" stroke="#96241D"/> +<path d="M404.7 322.5 405.1 333.6 419.6 342.1 419.1 329.5Z" fill="#94241C" stroke="#96241D"/> +<path d="M413.1 314.1 404.7 322.5 419.1 329.5 428.7 319.9Z" fill="#AE2A21" stroke="#96241D"/> +<path d="M438.7 323.5 428.7 319.9 419.1 329.5 419.6 342.1 429.2 345.5 438.7 336.4Z" fill="#B82D23" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M377.3 379.1 387.1 371.1 390.1 374.5 379.9 382.7Z" fill="#C7771E" stroke="#AA6619"/> +<path d="M387.1 371.1 387.6 360.9 390.6 364.0 390.1 374.5Z" fill="#A56218" stroke="#AA6619"/> +<path d="M387.6 360.9 378.2 358.4 380.9 361.4 390.6 364.0Z" fill="#9E5E17" stroke="#AA6619"/> +<path d="M390.6 364.0 380.9 361.4 370.4 369.8 370.0 380.6 379.9 382.7 390.1 374.5Z" fill="#CF7B1F" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M387.6 360.9 396.6 352.6 411.6 365.1 401.2 374.7Z" fill="#AE2222" stroke="#941D1D"/> +<path d="M396.5 341.7 387.4 338.8 400.9 349.2 411.4 352.5Z" fill="#871A1A" stroke="#941D1D"/> +<path d="M387.4 338.8 378.1 347.2 390.1 358.8 400.9 349.2Z" fill="#AD2222" stroke="#941D1D"/> +<path d="M411.4 352.5 400.9 349.2 390.1 358.8 390.3 371.8 401.2 374.7 411.6 365.1Z" fill="#B82424" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M396.5 341.7 405.1 333.6 419.6 342.1 409.8 351.4Z" fill="#AF2B22" stroke="#96241D"/> +<path d="M387.4 338.8 396.5 341.7 409.8 351.4 399.5 348.1Z" fill="#89211A" stroke="#96241D"/> +<path d="M404.7 322.5 395.3 319.0 408.5 325.6 419.2 329.5Z" fill="#86201A" stroke="#96241D"/> +<path d="M386.6 327.3 387.4 338.8 399.5 348.1 398.5 334.9Z" fill="#91231C" stroke="#96241D"/> +<path d="M419.2 329.5 408.5 325.6 398.5 334.9 399.5 348.1 409.8 351.4 419.6 342.1Z" fill="#BC2E24" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M404.7 322.5 413.1 314.1 416.6 315.4 407.9 324.0Z" fill="#C87C1D" stroke="#AC6A18"/> +<path d="M395.3 319.0 404.7 322.5 407.9 324.0 398.2 320.5Z" fill="#995F16" stroke="#AC6A18"/> +<path d="M394.0 307.2 395.3 319.0 398.2 320.5 396.8 308.2Z" fill="#A86818" stroke="#AC6A18"/> +<path d="M415.5 302.8 405.4 299.2 396.8 308.2 398.2 320.5 407.9 324.0 416.6 315.4Z" fill="#DA881F" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M353.0 163.5 340.5 163.1 344.1 153.3 357.8 153.7Z" fill="#712C16" stroke="#9B3C1F"/> +<path d="M356.6 182.4 361.2 173.3 366.6 164.5 361.6 174.4Z" fill="#A13E20" stroke="#9B3C1F"/> +<path d="M336.2 172.3 344.2 181.8 348.1 173.7 339.4 163.3Z" fill="#90381D" stroke="#9B3C1F"/> +<path d="M357.8 153.7 344.1 153.3 339.4 163.3 348.1 173.7 361.6 174.4 366.6 164.5Z" fill="#E5592D" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M378.1 347.2 387.4 338.8 392.5 342.8 382.6 351.6Z" fill="#BE5F21" stroke="#A2511C"/> +<path d="M367.7 343.7 378.1 347.2 382.6 351.6 371.6 348.0Z" fill="#964B1A" stroke="#A2511C"/> +<path d="M366.9 331.8 367.7 343.7 371.6 348.0 370.8 335.3Z" fill="#9C4E1B" stroke="#A2511C"/> +<path d="M391.6 330.5 381.0 326.7 370.8 335.3 371.6 348.0 382.6 351.6 392.5 342.8Z" fill="#D06824" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M345.2 335.5 345.9 347.7 348.7 352.5 348.1 339.5Z" fill="#9A4B1B" stroke="#A24E1D"/> +<path d="M355.8 327.6 345.2 335.5 348.1 339.5 359.3 331.1Z" fill="#BA5A21" stroke="#A24E1D"/> +<path d="M371.1 335.5 359.3 331.1 348.1 339.5 348.7 352.5 360.8 356.8 371.9 348.2Z" fill="#D36625" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M366.9 331.8 376.5 323.6 383.0 328.0 372.6 336.8Z" fill="#B44A23" stroke="#9C401E"/> +<path d="M355.8 327.6 366.9 331.8 372.6 336.8 360.5 332.3Z" fill="#8E3A1B" stroke="#9C401E"/> +<path d="M354.7 315.4 355.8 327.6 360.5 332.3 359.3 319.0Z" fill="#953D1D" stroke="#9C401E"/> +<path d="M381.5 315.1 369.9 310.6 359.3 319.0 360.5 332.3 372.6 336.8 383.0 328.0Z" fill="#CF5428" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M334.7 355.3 345.9 347.7 348.5 352.1 336.7 360.1Z" fill="#BC5E20" stroke="#A2511C"/> +<path d="M345.9 347.7 345.2 335.5 347.8 339.2 348.5 352.1Z" fill="#9A4D1B" stroke="#A2511C"/> +<path d="M322.4 338.3 322.9 350.5 324.2 355.0 323.7 342.1Z" fill="#984C1A" stroke="#A2511C"/> +<path d="M333.5 330.8 322.4 338.3 323.7 342.1 335.5 334.2Z" fill="#B95C20" stroke="#A2511C"/> +<path d="M347.8 339.2 335.5 334.2 323.7 342.1 324.2 355.0 336.7 360.1 348.5 352.1Z" fill="#D86C25" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M333.5 330.8 345.2 335.5 355.1 349.4 340.9 343.7Z" fill="#6B1836" stroke="#741A3B"/> +<path d="M354.7 315.4 343.3 310.9 352.7 319.4 366.6 324.9Z" fill="#691735" stroke="#741A3B"/> +<path d="M343.3 310.9 332.7 318.4 339.8 328.6 352.7 319.4Z" fill="#831D42" stroke="#741A3B"/> +<path d="M366.6 324.9 352.7 319.4 339.8 328.6 340.9 343.7 355.1 349.4 368.0 339.8Z" fill="#9D234F" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M354.7 315.4 364.5 307.6 372.0 311.8 361.1 320.5Z" fill="#AD3522" stroke="#982E1E"/> +<path d="M364.5 307.6 362.8 295.9 370.1 298.6 372.0 311.8Z" fill="#922C1D" stroke="#982E1E"/> +<path d="M362.8 295.9 351.8 291.6 357.8 293.9 370.1 298.6Z" fill="#6E2216" stroke="#982E1E"/> +<path d="M342.0 298.8 343.3 310.9 348.3 315.4 346.9 302.0Z" fill="#902C1D" stroke="#982E1E"/> +<path d="M351.8 291.6 342.0 298.8 346.9 302.0 357.8 293.9Z" fill="#A93321" stroke="#982E1E"/> +<path d="M370.1 298.6 357.8 293.9 346.9 302.0 348.3 315.4 361.1 320.5 372.0 311.8Z" fill="#D03F29" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M310.7 333.0 322.4 338.3 324.5 344.5 311.7 338.8Z" fill="#90361D" stroke="#9B3A1F"/> +<path d="M333.5 330.8 332.7 318.4 335.8 322.8 336.7 336.4Z" fill="#92371D" stroke="#9B3A1F"/> +<path d="M310.2 320.7 310.7 333.0 311.7 338.8 311.1 325.3Z" fill="#8F361D" stroke="#9B3A1F"/> +<path d="M332.7 318.4 321.1 313.5 323.0 317.4 335.8 322.8Z" fill="#8D351C" stroke="#9B3A1F"/> +<path d="M335.8 322.8 323.0 317.4 311.1 325.3 311.7 338.8 324.5 344.5 336.7 336.4Z" fill="#D4502A" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M321.1 313.5 332.7 318.4 337.0 324.6 323.9 319.0Z" fill="#89241B" stroke="#96271D"/> +<path d="M342.0 298.8 330.7 294.3 334.7 297.3 347.6 302.4Z" fill="#86231A" stroke="#96271D"/> +<path d="M330.7 294.3 320.3 301.4 323.0 305.3 334.7 297.3Z" fill="#A52B20" stroke="#96271D"/> +<path d="M347.6 302.4 334.7 297.3 323.0 305.3 323.9 319.0 337.0 324.6 349.0 316.0Z" fill="#D13629" stroke="#FFFFFF" stroke-opacity="0.7"/> +<path d="M342.0 298.8 351.8 291.6 353.4 292.2 343.3 299.7Z" fill="#BF761B" stroke="#AC6A18"/> +<path d="M350.1 280.3 339.1 276.2 340.3 276.3 351.6 280.6Z" fill="#7D4D12" stroke="#AC6A18"/> +<path d="M339.1 276.2 329.5 282.9 330.4 283.2 340.3 276.3Z" fill="#BA731B" stroke="#AC6A18"/> +<path d="M351.6 280.6 340.3 276.3 330.4 283.2 331.6 295.0 343.3 299.7 353.4 292.2Z" fill="#F19522" stroke="#FFFFFF" stroke-opacity="0.7"/> +</g> +<path d="M329.4 206.1 328.0 205.8 326.7 205.5 325.4 205.2 324.0 204.9 322.7 204.6 321.3 204.3 320.0 204.0 318.7 203.7 317.3 203.4 316.0 203.1 314.6 202.8 313.3 202.5 311.9 202.3 310.6 202.0 309.2 201.7 307.9 201.5 306.5 201.2 305.2 201.0 303.8 200.7 302.5 200.5 301.1 200.2 299.8 200.0 298.4 199.7 297.1 199.5 295.7 199.3 294.4 199.1 293.0 198.9 291.7 198.7 290.3 198.4 289.0 198.2 287.6 198.0 286.3 197.9 284.9 197.7 283.6 197.5 282.2 197.3 280.9 197.1 279.6 196.9 278.2 196.8 276.9 196.6 27 [...] +<circle cx="329.4" cy="206.1" r="3.2" fill="#FFFFFF" stroke="#3C3C3C" stroke-width="1.6"/> +<text x="337.4" y="198.1" text-anchor="start" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" font-weight="600" fill="#3C3C3C" stroke="#FFFFFF" stroke-width="3" paint-order="stroke">08:00Z</text> +<circle cx="249.2" cy="194.2" r="3.2" fill="#FFFFFF" stroke="#3C3C3C" stroke-width="1.6"/> +<text x="249.2" y="185.2" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" font-weight="600" fill="#3C3C3C" stroke="#FFFFFF" stroke-width="3" paint-order="stroke">12:00Z</text> +<circle cx="179.4" cy="198.4" r="3.2" fill="#FFFFFF" stroke="#3C3C3C" stroke-width="1.6"/> +<text x="177.4" y="188.4" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" font-weight="600" fill="#3C3C3C" stroke="#FFFFFF" stroke-width="3" paint-order="stroke">16:00Z</text> +<g><circle r="7" fill="#F69A23" fill-opacity="0.35"/><circle r="4" fill="#D22128" stroke="#FFFFFF" stroke-width="1.5"/><animateMotion dur="14s" begin="0.00s" repeatCount="indefinite" calcMode="linear" path="M329.4 206.1 328.0 205.8 326.7 205.5 325.4 205.2 324.0 204.9 322.7 204.6 321.3 204.3 320.0 204.0 318.7 203.7 317.3 203.4 316.0 203.1 314.6 202.8 313.3 202.5 311.9 202.3 310.6 202.0 309.2 201.7 307.9 201.5 306.5 201.2 305.2 201.0 303.8 200.7 302.5 200.5 301.1 200.2 299.8 200.0 298.4 19 [...] +<path d="M89.9 233.8 89.9 235.0 90.0 236.3 90.3 237.6 90.7 238.9 91.2 240.2 91.9 241.6 92.8 243.0 93.8 244.4 94.9 245.8 96.1 247.2 97.5 248.7 99.1 250.2 100.8 251.7 102.6 253.2 104.5 254.7 106.6 256.2 108.8 257.7 111.2 259.3 113.7 260.8 116.3 262.4 119.0 264.0 121.8 265.6 124.8 267.1 127.9 268.7 131.1 270.3 134.5 271.9 137.9 273.5 141.5 275.1 145.1 276.7 148.9 278.2 152.8 279.8 156.7 281.4 160.8 283.0 165.0 284.5 169.2 286.1 173.6 287.6 178.0 289.1 182.6 290.6 187.2 292.1 191.8 293.6 196 [...] +<path d="M132.7 442.0 134.9 443.9 137.1 445.6 139.5 447.3 142.0 448.8 144.6 450.2 147.3 451.5 150.1 452.6 153.0 453.7 156.0 454.6 159.1 455.4 162.3 456.0 165.6 456.5 169.0 456.9 172.5 457.2 176.1 457.4 179.7 457.4 183.4 457.3 187.3 457.1 191.2 456.7 195.1 456.2 199.2 455.6 203.3 454.9 207.4 454.0 211.7 453.0 216.0 451.9 220.3 450.7 224.7 449.3 229.2 447.9 233.7 446.3 238.3 444.5 242.9 442.7 247.5 440.8 252.2 438.7 256.9 436.5 261.6 434.2 266.4 431.8 271.2 429.3 276.0 426.7 280.8 423.9 28 [...] +<path d="M381.7 129.8 386.1 134.8 390.4 139.9 394.6 145.0 398.7 150.3 402.8 155.6 406.8 161.0 410.8 166.5 414.6 172.1 418.4 177.7 422.1 183.4 425.8 189.1 429.3 195.0 432.8 200.8 436.1 206.7 439.4 212.7 442.6 218.7 445.6 224.7 448.6 230.8 451.5 236.9 454.2 243.0 456.9 249.1 459.4 255.3 461.9 261.5 464.2 267.6 466.4 273.8 468.6 280.0 470.5 286.1 472.4 292.3 474.2 298.5 475.8 304.6 477.3 310.7 478.7 316.8 480.0 322.8 481.1 328.8 482.2 334.8 483.1 340.7 483.8 346.6 484.5 352.5 485.0 358.2 48 [...] +<path d="M166.5 49.0 170.0 47.1 173.5 45.3 177.1 43.7 180.8 42.2 184.5 40.9 188.4 39.7 192.3 38.7 196.3 37.9 200.4 37.2 204.5 36.7 208.7 36.3 213.0 36.1 217.3 36.1 221.7 36.2 226.2 36.5 230.7 37.0 235.2 37.6 239.8 38.3 244.4 39.3 249.1 40.4 253.8 41.6 258.5 43.0 263.2 44.6 268.0 46.3 272.8 48.2 277.6 50.2 282.5 52.4 287.3 54.7 292.2 57.2 297.0 59.8 301.9 62.6 306.8 65.5 311.6 68.6 316.5 71.8 321.3 75.1 326.2 78.6 331.0 82.2 335.7 85.9 340.5 89.8 345.2 93.8 349.9 97.9 354.6 102.1 359.2 10 [...] +<circle r="2.2" fill="#7C297D" opacity="0.25"><animateMotion dur="26s" begin="-0.62s" repeatCount="indefinite" calcMode="linear" path="M478.2 278.4 475.2 276.9 472.1 275.3 468.9 273.7 465.5 272.1 462.1 270.5 458.5 268.9 454.9 267.3 451.1 265.8 447.2 264.2 443.3 262.6 439.2 261.0 435.0 259.5 430.8 257.9 426.4 256.4 422.0 254.9 417.4 253.4 412.8 251.9 408.2 250.4 403.4 248.9 398.6 247.4 393.7 246.0 388.7 244.6 383.7 243.2 378.7 241.8 373.5 240.4 368.3 239.1 363.1 237.7 357.9 236.4 352.5 23 [...] +<circle r="2.6" fill="#7C297D" opacity="0.45"><animateMotion dur="26s" begin="-0.34s" repeatCount="indefinite" calcMode="linear" path="M478.2 278.4 475.2 276.9 472.1 275.3 468.9 273.7 465.5 272.1 462.1 270.5 458.5 268.9 454.9 267.3 451.1 265.8 447.2 264.2 443.3 262.6 439.2 261.0 435.0 259.5 430.8 257.9 426.4 256.4 422.0 254.9 417.4 253.4 412.8 251.9 408.2 250.4 403.4 248.9 398.6 247.4 393.7 246.0 388.7 244.6 383.7 243.2 378.7 241.8 373.5 240.4 368.3 239.1 363.1 237.7 357.9 236.4 352.5 23 [...] +<use xlink:href="#sat" href="#sat"><animateMotion dur="26s" begin="0.00s" repeatCount="indefinite" calcMode="linear" path="M478.2 278.4 475.2 276.9 472.1 275.3 468.9 273.7 465.5 272.1 462.1 270.5 458.5 268.9 454.9 267.3 451.1 265.8 447.2 264.2 443.3 262.6 439.2 261.0 435.0 259.5 430.8 257.9 426.4 256.4 422.0 254.9 417.4 253.4 412.8 251.9 408.2 250.4 403.4 248.9 398.6 247.4 393.7 246.0 388.7 244.6 383.7 243.2 378.7 241.8 373.5 240.4 368.3 239.1 363.1 237.7 357.9 236.4 352.5 235.2 347.2 23 [...] +<circle r="2.2" fill="#D22128" opacity="0.25"><animateMotion dur="38s" begin="-0.91s" repeatCount="indefinite" calcMode="linear" path="M123.6 344.4 122.2 348.8 120.9 353.2 119.7 357.5 118.6 361.8 117.7 366.0 116.8 370.2 116.2 374.2 115.6 378.3 115.1 382.2 114.8 386.1 114.7 389.9 114.6 393.6 114.7 397.2 114.9 400.7 115.2 404.2 115.6 407.5 116.2 410.8 116.9 414.0 117.7 417.0 118.7 420.0 119.8 422.9 121.0 425.7 122.3 428.3 123.7 430.9 125.3 433.3 127.0 435.7 128.8 437.9 130.7 440.0 132.7 44 [...] +<circle r="2.6" fill="#D22128" opacity="0.45"><animateMotion dur="38s" begin="-0.49s" repeatCount="indefinite" calcMode="linear" path="M123.6 344.4 122.2 348.8 120.9 353.2 119.7 357.5 118.6 361.8 117.7 366.0 116.8 370.2 116.2 374.2 115.6 378.3 115.1 382.2 114.8 386.1 114.7 389.9 114.6 393.6 114.7 397.2 114.9 400.7 115.2 404.2 115.6 407.5 116.2 410.8 116.9 414.0 117.7 417.0 118.7 420.0 119.8 422.9 121.0 425.7 122.3 428.3 123.7 430.9 125.3 433.3 127.0 435.7 128.8 437.9 130.7 440.0 132.7 44 [...] +<use xlink:href="#sat" href="#sat"><animateMotion dur="38s" begin="0.00s" repeatCount="indefinite" calcMode="linear" path="M123.6 344.4 122.2 348.8 120.9 353.2 119.7 357.5 118.6 361.8 117.7 366.0 116.8 370.2 116.2 374.2 115.6 378.3 115.1 382.2 114.8 386.1 114.7 389.9 114.6 393.6 114.7 397.2 114.9 400.7 115.2 404.2 115.6 407.5 116.2 410.8 116.9 414.0 117.7 417.0 118.7 420.0 119.8 422.9 121.0 425.7 122.3 428.3 123.7 430.9 125.3 433.3 127.0 435.7 128.8 437.9 130.7 440.0 132.7 442.0 134.9 44 [...] +<circle r="2.2" fill="#DD552C" opacity="0.25"><animateMotion dur="50s" begin="-1.20s" repeatCount="indefinite" calcMode="linear" path="M381.7 129.8 386.1 134.8 390.4 139.9 394.6 145.0 398.7 150.3 402.8 155.6 406.8 161.0 410.8 166.5 414.6 172.1 418.4 177.7 422.1 183.4 425.8 189.1 429.3 195.0 432.8 200.8 436.1 206.7 439.4 212.7 442.6 218.7 445.6 224.7 448.6 230.8 451.5 236.9 454.2 243.0 456.9 249.1 459.4 255.3 461.9 261.5 464.2 267.6 466.4 273.8 468.6 280.0 470.5 286.1 472.4 292.3 474.2 29 [...] +<circle r="2.6" fill="#DD552C" opacity="0.45"><animateMotion dur="50s" begin="-0.65s" repeatCount="indefinite" calcMode="linear" path="M381.7 129.8 386.1 134.8 390.4 139.9 394.6 145.0 398.7 150.3 402.8 155.6 406.8 161.0 410.8 166.5 414.6 172.1 418.4 177.7 422.1 183.4 425.8 189.1 429.3 195.0 432.8 200.8 436.1 206.7 439.4 212.7 442.6 218.7 445.6 224.7 448.6 230.8 451.5 236.9 454.2 243.0 456.9 249.1 459.4 255.3 461.9 261.5 464.2 267.6 466.4 273.8 468.6 280.0 470.5 286.1 472.4 292.3 474.2 29 [...] +<use xlink:href="#sat" href="#sat"><animateMotion dur="50s" begin="0.00s" repeatCount="indefinite" calcMode="linear" path="M381.7 129.8 386.1 134.8 390.4 139.9 394.6 145.0 398.7 150.3 402.8 155.6 406.8 161.0 410.8 166.5 414.6 172.1 418.4 177.7 422.1 183.4 425.8 189.1 429.3 195.0 432.8 200.8 436.1 206.7 439.4 212.7 442.6 218.7 445.6 224.7 448.6 230.8 451.5 236.9 454.2 243.0 456.9 249.1 459.4 255.3 461.9 261.5 464.2 267.6 466.4 273.8 468.6 280.0 470.5 286.1 472.4 292.3 474.2 298.5 475.8 30 [...] +<line x1="150.0" y1="535.0" x2="450.0" y2="535.0" stroke="#7C297D" stroke-opacity="0.25" stroke-width="4" stroke-linecap="round"/> +<rect x="150.0" y="533.0" width="0" height="4" rx="2" fill="url(#timefill)"><animate attributeName="width" from="0" to="300.0" dur="14s" repeatCount="indefinite"/></rect> +<line x1="150.0" y1="540.0" x2="150.0" y2="546.0" stroke="#999999" stroke-width="1"/> +<text x="150.0" y="559.0" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" fill="#999999">08:00Z</text> +<line x1="187.5" y1="540.0" x2="187.5" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="225.0" y1="540.0" x2="225.0" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="262.5" y1="540.0" x2="262.5" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="300.0" y1="540.0" x2="300.0" y2="546.0" stroke="#999999" stroke-width="1"/> +<text x="300.0" y="559.0" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" fill="#999999">12:00Z</text> +<line x1="337.5" y1="540.0" x2="337.5" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="375.0" y1="540.0" x2="375.0" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="412.5" y1="540.0" x2="412.5" y2="543.0" stroke="#999999" stroke-width="1"/> +<line x1="450.0" y1="540.0" x2="450.0" y2="546.0" stroke="#999999" stroke-width="1"/> +<text x="450.0" y="559.0" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Arial, sans-serif" font-size="11" fill="#999999">16:00Z</text> +<text x="136.0" y="539.0" text-anchor="end" font-family="Georgia, 'Times New Roman', serif" font-style="italic" font-size="16" fill="#3C3C3C">t</text> +<circle cx="150.0" cy="535.0" r="6" fill="#FFFFFF" stroke="#D22128" stroke-width="2.5"><animate attributeName="cx" from="150.0" to="450.0" dur="14s" repeatCount="indefinite"/></circle> +</svg> \ No newline at end of file diff --git a/static/images/topbar-pattern.svg b/static/images/topbar-pattern.svg new file mode 100644 index 00000000..8561b33d --- /dev/null +++ b/static/images/topbar-pattern.svg @@ -0,0 +1,12 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2400 80" width="2400" height="80" preserveAspectRatio="xMinYMid slice"> +<defs> + <linearGradient id="fade" x1="0" x2="1"> + <stop offset="0" stop-color="#FFFFFF" stop-opacity="0"/> + <stop offset="0.08" stop-color="#FFFFFF" stop-opacity="0"/> + <stop offset="0.24" stop-color="#FFFFFF" stop-opacity="1"/> + </linearGradient> + <mask id="m"><rect width="2400" height="80" fill="url(#fade)"/></mask> +</defs> +<g mask="url(#m)" stroke="#FFFFFF" stroke-width="1"><path d="M883.3 -18.0 883.3 -6.0 873.0 0.0 862.6 -6.0 862.6 -18.0 873.0 -24.0Z" fill="#DB4E2B" fill-opacity="0.18"/><path d="M1091.2 -18.0 1091.2 -6.0 1080.8 0.0 1070.4 -6.0 1070.4 -18.0 1080.8 -24.0Z" fill="#D22228" fill-opacity="0.22"/><path d="M1112.0 -18.0 1112.0 -6.0 1101.6 0.0 1091.2 -6.0 1091.2 -18.0 1101.6 -24.0Z" fill="#C82232" fill-opacity="0.23"/><path d="M1465.3 -18.0 1465.3 -6.0 1454.9 0.0 1444.5 -6.0 1444.5 -18.0 1454.9 -2 [...] +<path mask="url(#m)" d="M-10.4 -18.0 -10.4 -6.0 -20.8 0.0 -31.2 -6.0 -31.2 -18.0 -20.8 -24.0Z M10.4 -18.0 10.4 -6.0 0.0 0.0 -10.4 -6.0 -10.4 -18.0 -0.0 -24.0Z M31.2 -18.0 31.2 -6.0 20.8 0.0 10.4 -6.0 10.4 -18.0 20.8 -24.0Z M52.0 -18.0 52.0 -6.0 41.6 0.0 31.2 -6.0 31.2 -18.0 41.6 -24.0Z M72.7 -18.0 72.7 -6.0 62.4 0.0 52.0 -6.0 52.0 -18.0 62.4 -24.0Z M93.5 -18.0 93.5 -6.0 83.1 0.0 72.7 -6.0 72.7 -18.0 83.1 -24.0Z M114.3 -18.0 114.3 -6.0 103.9 0.0 93.5 -6.0 93.5 -18.0 103.9 -24.0Z M135.1 -1 [...] +</svg> \ No newline at end of file diff --git a/static/sis.css b/static/sis.css index 32755dfe..5b534f9c 100644 --- a/static/sis.css +++ b/static/sis.css @@ -4,6 +4,32 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ +/* + * ┌──────────────────────────────────────────────────────────┐ + * │ Colors of the Apache SIS logo, used everywhere below. │ + * └──────────────────────────────────────────────────────────┘ + */ +:root { + --sis-purple: #7C297D; /* Base of the feather and dots of "S.I.S". */ + --sis-purple-dark: #5E1F5F; + --sis-red: #D22128; + --sis-orange: #DD552C; + --sis-amber: #F69A23; + --sis-ink: #3C3C3C; /* Letters "S.I.S". */ + --sis-grey: #999999; /* Letters "APACHE". */ + + --text: #2E2E2E; + --text-muted: #6B6B6B; + --border: #E7E1E8; + --surface: #FFFFFF; + --surface-alt: #F8F5F9; /* Light tint of the purple. */ + --surface-code: #FAF8FB; + --accent-gradient: linear-gradient(90deg, var(--sis-amber), var(--sis-orange), var(--sis-red), var(--sis-purple)); + + --topbar-height: 5rem; + --radius: 0.5rem; +} + /* * ┌──────────────────────────────────────────────────────────┐ * │ Modifications to standard elements anywhere in the site. │ @@ -15,28 +41,36 @@ *::after { box-sizing: border-box; } +html { + scroll-padding-top: calc(var(--topbar-height) + 1rem); /* Anchors not hidden by the top bar. */ +} body { - margin: 0; - padding-top: 3.5rem; - font-family: system-ui, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; + margin: 0; + padding-top: var(--topbar-height); + font-family: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; + font-size: 1rem; + line-height: 1.6; + color: var(--text); + background-color: var(--surface); + -webkit-font-smoothing: antialiased; } pre, code { /* Avoid Monaco font, because box (or tree) symbols do not render well. */ - font-family: Menlo,Consolas,"Courier New",monospace; + font-family: Menlo, Consolas, "Courier New", monospace; font-size: 0.875em; } pre code { font-size: inherit; } -.topbar, .left-bar { - background-color: #003366; -} a { text-decoration: none; - color: #1f618d; + color: var(--sis-purple); + transition: color 0.15s; } a:hover { - color: #0a58ca; + color: var(--sis-red); + text-decoration: underline; + text-underline-offset: 0.15em; } a > code { color: inherit; @@ -45,20 +79,27 @@ summary { display: list-item; cursor: pointer; } +summary:hover { + color: var(--sis-purple); +} img { vertical-align: middle; } footer { - padding-top: 1rem; - font-size: smaller; - color: gray; + margin-top: 4rem; + padding: 1.5rem 0 1rem 0; + border-top: 1px solid var(--border); + font-size: 0.8125rem; + color: var(--text-muted); } footer p { text-align: center; } footer a { - text-decoration: none; - color: gray; + color: var(--text-muted); +} +footer a:hover { + color: var(--sis-purple); } /* @@ -66,44 +107,48 @@ footer a { * │ Classes used in the top bar and in the page title. │ * └────────────────────────────────────────────────────┘ */ -img.apache-con { - width: auto; - height: 2.5rem; -} -img.sis-logo { - width: auto; - height: 4rem; - margin-right: 2rem; -} -p.page-title { - font-size: 2.5rem; - font-weight: bolder; - text-align: left; - margin-top: 2rem; - padding-bottom: 0.75rem; -} -div.topbar { - position: fixed; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding-left: 1.0rem; - padding-right: 0.5rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - top: 0; - right: 0; - left: 0; +header.topbar { + position: fixed; + z-index: 10; + top: 0; + right: 0; + left: 0; + height: var(--topbar-height); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 1rem; + background-color: rgba(255, 255, 255, 0.96); + background-image: url("images/topbar-pattern.svg"); /* Hexagons similar to the discrete global grid. */ + background-repeat: repeat-x; + background-size: auto 100%; + box-shadow: 0 1px 8px rgba(60, 60, 60, 0.08); +} +header.topbar::after { /* Thin strip with the colors of the feather. */ + content: ""; + position: absolute; + left: 0; + right: 0; + bottom: 0; + height: 3px; + background: var(--accent-gradient); } a.topbar-brand { - margin-right: 1rem; - font-size: 1.5rem; - font-weight: bolder; - color: white; + display: flex; + align-items: center; + height: 100%; } a.topbar-brand:hover { - color: white; + text-decoration: none; +} +img.sis-logo { + width: auto; + height: 4.25rem; +} +img.apache-con { + width: auto; + height: 2.5rem; + border-radius: 0.25rem; } ul.topbar-items { display: flex; @@ -113,6 +158,25 @@ ul.topbar-items { margin-top: 0; margin-bottom: 0; } +p.page-title { + font-size: 2.25rem; + font-weight: 700; + line-height: 1.2; + letter-spacing: -0.01em; + color: var(--sis-ink); + text-align: left; + margin-top: 2.5rem; + margin-bottom: 1.5rem; +} +p.page-title::after { /* Short underline with the colors of the feather. */ + content: ""; + display: block; + width: 4rem; + height: 4px; + margin-top: 0.75rem; + border-radius: 2px; + background: var(--accent-gradient); +} /* * ┌─────────────────────────────────────────────────────────────────────────────┐ @@ -121,6 +185,7 @@ ul.topbar-items { */ .container { width: 100%; + max-width: 68rem; margin-right: auto; margin-left: auto; } @@ -129,48 +194,49 @@ ul.topbar-items { flex-wrap: nowrap; margin-top: 0; } -.main-section > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - margin-top: 0; -} .main-content { - flex: 1 0 0%; - padding-right: 1.5rem; - padding-left: 1.5rem; + flex: 1 1 0%; + min-width: 0; /* Let wide tables and code blocks scroll instead of widening the page. */ + padding-right: 2rem; + padding-left: 2rem; } .left-bar { - padding: 1rem; - width: 12rem; - min-height: 40rem; + flex-shrink: 0; + width: 13rem; + background-color: var(--surface-alt); + border-right: 1px solid var(--border); } -.left-bar, ul.nav-pills { +ul.nav-pills { + position: sticky; + top: var(--topbar-height); display: flex; flex-direction: column; - flex-shrink: 0; - margin-top: 0; - margin-bottom: 0; - padding-left: 0.5rem; -} -ul.nav-pills { - flex-wrap: wrap; - padding-left: 0; + gap: 0.125rem; list-style: none; - position: fixed; + margin: 0; + padding: 1.25rem 0.75rem; } a.nav-link { display: block; - padding: 0.5rem 1rem; - color: #0d6efd; + padding: 0.5rem 0.875rem; + border-radius: var(--radius); + font-size: 0.9375rem; + font-weight: 500; text-decoration: none; + transition: background-color 0.15s, color 0.15s; } a.nav-link.inactive { - color: white; + color: var(--sis-ink); +} +a.nav-link.inactive:hover { + color: var(--sis-purple); + background-color: rgba(124, 41, 125, 0.08); + text-decoration: none; } ul.nav-pills a.nav-link.active { - color: white; - background-color: #0d6efd; + color: white; + background-color: var(--sis-purple); + box-shadow: 0 2px 6px rgba(124, 41, 125, 0.3); } /* @@ -178,17 +244,29 @@ ul.nav-pills a.nav-link.active { * │ Classes for the main content (article) │ * └────────────────────────────────────────┘ */ +main h1, main h2, main h3, main h4 { + line-height: 1.3; + color: var(--sis-ink); +} main h1 { - margin-top: 3rem; - margin-bottom: 2rem; - border-bottom: 2px solid rgb(192, 192, 192); + margin-top: 3rem; + margin-bottom: 1.5rem; + padding-bottom: 0.4rem; + font-size: 1.75rem; + font-weight: 700; + border-bottom: 1px solid var(--border); } main h2 { - margin-top: 2rem; + margin-top: 2.25rem; + font-size: 1.375rem; + color: var(--sis-purple); +} +main h3 { + margin-top: 1.75rem; + font-size: 1.125rem; } main p { - text-align: justify; - line-height: 1.4; + margin-top: 0; margin-bottom: 1rem; } main abbr[title] { @@ -198,7 +276,13 @@ main ol, main ul { margin-top: 0; margin-bottom: 1rem; - padding-left: 2rem; + padding-left: 1.75rem; +} +main li { + margin-bottom: 0.25rem; +} +main li::marker { + color: var(--sis-purple); } main ol ol, main ol ul, @@ -208,53 +292,148 @@ main ul ol { } main pre { /* Shall be small enough for avoiding space between box (or tree) symbols. */ - line-height: 1.25; - border-left: 0.25rem solid gray; - padding-left: 1rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - margin-top: 0; - margin-bottom: 1rem; - display: block; - overflow: auto; + line-height: 1.25; + background-color: var(--surface-code); + border: 1px solid var(--border); + border-left: 4px solid var(--sis-amber); + border-radius: var(--radius); + padding: 0.875rem 1rem; + margin-top: 0; + margin-bottom: 1.25rem; + display: block; + overflow: auto; +} +main pre.chroma, main .highlight pre { + background-color: var(--surface-code); } main code { - padding: 2px 2px; - word-wrap: break-word; + padding: 0.1em 0.3em; + border-radius: 0.25rem; + background-color: var(--surface-alt); + word-wrap: break-word; } -main table { - background-color: #F4F8FF; - border-color: Black; - border-style: solid; - border-width: 1px; - border-spacing: 0; - margin: 12px 0 12px 0; +main pre code { padding: 0; - width: auto; + background-color: transparent; +} +main table { + border-collapse: separate; + border-spacing: 0; + border: 1px solid var(--border); + border-radius: var(--radius); + overflow: hidden; + margin: 1rem 0 1.5rem 0; + padding: 0; + width: auto; + font-size: 0.9375rem; } main table tr th { - background-color: #B9DCFF; - border-bottom-color: Black; - border-bottom-style: solid; - border-bottom-width: 1px; - padding: 3px; + background-color: #F3EAF3; + color: var(--sis-ink); + font-weight: 600; + text-align: left; + border-bottom: 2px solid rgba(124, 41, 125, 0.25); + padding: 0.5rem 0.75rem; } main table tr td { - padding: 0px 9px; + padding: 0.4rem 0.75rem; vertical-align: text-top; + border-top: 1px solid var(--border); +} +main table tr:first-child td { + border-top: none; +} +main table tbody tr:nth-child(even) td { + background-color: #FCFAFC; +} +main blockquote { + margin: 1rem 0; + padding: 0.5rem 1rem; + border-left: 4px solid var(--sis-purple); + background-color: var(--surface-alt); + border-radius: 0 var(--radius) var(--radius) 0; +} +div.hero { /* Illustration and summary on the home page. */ + display: flex; + align-items: center; + gap: 1.5rem; + margin: 0 0 2rem 0; + padding: 1rem 2rem 1rem 1rem; + border-radius: 1rem; + background-color: var(--surface-alt); + background-image: radial-gradient(rgba(124, 41, 125, 0.10) 1px, transparent 1.5px), + linear-gradient(135deg, #FBF8FB, #F2EAF3); + background-size: 24px 24px, auto; + box-shadow: 0 2px 12px rgba(124, 41, 125, 0.10); +} +img.hero-globe { + flex: 0 1 26rem; + min-width: 0; + width: 100%; + height: auto; +} +div.hero-text { + flex: 1 1 18rem; +} +p.hero-tagline { + margin: 0 0 1rem 0; + font-size: 2rem; + font-weight: 700; + line-height: 1.2; + letter-spacing: -0.01em; + color: var(--sis-ink); +} +p.hero-tagline span { + color: var(--sis-orange); +} +div.hero-text ul { + padding-left: 1.25rem; +} +div.hero-text li { + margin-bottom: 0.4rem; +} +p.hero-buttons { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + margin: 1.25rem 0 0 0; +} +a.button { + display: inline-block; + padding: 0.55rem 1.25rem; + border-radius: 999px; + font-weight: 600; + color: white; + background-color: var(--sis-purple); + box-shadow: 0 2px 6px rgba(124, 41, 125, 0.3); + transition: background-color 0.15s; +} +a.button:hover { + color: white; + background-color: var(--sis-purple-dark); + text-decoration: none; +} +a.button.secondary { + color: var(--sis-purple); + background-color: white; + box-shadow: inset 0 0 0 1.5px var(--sis-purple); +} +a.button.secondary:hover { + color: var(--sis-red); + box-shadow: inset 0 0 0 1.5px var(--sis-red); } div.warning { - color: crimson; - background: lightyellow; - border-color: lightcoral; - border-style: solid; - border-width: 2px; - padding: 9px; - margin: 21px; + color: #8A1C1F; + background-color: #FFF6EC; + border: 1px solid var(--sis-amber); + border-left: 4px solid var(--sis-red); + border-radius: var(--radius); + padding: 0.75rem 1rem; + margin: 1.5rem 0; } table.images { - background-color: #FDFEFF; + background-color: var(--surface); border-style: none; } table.images tr th, @@ -263,7 +442,7 @@ table.images tr td { vertical-align: middle; border-width: 1px; border-style: dotted; - border-color: cornflowerblue; + border-color: rgba(124, 41, 125, 0.35); } table.images tr td img { margin: 10px; @@ -275,3 +454,43 @@ table.images tr td img { table.images tr td img:hover { transform: scale(3); } + +/* + * ┌────────────────────────────────────────────────────────────┐ + * │ Small screens: the navigation bar goes above the content. │ + * └────────────────────────────────────────────────────────────┘ + */ +@media (max-width: 52rem) { + .main-section { + flex-direction: column; + } + .left-bar { + width: 100%; + border-right: none; + border-bottom: 1px solid var(--border); + } + ul.nav-pills { + position: static; + flex-direction: row; + flex-wrap: wrap; + padding: 0.75rem; + } + .main-content { + padding-right: 1rem; + padding-left: 1rem; + } + img.apache-con { + display: none; + } + p.page-title { + font-size: 1.75rem; + } + div.hero { + flex-direction: column; + padding: 1rem; + } + img.hero-globe { + flex-basis: auto; + max-width: 26rem; + } +} diff --git a/static/syntax.css b/static/syntax.css index 2d85d088..6eaf9985 100644 --- a/static/syntax.css +++ b/static/syntax.css @@ -2,74 +2,75 @@ * * - Do not use dark background for `chroma.err`, because this * is sometime valid syntax not recognized by the highlighter. + * - Colors derived from the Apache SIS logo (see `sis.css`). */ -/* Background */ .chroma { color: #272822; background-color: #fafafa } +/* Background */ .chroma { color: #2E2E2E; background-color: #FAF8FB } /* Error */ .chroma .err { color: #960050; } /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } /* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc } /* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } /* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f } -/* Keyword */ .chroma .k { color: #00a8c8 } -/* KeywordConstant */ .chroma .kc { color: #00a8c8 } -/* KeywordDeclaration */ .chroma .kd { color: #00a8c8 } -/* KeywordNamespace */ .chroma .kn { color: #f92672 } -/* KeywordPseudo */ .chroma .kp { color: #00a8c8 } -/* KeywordReserved */ .chroma .kr { color: #00a8c8 } -/* KeywordType */ .chroma .kt { color: #00a8c8 } +/* Keyword */ .chroma .k { color: #7C297D } +/* KeywordConstant */ .chroma .kc { color: #7C297D } +/* KeywordDeclaration */ .chroma .kd { color: #7C297D } +/* KeywordNamespace */ .chroma .kn { color: #D22128 } +/* KeywordPseudo */ .chroma .kp { color: #7C297D } +/* KeywordReserved */ .chroma .kr { color: #7C297D } +/* KeywordType */ .chroma .kt { color: #7C297D } /* Name */ .chroma .n { color: #111111 } -/* NameAttribute */ .chroma .na { color: #75af00 } +/* NameAttribute */ .chroma .na { color: #1F6F8B } /* NameBuiltin */ .chroma .nb { color: #111111 } /* NameBuiltinPseudo */ .chroma .bp { color: #111111 } -/* NameClass */ .chroma .nc { color: #75af00 } -/* NameConstant */ .chroma .no { color: #00a8c8 } -/* NameDecorator */ .chroma .nd { color: #75af00 } +/* NameClass */ .chroma .nc { color: #1F6F8B } +/* NameConstant */ .chroma .no { color: #7C297D } +/* NameDecorator */ .chroma .nd { color: #1F6F8B } /* NameEntity */ .chroma .ni { color: #111111 } -/* NameException */ .chroma .ne { color: #75af00 } -/* NameFunction */ .chroma .nf { color: #75af00 } +/* NameException */ .chroma .ne { color: #1F6F8B } +/* NameFunction */ .chroma .nf { color: #1F6F8B } /* NameFunctionMagic */ .chroma .fm { color: #111111 } /* NameLabel */ .chroma .nl { color: #111111 } /* NameNamespace */ .chroma .nn { color: #111111 } -/* NameOther */ .chroma .nx { color: #75af00 } +/* NameOther */ .chroma .nx { color: #1F6F8B } /* NameProperty */ .chroma .py { color: #111111 } -/* NameTag */ .chroma .nt { color: #f92672 } +/* NameTag */ .chroma .nt { color: #D22128 } /* NameVariable */ .chroma .nv { color: #111111 } /* NameVariableClass */ .chroma .vc { color: #111111 } /* NameVariableGlobal */ .chroma .vg { color: #111111 } /* NameVariableInstance */ .chroma .vi { color: #111111 } /* NameVariableMagic */ .chroma .vm { color: #111111 } -/* Literal */ .chroma .l { color: #ae81ff } -/* LiteralDate */ .chroma .ld { color: #d88200 } -/* LiteralString */ .chroma .s { color: #d88200 } -/* LiteralStringAffix */ .chroma .sa { color: #d88200 } -/* LiteralStringBacktick */ .chroma .sb { color: #d88200 } -/* LiteralStringChar */ .chroma .sc { color: #d88200 } -/* LiteralStringDelimiter */ .chroma .dl { color: #d88200 } -/* LiteralStringDoc */ .chroma .sd { color: #d88200 } -/* LiteralStringDouble */ .chroma .s2 { color: #d88200 } -/* LiteralStringEscape */ .chroma .se { color: #8045ff } -/* LiteralStringHeredoc */ .chroma .sh { color: #d88200 } -/* LiteralStringInterpol */ .chroma .si { color: #d88200 } -/* LiteralStringOther */ .chroma .sx { color: #d88200 } -/* LiteralStringRegex */ .chroma .sr { color: #d88200 } -/* LiteralStringSingle */ .chroma .s1 { color: #d88200 } -/* LiteralStringSymbol */ .chroma .ss { color: #d88200 } -/* LiteralNumber */ .chroma .m { color: #ae81ff } -/* LiteralNumberBin */ .chroma .mb { color: #ae81ff } -/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff } -/* LiteralNumberHex */ .chroma .mh { color: #ae81ff } -/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff } -/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff } -/* LiteralNumberOct */ .chroma .mo { color: #ae81ff } -/* Operator */ .chroma .o { color: #f92672 } -/* OperatorWord */ .chroma .ow { color: #f92672 } +/* Literal */ .chroma .l { color: #9C5D00 } +/* LiteralDate */ .chroma .ld { color: #B5491B } +/* LiteralString */ .chroma .s { color: #B5491B } +/* LiteralStringAffix */ .chroma .sa { color: #B5491B } +/* LiteralStringBacktick */ .chroma .sb { color: #B5491B } +/* LiteralStringChar */ .chroma .sc { color: #B5491B } +/* LiteralStringDelimiter */ .chroma .dl { color: #B5491B } +/* LiteralStringDoc */ .chroma .sd { color: #B5491B } +/* LiteralStringDouble */ .chroma .s2 { color: #B5491B } +/* LiteralStringEscape */ .chroma .se { color: #7C297D } +/* LiteralStringHeredoc */ .chroma .sh { color: #B5491B } +/* LiteralStringInterpol */ .chroma .si { color: #B5491B } +/* LiteralStringOther */ .chroma .sx { color: #B5491B } +/* LiteralStringRegex */ .chroma .sr { color: #B5491B } +/* LiteralStringSingle */ .chroma .s1 { color: #B5491B } +/* LiteralStringSymbol */ .chroma .ss { color: #B5491B } +/* LiteralNumber */ .chroma .m { color: #9C5D00 } +/* LiteralNumberBin */ .chroma .mb { color: #9C5D00 } +/* LiteralNumberFloat */ .chroma .mf { color: #9C5D00 } +/* LiteralNumberHex */ .chroma .mh { color: #9C5D00 } +/* LiteralNumberInteger */ .chroma .mi { color: #9C5D00 } +/* LiteralNumberIntegerLong */ .chroma .il { color: #9C5D00 } +/* LiteralNumberOct */ .chroma .mo { color: #9C5D00 } +/* Operator */ .chroma .o { color: #D22128 } +/* OperatorWord */ .chroma .ow { color: #D22128 } /* Punctuation */ .chroma .p { color: #111111 } -/* Comment */ .chroma .c { color: #75715e } -/* CommentHashbang */ .chroma .ch { color: #75715e } -/* CommentMultiline */ .chroma .cm { color: #75715e } -/* CommentSingle */ .chroma .c1 { color: #75715e } -/* CommentSpecial */ .chroma .cs { color: #75715e } -/* CommentPreproc */ .chroma .cp { color: #75715e } -/* CommentPreprocFile */ .chroma .cpf { color: #75715e } +/* Comment */ .chroma .c { color: #8A8A8A; font-style: italic } +/* CommentHashbang */ .chroma .ch { color: #8A8A8A; font-style: italic } +/* CommentMultiline */ .chroma .cm { color: #8A8A8A; font-style: italic } +/* CommentSingle */ .chroma .c1 { color: #8A8A8A; font-style: italic } +/* CommentSpecial */ .chroma .cs { color: #8A8A8A; font-style: italic } +/* CommentPreproc */ .chroma .cp { color: #8A8A8A; font-style: italic } +/* CommentPreprocFile */ .chroma .cpf { color: #8A8A8A; font-style: italic } /* GenericEmph */ .chroma .ge { font-style: italic } /* GenericStrong */ .chroma .gs { font-weight: bold }
