From 0c32dd53bac7859360fe9c929d1f72341168179b Mon Sep 17 00:00:00 2001 From: rdrew Date: Wed, 7 Oct 2026 12:29:32 -0300 Subject: [PATCH] nav resize --- css/base/variables.css | 2 +- css/components/header-buttons-mobile.css | 6 +- css/components/header-navigation.css | 26 +++++-- .../navigation/nav-primary-button.css | 27 +++++-- .../navigation/nav-primary-wide.css | 73 +++++++++++++------ 5 files changed, 96 insertions(+), 38 deletions(-) diff --git a/css/base/variables.css b/css/base/variables.css index 208667f..d8406ad 100755 --- a/css/base/variables.css +++ b/css/base/variables.css @@ -37,7 +37,7 @@ --content-left: 5.625rem; --site-header-height-wide: var(--sp10); --container-padding: var(--sp); - + --mobile-menu-breakpoint: 1300px; /** * Grid helpers. * diff --git a/css/components/header-buttons-mobile.css b/css/components/header-buttons-mobile.css index 7687efd..f4ca8a9 100755 --- a/css/components/header-buttons-mobile.css +++ b/css/components/header-buttons-mobile.css @@ -27,13 +27,15 @@ } } -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { .mobile-buttons { margin-block-start: var(--sp6); } } -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { body:not(.is-always-mobile-nav) .mobile-buttons { display: none; } diff --git a/css/components/header-navigation.css b/css/components/header-navigation.css index d3dbe9b..396dc00 100755 --- a/css/components/header-navigation.css +++ b/css/components/header-navigation.css @@ -30,14 +30,17 @@ * mobile navigation needs to slide beneath the button, but we also cannot * use padding because that would enable the button to scroll out of the * viewport on short screens. */ - border-block-start: solid var(--color--white) calc(var(--sp3) + var(--drupal-displace-offset-top, 0px)); + border-block-start: solid var(--color--white) + calc(var(--sp3) + var(--drupal-displace-offset-top, 0px)); background-color: var(--color--white); box-shadow: 0 0 72px rgba(0, 0, 0, 0.1); } .header-nav.is-active { visibility: visible; - transform: translateX(calc(-100% - var(--drupal-displace-offset-right, 0px))); /* LTR */ + transform: translateX( + calc(-100% - var(--drupal-displace-offset-right, 0px)) + ); /* LTR */ } [dir="rtl"] .header-nav.is-active { @@ -83,7 +86,8 @@ html.js .header-nav { transition: visibility 0.2s, transform 0.2s; } -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { body:not(.is-always-mobile-nav) .header-nav { position: static; display: flex; @@ -105,20 +109,28 @@ html.js .header-nav { } } -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { body.is-always-mobile-nav .header-nav { overflow: auto; max-width: calc((7 * (var(--grid-col-width) + var(--grid-gap)))); padding-inline-end: var(--sp); transition: transform 0.2s, visibility 0.2s; - border-top-width: calc(var(--drupal-displace-offset-top, 0px) + var(--sp11)); + border-top-width: calc( + var(--drupal-displace-offset-top, 0px) + var(--sp11) + ); } } @media (min-width: 90rem) { body.is-always-mobile-nav .header-nav { - max-width: calc(100vw - (var(--max-width) + var(--content-left)) + ((7 * (var(--grid-col-width) + var(--grid-gap))))); - padding-inline-end: calc(100vw - (var(--max-width) + var(--content-left) - var(--sp))); + max-width: calc( + 100vw - (var(--max-width) + var(--content-left)) + + ((7 * (var(--grid-col-width) + var(--grid-gap)))) + ); + padding-inline-end: calc( + 100vw - (var(--max-width) + var(--content-left) - var(--sp)) + ); } } diff --git a/css/components/navigation/nav-primary-button.css b/css/components/navigation/nav-primary-button.css index 0704e2f..94d9d2a 100755 --- a/css/components/navigation/nav-primary-button.css +++ b/css/components/navigation/nav-primary-button.css @@ -15,7 +15,9 @@ overflow: hidden; width: var(--sp2); height: var(--sp2); - margin-block-start: var(--sp0-5); /* Visually align button with menu link text. */ + margin-block-start: var( + --sp0-5 + ); /* Visually align button with menu link text. */ padding-block: 0; padding-inline-start: 0; padding-inline-end: 0; @@ -76,7 +78,8 @@ pointer-events: none; } -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { body:not(.is-always-mobile-nav) .primary-nav__button-toggle { flex-shrink: 0; align-self: stretch; @@ -91,7 +94,9 @@ outline: 0; } - body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus .icon--menu-toggle { + body:not(.is-always-mobile-nav) + .primary-nav__button-toggle:focus + .icon--menu-toggle { border: solid 2px var(--color--primary-40); } @@ -100,11 +105,15 @@ color: currentColor; } - body:not(.is-always-mobile-nav) .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle::after { + body:not(.is-always-mobile-nav) + .primary-nav__button-toggle[aria-expanded="true"] + .icon--menu-toggle::after { opacity: 0.8; } - body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle { + body:not(.is-always-mobile-nav) + .primary-nav__button-toggle + .icon--menu-toggle { inset-inline-start: 0.1875rem; width: 1.125rem; transform: translateY(-50%); @@ -112,11 +121,15 @@ background-color: var(--color--white); } - body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle::before { + body:not(.is-always-mobile-nav) + .primary-nav__button-toggle + .icon--menu-toggle::before { content: none; } - body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle::after { + body:not(.is-always-mobile-nav) + .primary-nav__button-toggle + .icon--menu-toggle::after { /* stylelint-disable csstools/use-logical */ top: calc(50% - 2px); left: 0.1875rem; diff --git a/css/components/navigation/nav-primary-wide.css b/css/components/navigation/nav-primary-wide.css index 9923c20..35b1fc8 100755 --- a/css/components/navigation/nav-primary-wide.css +++ b/css/components/navigation/nav-primary-wide.css @@ -10,17 +10,25 @@ * Nav Primary (wide widths). */ -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { body:not(.is-always-mobile-nav) .primary-nav__menu-item { flex-wrap: nowrap; /* Ensure that sub navigation toggle button doesn't wrap underneath link. */ } - body:not(.is-always-mobile-nav) .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--link, - body:not(.is-always-mobile-nav) .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--nolink { + body:not(.is-always-mobile-nav) + .primary-nav__menu-item.primary-nav__menu-item--has-children + .primary-nav__menu-link--link, + body:not(.is-always-mobile-nav) + .primary-nav__menu-item.primary-nav__menu-item--has-children + .primary-nav__menu-link--nolink { flex-basis: auto; } /* Remove hover state if submenu exists. */ - body:not(.is-always-mobile-nav) .primary-nav__menu-item.primary-nav__menu-item--has-children .primary-nav__menu-link--level-1 .primary-nav__menu-link-inner::after { + body:not(.is-always-mobile-nav) + .primary-nav__menu-item.primary-nav__menu-item--has-children + .primary-nav__menu-link--level-1 + .primary-nav__menu-link-inner::after { content: none; } @@ -46,22 +54,26 @@ border: solid 2px var(--color--primary-50); border-radius: 0.25rem; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--button.primary-nav__menu-link--has-children { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--button.primary-nav__menu-link--has-children { overflow: visible; /* Necessary to view icon in IE11 */ padding-inline-end: 0.5625rem; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--button.primary-nav__menu-link--has-children:focus::before { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--button.primary-nav__menu-link--has-children:focus::before { width: calc(100% + var(--sp1-5)); content: ""; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--button.primary-nav__menu-link--has-children::before { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--button.primary-nav__menu-link--has-children::before { content: none; } /* Chevron icon for desktop navigation. */ - body:not(.is-always-mobile-nav) .primary-nav__menu-link--button.primary-nav__menu-link--has-children::after { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--button.primary-nav__menu-link--has-children::after { position: absolute; inset-block-start: 50%; inset-inline-start: calc(100% - 0.1875rem); @@ -75,7 +87,8 @@ border-bottom: solid 2px currentColor; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--button.primary-nav__menu-link--has-children[aria-expanded="true"]::after { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--button.primary-nav__menu-link--has-children[aria-expanded="true"]::after { opacity: 1; } @@ -84,7 +97,7 @@ padding-inline-start: 0; padding-inline-end: 0; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link-inner--level-3 { + body:not(.is-always-mobile-nav) .primary-nav__menu-link-inner--level-3 { padding-block: 0; /*display:none;*/ } @@ -111,7 +124,8 @@ margin-inline-end: 0; } - body:not(.is-always-mobile-nav) .primary-nav__menu-item--level-1:not(:last-child) { + body:not(.is-always-mobile-nav) + .primary-nav__menu-item--level-1:not(:last-child) { margin-inline-end: var(--sp2); } @@ -125,7 +139,11 @@ width: 19.625rem; /* Ensure that long level-2 menus will never overflow viewport (focused * elements should always be in viewport per accessibility guidelines). */ - max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp)); + max-height: calc( + 100vh - var(--site-header-height-wide) - + var(--drupal-displace-offset-top, 0px) - + var(--drupal-displace-offset-bottom, 0px) - var(--sp) + ); margin-block-start: 0; margin-inline-start: 0; padding-block: calc(3 * var(--sp)); @@ -143,13 +161,13 @@ border-bottom: solid 1px #ccc; border-left: solid 1px #ccc; border-radius: 0 0 2px 2px; - background: var( - --color--white); + background: var(--color--white); box-shadow: 0 1px 36px rgba(0, 0, 0, 0.08); padding-block: 1rem; } - body:not(.is-always-mobile-nav) .primary-nav__menu--level-2.is-active-menu-parent { + body:not(.is-always-mobile-nav) + .primary-nav__menu--level-2.is-active-menu-parent { visibility: visible; margin-block-start: 0; transform: translate(-50%, 0); @@ -160,25 +178,33 @@ display: block; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--level-2:focus::before { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--level-2:focus::before { top: 0; left: calc(var(--sp0-5) * -1); height: 100%; transform: none; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--level-2 .primary-nav__menu-link-inner { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--level-2 + .primary-nav__menu-link-inner { padding-block: var(--sp0-5); padding-inline-start: 0; padding-inline-end: 0; } - body:not(.is-always-mobile-nav) .primary-nav__menu-link--level-2 .primary-nav__menu-link-inner::after { + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--level-2 + .primary-nav__menu-link-inner::after { transform-origin: left; /* LTR */ border-top-width: 3px; } - [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__menu-link--level-2 .primary-nav__menu-link-inner::after { + [dir="rtl"] + body:not(.is-always-mobile-nav) + .primary-nav__menu-link--level-2 + .primary-nav__menu-link-inner::after { transform-origin: right; } @@ -213,7 +239,11 @@ * little extra room when the toolbar is fixed (and is shorter). */ body:not(.is-always-mobile-nav) .is-fixed .primary-nav__menu--level-2 { - max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp) + var(--sp4)); + max-height: calc( + 100vh - var(--site-header-height-wide) - + var(--drupal-displace-offset-top, 0px) - + var(--drupal-displace-offset-bottom, 0px) - var(--sp) + var(--sp4) + ); } } @@ -222,7 +252,8 @@ * works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189 */ -@media ((((min-width: 60rem)))) { +/* @media ((((min-width: 60rem)))) { */ +@media ((((min-width: 1300px)))) { html.js body:not(.is-always-mobile-nav) .primary-nav__menu--level-2, html.js body:not(.is-always-mobile-nav) .primary-nav__menu-🥕 { transition: visibility 0.2s, transform 0.2s, opacity 0.2s;