1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. */ 4 5 html { 6 /* It's necessary to put this here instead of in body in order to get the 7 background-size of 100% to work properly */ 8 height: 100%; 9 overflow: hidden; 10 } 11 12 body { 13 /* Don't highlight links when they're tapped. Safari has bugs here that 14 show up as flicker when dragging in some situations */ 15 -webkit-tap-highlight-color: transparent; 16 /* Don't allow selecting text - can occur when dragging */ 17 -webkit-user-select: none; 18 background-size: auto 100%; 19 margin: 0; 20 } 21 22 /* [hidden] does display:none, but its priority is too low in some cases. */ 23 [hidden] { 24 display: none !important; 25 } 26 27 #notification-container { 28 -webkit-transition: opacity 200ms; 29 bottom: 31px; 30 display: block; 31 float: left; 32 position: relative; 33 text-align: start; 34 z-index: 15; 35 } 36 37 html[dir='rtl'] #notification-container { 38 float: right; 39 } 40 41 #notification-container.card-changed { 42 -webkit-transition: none; 43 opacity: 0; 44 } 45 46 #notification-container.inactive { 47 -webkit-transition: opacity 200ms; 48 opacity: 0; 49 } 50 51 #notification { 52 display: inline-block; 53 font-weight: bold; 54 white-space: nowrap; 55 } 56 57 #notification > * { 58 display: inline-block; 59 white-space: normal; 60 } 61 62 #notification > div > div, 63 #notification > div { 64 display: inline-block; 65 } 66 67 /* NOTE: This is in the probable case that we start stuffing 16x16 data URI'd 68 * icons in the promo notification responses. */ 69 #notification > span > img { 70 margin-bottom: -3px; 71 } 72 73 #notification .close-button { 74 -webkit-margin-start: 8px; /* Matching value in TilePage#repositionTile_. */ 75 vertical-align: top; 76 } 77 78 .close-button { 79 background: no-repeat; 80 background-color: transparent; 81 /* TODO(estade): this should animate between states. */ 82 background-image: -webkit-image-set( 83 url('../../../../ui/resources/default_100_percent/close_2.png') 1x, 84 url('../../../../ui/resources/default_200_percent/close_2.png') 2x); 85 border: 0; 86 cursor: default; 87 display: inline-block; 88 height: 16px; 89 padding: 0; 90 width: 16px; 91 } 92 93 .close-button:hover, 94 .close-button:focus { 95 background-image: -webkit-image-set( 96 url('../../../../ui/resources/default_100_percent/close_2_hover.png') 1x, 97 url('../../../../ui/resources/default_200_percent/close_2_hover.png') 2x); 98 } 99 100 .close-button:active { 101 background-image: -webkit-image-set( 102 url('../../../../ui/resources/default_100_percent/close_2_pressed.png') 103 1x, 104 url('../../../../ui/resources/default_200_percent/close_2_pressed.png') 105 2x); 106 } 107 108 .link-button { 109 -webkit-margin-start: 0.5em; 110 } 111 112 #card-slider-frame { 113 /* Must match #footer height. */ 114 bottom: 50px; 115 overflow: hidden; 116 /* We want this to fill the window except for the region used 117 * by footer. */ 118 position: fixed; 119 top: 0; 120 width: 100%; 121 } 122 123 body.bare-minimum #card-slider-frame { 124 bottom: 0; 125 } 126 127 #page-list { 128 /* fill the apps-frame */ 129 display: -webkit-box; 130 height: 100%; 131 } 132 133 #attribution { 134 bottom: 0; 135 left: auto; 136 margin-left: 8px; 137 /* Leave room for the scrollbar. */ 138 margin-right: 13px; 139 position: absolute; 140 right: 0; 141 text-align: left; 142 z-index: -5; 143 } 144 145 /* For themes that right-align their images, we flip the attribution to the 146 * left to avoid conflicts. We also do this for bare-minimum mode since there 147 * can be conflicts with the recently closed menu. */ 148 html[themegravity='right'] #attribution, 149 body.bare-minimum #attribution, 150 html[dir='rtl'] #attribution { 151 left: 0; 152 right: auto; 153 text-align: right; 154 } 155 156 #attribution > span { 157 display: block; 158 } 159 160 #footer { 161 background-image: -webkit-linear-gradient( 162 rgba(242, 242, 242, 0.9), rgba(222, 222, 222, 0.9)); 163 bottom: 0; 164 color: #7F7F7F; 165 font-size: 0.9em; 166 font-weight: bold; 167 overflow: hidden; 168 position: fixed; 169 width: 100%; 170 z-index: 5; 171 } 172 173 /* TODO(estade): remove this border hack and replace with a webkit-gradient 174 * border-image on #footer once WebKit supports border-image-slice. 175 * See https://bugs.webkit.org/show_bug.cgi?id=20127 */ 176 #footer-border { 177 height: 1px; 178 } 179 180 #footer-content { 181 -webkit-align-items: center; 182 -webkit-justify-content: space-between; 183 display: -webkit-flex; 184 height: 49px; 185 } 186 187 #footer-content > * { 188 margin: 0 9px; 189 } 190 191 #logo-img { 192 display: inline-block; 193 margin-top: 4px; 194 position: relative; 195 } 196 197 #promo-bubble-anchor { 198 height: 1px; 199 left: 0; 200 position: absolute; 201 top: 4px; 202 visibility: hidden; 203 width: 32px; 204 } 205 206 body.bare-minimum #footer { 207 background: transparent; 208 bottom: auto; 209 font-weight: normal; 210 position: absolute; 211 right: 0; 212 } 213 214 html[dir='rtl'] body.bare-minimum #footer { 215 left: 0; 216 right: auto; 217 } 218 219 body.bare-minimum #footer-border, 220 body.bare-minimum #logo-img, 221 body.bare-minimum #dot-list { 222 visibility: hidden; 223 } 224 225 .starting-up * { 226 -webkit-transition: none !important; 227 } 228 229 /* Login Status. **************************************************************/ 230 231 #login-container { 232 -webkit-box-shadow: none; 233 background: transparent none; 234 border: none; 235 color: inherit; 236 cursor: pointer; 237 font: inherit; 238 /* Leave room for the scrollbar. */ 239 margin-left: 13px; 240 margin-right: 13px; 241 margin-top: 5px; 242 padding: 0; 243 position: fixed; 244 right: 0; 245 text-align: right; 246 top: 0; 247 z-index: 10; 248 } 249 250 html[dir='rtl'] #login-container { 251 left: 0; 252 right: auto; 253 } 254 255 .login-status-icon { 256 -webkit-padding-end: 37px; 257 background-position: right center; 258 background-repeat: no-repeat; 259 min-height: 27px; 260 } 261 262 html[dir='rtl'] .login-status-icon { 263 background-position-x: left; 264 } 265 266 .profile-name:hover, 267 .link-span { 268 text-decoration: underline; 269 } 270 271 #login-status-bubble-contents { 272 font-size: 1.1em; 273 } 274 275 #login-status-message-container { 276 margin-bottom: 13px; 277 } 278 279 #login-status-learn-more { 280 display: inline-block; 281 } 282 283 .login-status-row { 284 -webkit-box-align: center; 285 -webkit-box-orient: horizontal; 286 -webkit-box-pack: end; 287 display: -webkit-box; 288 } 289 290 #login-status-advanced-container { 291 -webkit-box-flex: 1; 292 } 293 294 #login-status-dismiss { 295 min-width: 6em; 296 } 297 298 /* Trash. *********************************************************************/ 299 300 #trash { 301 -webkit-padding-start: 10px; 302 -webkit-transition: top 200ms, opacity 0; 303 -webkit-transition-delay: 0, 200ms; 304 color: #222; 305 height: 100%; 306 opacity: 0; 307 position: absolute; 308 right: 0; 309 top: 50px; 310 width: auto; 311 } 312 313 html[dir='rtl'] #trash { 314 left: 0; 315 right: auto; 316 } 317 318 #footer.showing-trash-mode #trash { 319 -webkit-transition-delay: 0, 0; 320 -webkit-transition-duration: 0, 200ms; 321 opacity: 0.75; 322 top: 0; 323 } 324 325 #footer.showing-trash-mode #trash.drag-target { 326 opacity: 1; 327 } 328 329 #trash > .trash-text { 330 -webkit-padding-end: 7px; 331 -webkit-padding-start: 30px; 332 border: 1px dashed #7f7f7f; 333 border-radius: 4px; 334 display: inline-block; 335 padding-bottom: 9px; 336 padding-top: 10px; 337 position: relative; 338 top: 7px; 339 } 340 341 #trash > .lid, 342 #trash > .can { 343 left: 18px; 344 top: 18px; 345 } 346 347 html[dir='rtl'] #trash > .lid, 348 html[dir='rtl'] #trash > .can { 349 right: 18px; 350 } 351 352 #footer.showing-trash-mode #trash.drag-target .lid { 353 -webkit-transform: rotate(-45deg); 354 } 355 356 html[dir='rtl'] #footer.showing-trash-mode #trash.drag-target .lid { 357 -webkit-transform: rotate(45deg); 358 } 359 360 #fontMeasuringDiv { 361 /* The font attributes match the nav inputs. */ 362 font-size: 0.9em; 363 font-weight: bold; 364 pointer-events: none; 365 position: absolute; 366 visibility: hidden; 367 } 368 369 /* Page switcher buttons. *****************************************************/ 370 371 .page-switcher { 372 -webkit-transition: width 150ms, right 150ms, background-color 150ms; 373 background-color: transparent; 374 border: none; 375 bottom: 0; 376 font-size: 40px; 377 margin: 0; 378 max-width: 150px; 379 min-width: 90px; 380 outline: none; 381 padding: 0; 382 position: absolute; 383 top: 0; 384 z-index: 5; 385 } 386 387 /* Footer buttons. ************************************************************/ 388 389 #chrome-web-store-link { 390 -webkit-order: 3; 391 -webkit-padding-end: 12px; 392 /* Match transition delay of recently closed button. */ 393 -webkit-transition-delay: 100ms; 394 color: inherit; 395 cursor: pointer; 396 display: inline-block; 397 margin: 0; 398 text-decoration: none; 399 white-space: nowrap; 400 } 401 402 #chrome-web-store-title { 403 -webkit-padding-end: 36px; 404 -webkit-padding-start: 15px; 405 background: url('chrome://theme/IDR_WEBSTORE_ICON_24') right 50% no-repeat; 406 display: inline-block; 407 line-height: 49px; 408 } 409 410 #chrome-web-store-link:hover { 411 color: #666; 412 } 413 414 html[dir='rtl'] #chrome-web-store-title { 415 background-position-x: left; 416 } 417 418 #vertical-separator { 419 -webkit-order: 2; 420 background-color: rgb(178, 178, 178); 421 display: none; 422 height: 20px; 423 margin: 0; 424 vertical-align: middle; 425 width: 1px; 426 } 427 428 /* Show the separator only if one of the menus is visible. */ 429 .footer-menu-button:not([hidden]) ~ #chrome-web-store-link:not([hidden]) 430 ~ #vertical-separator { 431 display: inline-block; 432 } 433 434 /* In trash mode, hide the menus and web store link. */ 435 #footer.showing-trash-mode .menu-container { 436 -webkit-transition-delay: 0; 437 opacity: 0; 438 visibility: hidden; 439 } 440 441 #footer .menu-container { 442 -webkit-align-items: center; 443 -webkit-flex-direction: row; 444 -webkit-justify-content: flex-end; 445 /* Put menus in a box so the order can easily be swapped. */ 446 display: -webkit-flex; 447 height: 100%; 448 margin: 0; 449 min-width: -webkit-min-content; 450 } 451 452 #recently-closed-menu-button { 453 -webkit-order: 1; 454 } 455 456 #other-sessions-menu-button { 457 -webkit-order: 0; 458 } 459 460 .other-sessions-promo-message { 461 display: none; 462 padding: 0; 463 } 464 465 .other-sessions-promo-message:only-child { 466 display: block; 467 } 468 469 .other-sessions-promo-message p { 470 margin: 0; 471 } 472