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,23 +20,22 @@ 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 -/* Keep public top-level dropdown items cleanand greenwhen hovered/open/focused */33 +/* Keep Agnease public top-level menu visually clean when hovered/open/focused */ 33 33 34 -.navbar-nav > li.agnease-menu-item > a, 35 -.navbar-nav > li.agnease-menu-item > a:hover, 36 -.navbar-nav > li.agnease-menu-item > a:focus, 37 -.navbar-nav > li.agnease-menu-item.open > a, 38 -.navbar-nav > li.agnease-menu-item.open > a:hover, 39 -.navbar-nav > li.agnease-menu-item.open > a:focus { 35 +.navbar-nav > li.agnease-services-menu > a, 36 +.navbar-nav > li.agnease-products-menu > a, 37 +.navbar-nav > li.agnease-services-menu > a:hover, 38 +.navbar-nav > li.agnease-products-menu > a:hover, 39 +.navbar-nav > li.agnease-services-menu > a:focus, 40 +.navbar-nav > li.agnease-products-menu > a:focus, 41 +.navbar-nav > li.agnease-services-menu.open > a, 42 +.navbar-nav > li.agnease-products-menu.open > a, 43 +.navbar-nav > li.agnease-services-menu.open > a:hover, 44 +.navbar-nav > li.agnease-products-menu.open > a:hover, 45 +.navbar-nav > li.agnease-services-menu.open > a:focus, 46 +.navbar-nav > li.agnease-products-menu.open > a:focus { 40 40 background: transparent; 41 41 background-color: transparent; 42 42 color: @brand-strong; ... ... @@ -43,154 +43,217 @@ 43 43 box-shadow: none; 44 44 } 45 45 46 -/* Override Bootstrap/XWiki gray open states */ 47 -.nav .open > a, 48 -.nav .open > a:hover, 49 -.nav .open > a:focus, 50 -.navbar-nav > .open > a, 51 -.navbar-nav > .open > a:hover, 52 -.navbar-nav > .open > a:focus { 53 - background: transparent; 54 - background-color: transparent; 55 - color: @brand-strong; 56 - box-shadow: none; 57 -} 58 - 59 59 /* Dropdown panels */ 60 60 61 -.agnease-dropdown { 62 - min-width: 270px; 63 - padding: 8px; 64 - 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; 65 65 border-radius: 12px; 66 - background: #fff; 67 - box-shadow: 0 12px 32px fade(@brand-strong, 12%); 62 + box-shadow: 0 12px 36px rgba(0, 0, 0, .10); 68 68 69 69 > li > a { 70 70 display: flex; 71 - align-items: center; 72 - gap: 10px; 73 - padding: 9px 11px; 74 - border-radius: 9px; 75 - color: @brand; 76 - background: transparent; 77 - white-space: nowrap; 78 - font-size: 14px; 79 - font-weight: 700; 80 - 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; 81 81 82 - i { 83 - width: 18px; 84 - flex: 0 0 18px; 85 - color: @brand; 86 - text-align: center; 87 - font-size: 14px; 88 - } 89 - 90 90 &:hover, 91 - &:focus, 92 - &:active { 74 + &:focus { 93 93 color: @brand-strong; 94 - background: fade(@brand, 8%);76 + background: @brand-bg; 95 95 text-decoration: none; 96 - outline: none; 97 97 98 - i { 79 + .menu-icon { 99 99 color: @brand-strong; 81 + background: fade(@brand, 14%); 82 + border-color: fade(@brand, 28%); 100 100 } 101 - } 102 - } 103 103 104 - > .active > a, 105 - > .active > a:hover, 106 - > .active > a:focus { 107 - color: @brand-strong; 108 - background: fade(@brand, 10%); 109 - text-decoration: none; 85 + strong { 86 + color: @brand-strong; 87 + } 110 110 111 - i { 112 - color: @brand-strong; 89 + small { 90 + color: @muted; 91 + } 113 113 } 114 114 } 115 115 116 116 .divider { 117 - margin: 7px 0;118 - background-color: fade(@brand, 16%);96 + margin: 8px 0; 97 + background-color: @line; 119 119 } 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 + } 120 120 } 121 121 122 -.agnease-products-dropdown, 123 -.agnease-resources-dropdown { 124 - min-width: 260px; 134 +/* Products dropdown can be slightly narrower for now */ 135 + 136 +.agnease-products-dropdown { 137 + min-width: 340px; 125 125 } 126 126 127 -/* Remove gray Bootstrap dropdown item states */ 128 -.dropdown-menu > li > a:hover, 129 -.dropdown-menu > li > a:focus { 130 - 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 + } 131 131 } 132 132 133 -/* ========== Mobile Menu========== */160 +/* ========== Mobile Navigation Optimization ========== */ 134 134 135 135 @media (max-width: 767px) { 136 - .navbar-nav > li.agnease-menu-item > a, 163 + .navbar-nav { 164 + margin: 0; 165 + } 166 + 167 + .navbar-collapse { 168 + border-top: 1px solid @line; 169 + box-shadow: none; 170 + } 171 + 137 137 .navbar-nav > li > a { 138 - padding-top: 8px; 139 - padding-bottom: 8px; 173 + padding: 14px 18px; 174 + font-weight: 600; 175 + color: @text; 140 140 } 141 141 142 - .agnease-dropdown { 143 - min-width: 0; 178 + .navbar-nav > li > a:hover, 179 + .navbar-nav > li > a:focus { 180 + background: @brand-bg; 181 + color: @brand-strong; 182 + } 183 + 184 + .navbar-nav .open > a, 185 + .navbar-nav .open > a:hover, 186 + .navbar-nav .open > a:focus { 187 + background: @brand-bg; 188 + color: @brand-strong; 189 + } 190 + 191 + .navbar-nav .dropdown-menu { 192 + position: static; 193 + float: none; 144 144 width: 100%; 145 - padding: 4px 8px 8px 18px; 195 + margin: 0; 196 + padding: 6px 0 12px; 146 146 border: 0; 147 147 border-radius: 0; 148 148 box-shadow: none; 149 149 background: #fff; 201 + } 150 150 151 - > li > a { 152 - padding: 8px 10px; 153 - white-space: normal; 154 - font-size: 14px; 155 - border-radius: 8px; 156 - color: @brand; 203 + .navbar-nav .dropdown-menu .divider { 204 + margin: 6px 18px; 205 + background-color: @line; 206 + } 157 157 158 - i { 159 - width: 16px; 160 - flex-basis: 16px; 161 - } 208 + .navbar-nav .dropdown-menu > li > a { 209 + display: flex; 210 + align-items: flex-start; 211 + gap: 12px; 212 + padding: 10px 18px 10px 28px; 213 + white-space: normal; 214 + color: @text; 215 + } 162 162 163 - &:hover, 164 - &:focus, 165 - &:active { 166 - color: @brand-strong; 167 - background: fade(@brand, 8%); 168 - } 169 - } 217 + .navbar-nav .dropdown-menu > li > a:hover, 218 + .navbar-nav .dropdown-menu > li > a:focus { 219 + background: @brand-bg; 220 + color: @brand-strong; 221 + } 170 170 171 - .divider { 172 - margin: 5px 0; 173 - background-color: fade(@brand, 16%); 174 - } 223 + .navbar-nav .dropdown-menu .menu-icon { 224 + flex: 0 0 28px; 225 + width: 28px; 226 + height: 28px; 227 + margin-top: 2px; 228 + border-radius: 9px; 229 + background: @brand-soft; 230 + color: @brand-strong; 231 + display: flex; 232 + align-items: center; 233 + justify-content: center; 234 + font-size: 14px; 175 175 } 176 -} 177 -/* Remove gray background from opened top-level public menu items */ 178 178 179 -.site-nav .dropdown.open > a, 180 -.site-nav .dropdown.open > a:hover, 181 -.site-nav .dropdown.open > a:focus, 182 -.site-nav .agnease-menu-item.open > a, 183 -.site-nav .agnease-menu-item.open > a:hover, 184 -.site-nav .agnease-menu-item.open > a:focus, 185 -.navbar-nav > li.dropdown.open > a, 186 -.navbar-nav > li.dropdown.open > a:hover, 187 -.navbar-nav > li.dropdown.open > a:focus, 188 -.navbar-nav > li.agnease-menu-item.open > a, 189 -.navbar-nav > li.agnease-menu-item.open > a:hover, 190 -.navbar-nav > li.agnease-menu-item.open > a:focus { 191 - color: @brand-strong; 192 - background: transparent !important; 193 - background-color: transparent !important; 194 - background-image: none !important; 195 - box-shadow: none !important; 237 + .navbar-nav .dropdown-menu .menu-text { 238 + display: block; 239 + min-width: 0; 240 + } 241 + 242 + .navbar-nav .dropdown-menu .menu-text strong { 243 + display: block; 244 + font-size: 14px; 245 + line-height: 1.25; 246 + color: @text; 247 + } 248 + 249 + .navbar-nav .dropdown-menu .menu-text small { 250 + display: block; 251 + margin-top: 2px; 252 + font-size: 12px; 253 + line-height: 1.35; 254 + color: @muted; 255 + } 256 + 257 + .navbar-nav .dropdown-menu > li > a:hover .menu-text strong, 258 + .navbar-nav .dropdown-menu > li > a:focus .menu-text strong { 259 + color: @brand-strong; 260 + } 261 + 262 + .navbar-nav .caret { 263 + float: right; 264 + margin-top: 8px; 265 + } 196 196 }