Changes for page Public Web Site
Last modified by Agnease on 2026/05/30 16:24
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.StyleSheetExtension[1]
-
- code
-
... ... @@ -1,6 +1,16 @@ 1 1 /* ========== Agnease Public Top Menu ========== */ 2 2 3 -.agnease-menu-item { 3 +@brand: #00937D; 4 +@brand-strong: #007B6A; 5 +@text: #2D3A34; 6 +@muted: #5B6B64; 7 +@line: #E4ECE9; 8 +@brand-bg: #F4FCFA; 9 + 10 +/* Top-level menu items */ 11 + 12 +.agnease-services-menu, 13 +.agnease-products-menu { 4 4 .dropdown-toggle { 5 5 font-weight: inherit; 6 6 font-size: inherit; ... ... @@ -8,8 +8,6 @@ 8 8 9 9 .caret { 10 10 margin-left: 4px; 11 - border-top-color: @brand; 12 - border-bottom-color: @brand; 13 13 } 14 14 15 15 &.open > .dropdown-toggle, ... ... @@ -20,13 +20,6 @@ 20 20 background-color: transparent; 21 21 box-shadow: none; 22 22 } 23 - 24 - &.open > .dropdown-toggle .caret, 25 - .dropdown-toggle:hover .caret, 26 - .dropdown-toggle:focus .caret { 27 - border-top-color: @brand-strong; 28 - border-bottom-color: @brand-strong; 29 - } 30 30 } 31 31 32 32 /* Keep Agnease public top-level menu visually clean when hovered/open/focused */ ... ... @@ -51,139 +51,222 @@ 51 51 52 52 /* Dropdown panels */ 53 53 54 -.agnease-dropdown { 55 - min-width: 270px; 56 - padding: 8px; 57 - border: 1px solid fade(@brand, 18%); 55 +.agnease-services-dropdown, 56 +.agnease-resources-dropdown, 57 +.agnease-products-dropdown { 58 + min-width: 360px; 59 + padding: 10px; 60 + border: 1px solid @line; 58 58 border-radius: 12px; 59 - background: #fff; 60 - box-shadow: 0 12px 32px fade(@brand-strong, 12%); 62 + box-shadow: 0 12px 36px rgba(0, 0, 0, .10); 61 61 62 62 > li > a { 63 63 display: flex; 64 - align-items: center; 65 - gap: 10px; 66 - padding: 9px 11px; 67 - border-radius: 9px; 68 - color: @brand; 69 - background: transparent; 70 - white-space: nowrap; 71 - font-size: 14px; 72 - font-weight: 700; 73 - line-height: 1.25; 66 + align-items: flex-start; 67 + gap: 12px; 68 + padding: 10px 12px; 69 + border-radius: 10px; 70 + color: @text; 71 + white-space: normal; 74 74 75 - i { 76 - width: 18px; 77 - flex: 0 0 18px; 78 - color: @brand; 79 - text-align: center; 80 - font-size: 14px; 81 - } 82 - 83 83 &:hover, 84 - &:focus, 85 - &:active { 74 + &:focus { 86 86 color: @brand-strong; 87 - background: fade(@brand, 8%);76 + background: @brand-bg; 88 88 text-decoration: none; 89 - outline: none; 90 90 91 - i { 79 + .menu-icon { 92 92 color: @brand-strong; 81 + background: fade(@brand, 14%); 82 + border-color: fade(@brand, 28%); 93 93 } 94 - } 95 - } 96 96 97 - > .active > a, 98 - > .active > a:hover, 99 - > .active > a:focus { 100 - color: @brand-strong; 101 - background: fade(@brand, 10%); 102 - text-decoration: none; 85 + strong { 86 + color: @brand-strong; 87 + } 103 103 104 - i { 105 - color: @brand-strong; 89 + small { 90 + color: @muted; 91 + } 106 106 } 107 107 } 108 108 109 109 .divider { 110 - margin: 7px 0;111 - background-color: fade(@brand, 16%);96 + margin: 8px 0; 97 + background-color: @line; 112 112 } 99 + 100 + .menu-icon { 101 + width: 34px; 102 + height: 34px; 103 + border-radius: 50%; 104 + background: fade(@brand, 8%); 105 + border: 1px solid fade(@brand, 18%); 106 + color: @brand; 107 + display: flex; 108 + align-items: center; 109 + justify-content: center; 110 + flex-shrink: 0; 111 + transition: color .15s ease, background .15s ease, border-color .15s ease; 112 + } 113 + 114 + .menu-text { 115 + display: flex; 116 + flex-direction: column; 117 + line-height: 1.25; 118 + 119 + strong { 120 + color: @brand; 121 + font-size: 14px; 122 + font-weight: 600; 123 + } 124 + 125 + small { 126 + color: @muted; 127 + font-size: 12px; 128 + margin-top: 2px; 129 + font-weight: 400; 130 + } 131 + } 113 113 } 114 114 115 -.agnease-products-dropdown, 116 -.agnease-resources-dropdown { 117 - min-width: 260px; 134 +/* Products dropdown can be slightly narrower for now */ 135 + 136 +.agnease-products-dropdown { 137 + min-width: 340px; 118 118 } 119 119 120 -/* Remove gray Bootstrap dropdown item states */ 121 -.dropdown-menu > li > a:hover, 122 -.dropdown-menu > li > a:focus { 123 - background-image: none; 140 +/* Mobile */ 141 + 142 +@media (max-width: 767px) { 143 + .agnease-services-dropdown, 144 + .agnease-resources-dropdown, 145 + .agnease-products-dropdown { 146 + min-width: 0; 147 + width: 100%; 148 + padding: 6px; 149 + border-radius: 0; 150 + border-left: 0; 151 + border-right: 0; 152 + box-shadow: none; 153 + 154 + > li > a { 155 + padding: 10px; 156 + } 157 + } 124 124 } 125 125 126 -/* ========== MobileMenu ========== */160 +/* ========== Compact Public Menu on Mobile ========== */ 127 127 128 128 @media (max-width: 767px) { 129 - .navbar-nav> li.agnease-menu-item>a,130 - .navbar-nav >li > a {131 - padding-top:8px;132 - padding-bottom:8px;163 + /* Prevent any menu element from creating horizontal scroll */ 164 + html, 165 + body { 166 + overflow-x: hidden; 133 133 } 134 134 135 - .agnease-dropdown { 136 - min-width: 0; 169 + .navbar, 170 + .navbar-collapse, 171 + .navbar-nav, 172 + .navbar-nav > li, 173 + .navbar-nav .dropdown-menu { 174 + max-width: 100%; 175 + } 176 + 177 + /* Make the main menu vertical inside the burger menu */ 178 + .navbar-nav { 179 + float: none !important; 137 137 width: 100%; 138 - padding: 4px 8px 8px 18px; 181 + margin: 0; 182 + } 183 + 184 + .navbar-nav > li { 185 + float: none !important; 186 + display: block; 187 + width: 100%; 188 + } 189 + 190 + .navbar-nav > li > a { 191 + display: block; 192 + width: 100%; 193 + padding: 11px 16px; 194 + font-size: 14px; 195 + font-weight: 600; 196 + line-height: 1.3; 197 + white-space: normal; 198 + } 199 + 200 + .navbar-nav > li > a .caret { 201 + float: right; 202 + margin-top: 7px; 203 + } 204 + 205 + /* Dropdowns become compact nested sections */ 206 + .navbar-nav .dropdown-menu { 207 + position: static !important; 208 + float: none !important; 209 + width: 100% !important; 210 + min-width: 0 !important; 211 + max-width: 100% !important; 212 + margin: 0; 213 + padding: 4px 0 8px; 139 139 border: 0; 140 140 border-radius: 0; 141 141 box-shadow: none; 142 - background: #fff; 217 + background: @brand-bg; 218 + } 143 143 144 - > li > a { 145 - padding: 8px 10px; 146 - white-space: normal; 147 - font-size: 14px; 148 - border-radius: 8px; 149 - color: @brand; 220 + .navbar-nav .dropdown-menu > li { 221 + width: 100%; 222 + } 150 150 151 - i { 152 - width: 16px; 153 - flex-basis: 16px; 154 - } 224 + .navbar-nav .dropdown-menu > li > a { 225 + display: block; 226 + width: 100%; 227 + padding: 8px 16px 8px 28px; 228 + white-space: normal; 229 + overflow-wrap: anywhere; 230 + color: @text; 231 + } 155 155 156 - &:hover, 157 - &:focus, 158 - &:active { 159 - color: @brand-strong; 160 - background: fade(@brand, 8%); 161 - } 162 - } 233 + .navbar-nav .dropdown-menu > li > a:hover, 234 + .navbar-nav .dropdown-menu > li > a:focus { 235 + background: @brand-soft; 236 + color: @brand-strong; 237 + } 163 163 164 - .divider { 165 - margin: 5px 0; 166 - background-color: fade(@brand, 16%); 167 - } 239 + /* Compact the rich dropdown layout on mobile */ 240 + .navbar-nav .dropdown-menu .menu-icon { 241 + display: none; 168 168 } 169 -} 170 -/* Remove gray background from opened top-level public menu items */ 171 171 172 -.site-nav .dropdown.open > a, 173 -.site-nav .dropdown.open > a:hover, 174 -.site-nav .dropdown.open > a:focus, 175 -.site-nav .agnease-menu-item.open > a, 176 -.site-nav .agnease-menu-item.open > a:hover, 177 -.site-nav .agnease-menu-item.open > a:focus, 178 -.navbar-nav > li.dropdown.open > a, 179 -.navbar-nav > li.dropdown.open > a:hover, 180 -.navbar-nav > li.dropdown.open > a:focus, 181 -.navbar-nav > li.agnease-menu-item.open > a, 182 -.navbar-nav > li.agnease-menu-item.open > a:hover, 183 -.navbar-nav > li.agnease-menu-item.open > a:focus { 184 - color: @brand-strong; 185 - background: transparent !important; 186 - background-color: transparent !important; 187 - background-image: none !important; 188 - box-shadow: none !important; 244 + .navbar-nav .dropdown-menu .menu-text { 245 + display: block; 246 + min-width: 0; 247 + } 248 + 249 + .navbar-nav .dropdown-menu .menu-text strong { 250 + display: block; 251 + font-size: 13px; 252 + line-height: 1.25; 253 + font-weight: 600; 254 + color: @text; 255 + } 256 + 257 + /* Hide descriptions on mobile to avoid a very tall / wide menu */ 258 + .navbar-nav .dropdown-menu .menu-text small { 259 + display: none; 260 + } 261 + 262 + .navbar-nav .dropdown-menu .divider { 263 + margin: 4px 16px; 264 + background-color: @line; 265 + } 266 + 267 + .navbar-nav .open > a, 268 + .navbar-nav .open > a:hover, 269 + .navbar-nav .open > a:focus { 270 + background: @brand-bg; 271 + color: @brand-strong; 272 + } 189 189 }