diff --git a/preview-src/docs-explainer.adoc b/preview-src/docs-explainer.adoc index a74e1839..7f0ef340 100644 --- a/preview-src/docs-explainer.adoc +++ b/preview-src/docs-explainer.adoc @@ -33,7 +33,7 @@ image:icons/ndl/icon-import.svg[] Use Cypher for importing bulk data into Neo4j. Suited for non-admin users. [.link] -link:{docs-home}/cypher-manual/current/clauses/load-csv/[] +link:https://www.neo4j.com/docs/cypher-manual/current/clauses/load-csv/[Load CSV] [.labs.label--labs] @@ -46,7 +46,7 @@ image:icons/ndl/icon-csvtodb.svg[] Learn how to translate and migrate tabular data and relational datasets into a graph database. [.link] -link:{docs-home}/data-import/relational-to-graph-import/[] +link:https://www.neo4j.com/docs/data-import/relational-to-graph-import/[Relational to graph] [.not-selectable] @@ -59,7 +59,7 @@ image:icons/ndl/icon-connectors.svg[] Learn how to use connectors to connect data from various sources into Neo4j. [.link] -link:{docs-home}/connectors/[] +link:https://www.neo4j.com/docs/connectors/[Connectors] [.label--graph-academy.label--featured] @@ -72,7 +72,7 @@ image:icons/ndl/icon-neo4j.svg[] Start using Neo4j's tool for importing data and get started quickly with testing and prototyping. [.link] -link:{docs-home}/data-importer/current/[] +link:https://www.neo4j.com/docs/data-importer/current/[Data importer] === Neo4j Admin Import @@ -83,7 +83,7 @@ image:icons/ndl/icon-admin.svg[] Use Neo4j admin import for initial loading of large amounts of data. [.link] -link:{docs-home}/operations-manual/current/tools/neo4j-admin/neo4j-admin-import/#import-tool-full[] +link:https://www.neo4j.com/docs/operations-manual/current/tools/neo4j-admin/neo4j-admin-import/#import-tool-full[Import admin] === APOC @@ -94,7 +94,7 @@ image:icons/ndl/icon-library.svg[] Learn how to import data from various data formats, including JSON, XML, and XLS using the APOC library. [.link] -link:{docs-home}/apoc/current/import/[*Import data using APOC Core*] +link:https://www.neo4j.com/docs/apoc/current/import/[Import data using APOC Core] [.cards.selectable] @@ -111,7 +111,7 @@ image:icons/ndl/icon-graphacademy.svg[] Learn how to import CSV data into Neo4j using Cypher. [.link] -link:https://graphacademy.neo4j.com/courses/importing-cypher/[*GraphAcademy: Importing CSV data into Neo4j*] +link:https://graphacademy.neo4j.com/courses/importing-cypher/[GraphAcademy: Importing CSV data into Neo4j] === Import CSV data with Neo4j Desktop @@ -123,7 +123,7 @@ image:icons/ndl/icon-import.svg[] Learn how to use CSV files to import data to a graph with Neo4j Desktop. [.link] -link:{docs-home}/getting-started/appendix/tutorials/guide-import-desktop-csv/[*How-To: Import CSV data with Neo4j Desktop*] +link:https://www.neo4j.com/docs/getting-started/appendix/tutorials/guide-import-desktop-csv/[How-To: Import CSV data with Neo4j Desktop] === Importing JSON data from a REST API into Neo4j @@ -135,7 +135,7 @@ image:icons/ndl/icon-neo4j.svg[] See techniques for loading data from JSON-based REST APIs into Neo4j. [.link] -link:{docs-home}/getting-started/data-import/json-rest-api-import/[*Importing JSON data from a REST API into Neo4j*] +link:https://www.neo4j.com/docs/getting-started/data-import/json-rest-api-import/[Importing JSON data from a REST API into Neo4j] @@ -148,11 +148,11 @@ Here are some recommended resources start importing your data: + Learn how to import CSV data into Neo4j using Cypher. -* link:{docs-home}/getting-started/appendix/tutorials/guide-import-desktop-csv/[How-To: Import CSV data with Neo4j Desktop] +* link:https://www.neo4j.com/docs/getting-started/appendix/tutorials/guide-import-desktop-csv/[How-To: Import CSV data with Neo4j Desktop] + Learn how to use CSV files to import data to a graph with Neo4j Destktop. -* link:{docs-home}/getting-started/data-import/json-rest-api-import/[Importing JSON data from a REST API into Neo4j] +* link:https://www.neo4j.com/docs/getting-started/data-import/json-rest-api-import/[Importing JSON data from a REST API into Neo4j] + See techniques for loading data from JSON-based REST APIs into Neo4j. @@ -165,10 +165,10 @@ Here are some recommended resources start importing your data: + Learn how to import CSV data into Neo4j using Cypher. -. link:{docs-home}/getting-started/appendix/tutorials/guide-import-desktop-csv/[How-To: Import CSV data with Neo4j Desktop] +. link:https://www.neo4j.com/docs/getting-started/appendix/tutorials/guide-import-desktop-csv/[How-To: Import CSV data with Neo4j Desktop] + Learn how to use CSV files to import data to a graph with Neo4j Destktop. -. link:{docs-home}/getting-started/data-import/json-rest-api-import/[Importing JSON data from a REST API into Neo4j] +. link:https://www.neo4j.com/docs/getting-started/data-import/json-rest-api-import/[Importing JSON data from a REST API into Neo4j] + See techniques for loading data from JSON-based REST APIs into Neo4j. diff --git a/preview-src/docs-ndl.adoc b/preview-src/docs-ndl.adoc index 3318844e..3204c4e6 100644 --- a/preview-src/docs-ndl.adoc +++ b/preview-src/docs-ndl.adoc @@ -24,43 +24,46 @@ Learn more about graph databases and start working with your data using Neo4j to xref:tutorials:index.adoc[Get started] -- -[.cards.icon-l] +[.cards.selectable] == CTA cards -[.featured.label--featured] +[role=label--featured] === Deployment options -[.icon] +[.icon.icon-l] image:icons/ndl/deployment-options.svg[] [.description] -Choose from self-managed local and cloud deployments, or fully-managed options. See how to run Neo4j on Docker or Kubernetes. +Choose from self-managed local and cloud deployments, or fully-managed options. + +[.link] +link:https://www.neo4j.com/docs/deployment-options[Get a Neo4j instance] === Cypher -[.icon] +[.icon.icon-l] image:icons/ndl/cypher-manual.svg[] [.description] Learn how to write Cypher, Neo4j's declarative query language. [.link] -xref:cypher:index.adoc[Query your data] +link:https://www.neo4j.com/docs/cypher-manual/[Query your data] === Neo4j Tools -[.icon] +[.icon.icon-l] image:icons/ndl/neo4j-tools.svg[] [.description] Use Neo4j's tools to explore, visualize, manage, monitor, and import data to your graph. [.link] -xref:tools:index.adoc[Discover the products] +link:https://www.neo4j.com/docs/tools[Discover the products] === Graph Data Science -[.icon] +[.icon.icon-l] image:icons/ndl/data-science.svg[] [.description] @@ -71,7 +74,7 @@ xref:gds:index.adoc[Unlock insights from data] === Create applications -[.icon] +[.icon.icon-l] image:icons/ndl/create-applications.svg[] [.description] @@ -82,7 +85,7 @@ xref:create-applications:index.adoc[Start developing] === Connect data sources -[.icon] +[.icon.icon-l] image:icons/ndl/connectors.svg[] [.description] @@ -217,7 +220,7 @@ link:https://discord.com/invite/neo4j[Discord] image:icons/ndl/icon-developercenter.svg[] [.link] -link:https://neo4j.com/developer-blog/[Developer blog] xref:reference:resources.adoc[Other resources] +link:https://neo4j.com/developer-blog/[Developer blog] link:https://www.neo4j.com/docs/reference/resources[Other resources] diff --git a/preview-src/lists.adoc b/preview-src/lists.adoc new file mode 100644 index 00000000..0d0a7239 --- /dev/null +++ b/preview-src/lists.adoc @@ -0,0 +1,13 @@ += Lists + +== Bullet point + +. Example 1 +. Example 2 +. Example 2 + +== Numbered + +* Example 1 +* Example 2 +* Example 2 \ No newline at end of file diff --git a/src/css/doc.css b/src/css/doc.css index 69232941..bf837611 100644 --- a/src/css/doc.css +++ b/src/css/doc.css @@ -32,7 +32,7 @@ body { font-weight: var(--heading-font-weight); hyphens: none; line-height: calc((var(--doc-line-height) + 1) / 2); - margin: 2rem 0 1rem; + margin: 17px 0 8px; } .doc h1 { @@ -174,7 +174,7 @@ body { .doc a, .tooltip-body a { - font-weight: 600; + font-weight: 400; color: var(--link-font-color); } @@ -191,7 +191,7 @@ body { } .doc a:visited { - color: var(--link_visited-font-color); + color: var(--link-font-color); } .doc code a { @@ -640,7 +640,7 @@ body { .doc .olist li, .doc .ulist li { - margin-bottom: 0.5rem; + margin-bottom: 0.5; } .doc .olist li > div:first-of-type, @@ -1179,7 +1179,7 @@ body { border-top-left-radius: 6px; border-top-right-radius: 6px; border-bottom: none; - cursor: pointer; + cursor: default; } .doc .tabbed-tabs .tabbed-tab--active { @@ -1261,14 +1261,12 @@ body { margin: 0 0.2rem; content: "→"; color: var(--link-font-color); - transform: rotate(-45deg); transition: all 0.2s linear; top: 0; } .doc a.external:hover::after { - top: -12px; - opacity: 0; + text-decoration: none; } .doc .no-arrows a::after { @@ -1313,7 +1311,7 @@ body { } .doc details summary { - cursor: pointer; + cursor: default; } .doc details[open] summary { diff --git a/src/css/docs-ndl.css b/src/css/docs-ndl.css index 825a51db..7ba05638 100644 --- a/src/css/docs-ndl.css +++ b/src/css/docs-ndl.css @@ -18,14 +18,27 @@ body.docs-ndl.explainer .nav-panel-menu { scrollbar-width: none; } +body.docs-ndl .nav-menu .docs-home-link a::before { + content: ""; + width: 4px; + height: 100%; + position: absolute; + left: 0; + top: 0; + background-color: rgba(10 97 144 / 1); + background-color: var(--color-docs); + border-radius: 4px; +} + body.docs-ndl .nav-menu .docs-home-link { margin-bottom: 0; } body.docs-ndl .nav-menu .docs-home-link:hover, body.docs-ndl .nav-menu .docs-home-link:focus { - text-decoration: underline; - /* background-color: var(--toc_hover-background-color); */ + cursor: default; + text-decoration: none; + background-color: var(--colors-baltic-15); } body.docs-ndl .nav-menu .home-link { @@ -39,7 +52,10 @@ body.docs-ndl .nav-menu .home-link.is-home { } body.docs-ndl .nav-menu .home-link.is-home a { - display: none; + cursor: default; + display: flex; + background-color: rgba(var(--colors-baltic-10)); + color: rgba(var(--colors-baltic-50)); } body.docs-ndl .nav-module { @@ -65,12 +81,12 @@ body.docs-ndl .nav-menu .nav-module > ul:not(ul:has(li)) { body.docs-ndl .nav-menu a, body.docs-ndl .nav-text { + cursor: default; color: var(--neutral-color); } body.docs-ndl .nav-menu .home-link a::before { display: inline-block; - content: url(../img/arrow-long-left.svg); margin-right: 1em; vertical-align: middle; line-height: 1; @@ -136,6 +152,10 @@ body.docs-ndl .doc a:hover { text-decoration: underline; } +body.docs-ndl .cards.bottom-cards a:hover { + text-decoration: none; +} + body.docs-ndl .doc a:hover::after { text-decoration: none; } @@ -144,11 +164,6 @@ body.docs-ndl.hub aside.toc.sidebar { flex-basis: 0; } -body.docs-ndl .toolbar.is-home { - background: rgba(var(--colors-neutral-15)); - box-shadow: none; -} - body.docs-ndl.hub main > .content { /* align-items: center; */ flex-direction: column; @@ -215,6 +230,7 @@ body.docs-ndl .widget .sectionbody { body.docs-ndl .widget.lists .sectionbody { justify-content: space-between; + line-height: 24px; } body.docs-ndl .widget.banner .sectionbody { @@ -392,9 +408,13 @@ body.docs-ndl .paragraph.caption { padding: 1rem; margin: 0; color: var(--neutral-color); - font-family: var(--header-font-family); - font-size: var(--doc-font-size-h2); - font-weight: var(--font-weight-normal); + font-feature-settings: 'liga' off, 'clig' off; + font-family: var(--font-font-family-h1); + font-size: 32px; + font-style: normal; + font-weight: 500; + line-height: 32px; /* 100% */ + letter-spacing: 0.25px; } body.docs-ndl .paragraph.footer-link { @@ -409,34 +429,34 @@ body.docs-ndl .paragraph.footer-link { body.docs-ndl .banner .paragraph { display: flex; - width: 100%; + width: fit-content; padding: 0; margin: 1rem; color: var(--color-white); } body.docs-ndl .banner .paragraph.description { - padding-right: 2rem; + font-family: var(--font-family-h2); + font-size: 16px; + font-weight: 100; + line-height: 24px; + letter-spacing: 0; } /* selectable cards */ -body.docs-ndl .cards .sect2.selectable { - cursor: pointer; +body.docs-ndl .cards .sect2.selectable .description { + color: var(--doc-font-color); + font-weight: 200; } body.docs-ndl .cards .sect2.selectable a { - text-decoration: none; -} - -body.docs-ndl .cards .sect2.selectable a:hover { - transform: scale(1.02); - transition: 0.1s linear; - box-shadow: 0 4px 8px 0 rgba(12, 26, 37, 0.08); + cursor: default; + text-decoration: solid; } body.docs-ndl .cards .sect2.selectable:hover div.description { - text-decoration: underline; + text-decoration: none; } /* banner */ @@ -464,7 +484,7 @@ body.docs-ndl .banner .icon img { margin: 0; } -body.docs-ndl .banner .button { +body.docs-ndl .banner .button a { border-radius: 0.25rem; padding: 0.5em 1.5em; font-weight: 400; @@ -472,22 +492,6 @@ body.docs-ndl .banner .button { /* margin-left: 24px; */ } -@media screen and (max-width: 1240px) { - body.docs-ndl .widget.banner .sectionbody { - background-image: none !important; - } - - body.docs-ndl .widget.banner .sectionbody > div.openblock { - flex: 0 0 100%; - } -} - -@media screen and (min-width: 1024px) { - .banner .banner-item.button-cta { - padding-right: 0 1rem 0; - } -} - .banner .button:hover { background: rgba(var(--banner-background-color)); color: var(--colors-baltic-25); @@ -521,19 +525,19 @@ body.docs-ndl .highlights .caption { padding-left: 0; } -body.docs-ndl .highlights .list ul li { - border-bottom: 1px solid rgba(var(--colors-neutral-20)); - padding-bottom: 0.5rem; +body.docs-ndl .highlights .list a { + padding: 8px; + text-decoration: none; } -body.docs-ndl .highlights .list2 { - padding: 0; +body.docs-ndl .highlights .list a:hover, +body.docs-ndl .highlights .list a:focus { + text-decoration: none; + background-color: var(--toc_hover-background-color); } -body.docs-ndl .highlights .list2 ul li { +body.docs-ndl .highlights .list ul li { border-bottom: 1px solid rgba(var(--colors-neutral-20)); - padding-bottom: 0.5rem; - list-style-type: none; } body.docs-ndl .widget.highlights .footer-link { @@ -583,37 +587,46 @@ body.docs-ndl .lists ul li a { body.docs-ndl .sect2 { display: flex; flex-direction: column; + border-radius: 16px; + position: relative; } body.docs-ndl .cards .sectionbody > div.sect2 { flex: 0 1 32%; + border: 1px solid var(--panel-border-color); /* margin-right: 1rem; */ } body.docs-ndl .cards.bottom-cards .sectionbody > div.sect2 { flex: 0 1 49%; + border: 0; } body.docs-ndl.explainer .sectionbody > div.sect2 { flex: 0 1 49%; + border: 1px solid var(--panel-border-color); } body.docs-ndl .cards .sect2 > a, -body.docs-ndl .cards .sect2.not-selectable, body.docs-ndl .cards:not(.selectable) .sect2, body.docs-ndl .lists .sect2 { overflow: hidden; - position: relative; display: flex; flex-direction: column; align-items: flex-start; flex: 1; /* justify-content: space-between; */ - gap: 1rem; + gap: 8px; /* min-width: 30%; */ - padding: 1rem; - /* margin: 0 1rem 1rem 0; */ + padding: 24px; background: var(--color-white); + line-height: 2rem; +} + +body.docs-ndl .cards.selectable .sect2:hover { + transition: 0.1s linear; + border: 1px solid var(--page-version-missing-font-color); + box-shadow: 0 1px 2px 0 rgba(26, 27, 29, 0.18); } /* styles for specific types of cards: @@ -636,12 +649,6 @@ body.docs-ndl .cards .sectionbody > div.sect2.labs:not(.selectable) { box-shadow: 0 2px 4px 0 rgba(90, 52, 170, 0.5), 0 1px 2px 0 rgba(90, 52, 170, 0.2); } -body.docs-ndl .cards .sectionbody > div.sect2.featured > a, -body.docs-ndl .cards .sectionbody > div.sect2.featured:not(.selectable) { - border: 1px solid var(--success-color); - box-shadow: 0 2px 4px 0 rgba(63, 120, 36, 0.5), 0 1px 2px 0 rgba(63, 120, 36, 0.2); -} - /* add a labs label to a title in a card */ body.docs-ndl .header-label-container > div.labels { display: inline-flex; @@ -649,8 +656,7 @@ body.docs-ndl .header-label-container > div.labels { } body.docs-ndl .cards .sect2 > a, -body.docs-ndl .cards .sect2.not-selectable, -body.docs-ndl .cards:not(.selectable) .sect2, +body.docs-ndl .cards:not(.selectable) .sect2 > a, body.docs-ndl .widget:not(.video) { /* box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.06); */ border: none; @@ -741,9 +747,10 @@ body.docs-ndl body.docs-ndl .cards .sect2 .icon img { padding: 0; } -body.docs-ndl .cards.icon-l .sect2 .icon img { +body.docs-ndl .cards .sect2 .icon.icon-l img { width: 6rem; height: 6rem; + margin-bottom: 9px; } body.docs-ndl .lists .sect2 .icon img, @@ -789,21 +796,30 @@ body.docs-ndl .cards .sect2 .paragraph:not(.icon) { } body.docs-ndl .cards .sect2.selectable .paragraph.link { - display: none; + display: flex; } +body.docs-ndl .cards.selectable .sect2 .paragraph.link, body.docs-ndl .cards:not(.selectable) .sect2 .paragraph.link { + box-sizing: border-box; + padding-top: 30px; margin-top: auto; } -body.docs-ndl .cards:not(.selectable) .sect2 .paragraph.link a { - font-weight: 500; - margin-right: 1rem; - /* text-decoration: none; */ +body.docs-ndl .bottom-cards .sect2 .icon { + padding-bottom: 16px; +} + +body.docs-ndl .bottom-cards .sect2 h3 { + padding-bottom: 8px; +} + +body.docs-ndl .bottom-cards:not(.selectable) .sect2 .paragraph.link { + padding-top: 0; } body.docs-ndl .cards .sect2 .paragraph.category { - display: none; + display: flex; } body.docs-ndl .plain-links a.external::after { @@ -821,6 +837,7 @@ body.docs-ndl .highlights a { body.docs-ndl .highlights a::after, body.docs-ndl .cards .link a::after { margin-left: 0.5rem; + margin-right: 0.5rem; content: "→"; font-weight: 600; color: var(--link-font-color); @@ -852,18 +869,6 @@ body.docs-ndl .cards .sect2 .ulist ul li { margin: 0.5rem 0 0; } -@media screen and (min-width: 1024px) { - body.docs-ndl .toolbar { - background-color: rgba(var(--colors-neutral-10)); - } -} - -@media screen and (max-width: 1023px) { - body.docs-ndl .doc { - margin: 0 1rem; - } -} - @media screen and (max-width: 1439px) { body.docs-ndl .toolbar { top: 0; diff --git a/src/css/labels.css b/src/css/labels.css index c8c5dd69..c8570f1e 100644 --- a/src/css/labels.css +++ b/src/css/labels.css @@ -84,8 +84,12 @@ h2 > .flex-label { .label { display: inline-block; + height: 24px; padding: 0.2rem 0.8rem; - border-radius: 0.25rem; + justify-content: center; + align-items: center; + flex-shrink: 0; + border-radius: 9999px; background: rgba(var(--colors-baltic-50)); color: rgba(var(--colors-baltic-10)); font-weight: 600; diff --git a/src/css/themes.css b/src/css/themes.css index 29264f78..046862f9 100644 --- a/src/css/themes.css +++ b/src/css/themes.css @@ -53,31 +53,30 @@ body.docs .navbar-burger span { background: var(--color-docs); } -body.docs .doc .button { - background: var(--color-docs); - color: var(--color-white); +body.docs .banner .button { + margin-top: 24px; } -body.docs .doc .button:hover { - background: rgba(var(--colors-baltic-60)); +body.docs .doc .button a { + background: var(--color-docs); color: var(--color-white); } -body.docs .banner .button { +body.docs .banner .button a { display: flex; width: fit-content; background: var(--banner-background-color); border: 1px solid var(--banner-background-color); - color: var(--colors-baltic-60); + color: var(--text-inverse); + font-size: var(--font-size-h6); + font-weight: 600; } -body.docs .banner .button:hover { - background: rgba(var(--banner-background-color)); - border: 1px solid var(--banner-hover-color); -} - -body.docs .banner .button:hover a { - color: var(--banner-hover-color); +body.docs .banner .button a:hover { + background: var(--colors-baltic-30); + border: 1px solid var(--colors-baltic-30); + text-decoration: none; + cursor: default; } body.docs .nav-item .nav-item::before, diff --git a/src/css/toolbar.css b/src/css/toolbar.css index 2712b1e1..f00cabab 100644 --- a/src/css/toolbar.css +++ b/src/css/toolbar.css @@ -1,17 +1,3 @@ -.toolbar { - color: var(--toolbar-font-color); - align-items: center; - background-color: var(--toolbar-background); - box-shadow: 0 1px 0 var(--toolbar-border-color); - display: flex; - font-size: calc(15 / var(--rem-base) * 1rem); - height: var(--toolbar-height); - justify-content: flex-start; - position: sticky; - top: var(--navbar-height); - z-index: var(--z-index-toolbar); -} - body.has-banner .toolbar { top: calc(var(--navbar-height) + var(--banner-height)); } @@ -51,8 +37,6 @@ body.has-banner .toolbar { } .home-link { - background: url(../img/home-o.svg) no-repeat 50% 45%; - background-size: 50%; display: block; height: 2.5rem; margin: 0; @@ -62,8 +46,8 @@ body.has-banner .toolbar { .home-link:hover, .home-link.is-current { - background-image: url(../img/home.svg); - /* color: rgba(var(--colors-baltic-50)); */ + background: rgba(var(--colors-baltic-10)); + color: rgba(var(--colors-baltic-50)); } .home-link a line { diff --git a/src/css/vars.css b/src/css/vars.css index 5337986d..f3975609 100644 --- a/src/css/vars.css +++ b/src/css/vars.css @@ -4,7 +4,6 @@ /* --colors-baltic-20: #8FE3E8; */ /* --colors-baltic-50: #0A6190; */ /* --colors-baltic-60: #014063; */ - /* --text-inverse: #1A1B1D; */ /* --text-white: #F5F6F6; */ /* Picked from Neo4j Design System */ @@ -154,6 +153,10 @@ --color-pink-800: #97266d; --color-pink-900: #702459; --color-baltic-20: #8fe3e8; + --colors-baltic-30: #5db3bf; + + /* dark mode */ + --text-inverse: #1a1b1d; /* theme accent colors */ --color-developer: rgba(var(--colors-forest-45)); @@ -312,7 +315,6 @@ /* links */ --link-font-color: rgba(var(--colors-baltic-50)); --link_hover-font-color: rgba(var(--colors-baltic-55)); - --link_visited-font-color: var(--palette-categorical-8); --link_unresolved-font-color: var(--important-color); /* abstract */ @@ -398,7 +400,7 @@ --nav-panel-height: calc(var(--nav-height) - var(--drawer-height)); --nav-panel-height--desktop: calc( - var(--nav-height--desktop) - var(--drawer-height) - var(--feedback-height) - 1rem + var(--nav-height--desktop) - var(--drawer-height) - var(--feedback-height) * 8px ); /* 1rem is feedback padding */ --nav-width: 18rem;