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 5html { 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 12body { 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 37html[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 123body.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. */ 148html[themegravity='right'] #attribution, 149body.bare-minimum #attribution, 150html[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 206body.bare-minimum #footer { 207 background: transparent; 208 bottom: auto; 209 font-weight: normal; 210 position: absolute; 211 right: 0; 212} 213 214html[dir='rtl'] body.bare-minimum #footer { 215 left: 0; 216 right: auto; 217} 218 219body.bare-minimum #footer-border, 220body.bare-minimum #logo-img, 221body.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 250html[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 262html[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 313html[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 347html[dir='rtl'] #trash > .lid, 348html[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 356html[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 414html[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