/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ html { font-size: 10px; font-family: sans-serif; /* XXX will be changed to a system font in bug 1191398 */ } .contacts-container { flex: 1; display: flex; flex-flow: column nowrap; overflow: auto; } .contact-list-container { flex: 1; display: flex; flex-direction: column; overflow: auto; } /* Don't show the Gravatar if we're showing a contacts list. */ .contact-list ~ .contacts-gravatar-promo { display: none; } .contact-list-wrapper { flex: 1; overflow-x: hidden; overflow-y: auto; } /* Don't show the empty contacts image if we're showing gravatar promo. */ .contacts-gravatar-promo ~ .contact-list-empty { background-image: none; padding-top: 0; padding-bottom: 0; margin-top: 2px; } .contact-list-empty-container { flex: 1; overflow-x: hidden; overflow-y: auto; } .contact-list-empty, .contact-search-list-empty { margin-top: 4rem; padding-top: 11.5rem; padding-bottom: 0; } .contact-search-list-empty { background-image: url("../shared/img/empty_search.svg"); } .contact-list-empty { background-image: url("../shared/img/empty_contacts.svg"); } .contact-import-spinner { display: none; } .contact-import-spinner.busy { display: inline-block; vertical-align: middle; -moz-margin-start: 10px; } .contact-filter-container { display: flex; height: 2em; } .contact-filter { margin: 0; -moz-padding-start: 34px; width: 100%; height: 28px; border: 0; border-bottom: 1px solid #ddd; background-image: url("../shared/img/icons-14x14.svg#magnifier"); background-position: 10px center; background-size: 14px; background-repeat: no-repeat; color: #999; font-size: 1.2rem; } html[dir="rtl"] .contact-filter { background-position: right 10px center; } .contact-filter:focus + .clear-search, .contact-filter:focus { border-bottom: 1px solid #5cccee; color: #4a4a4a; } .clear-search { width: 34px; height: 28px; border: none; border-bottom: 1px solid #ddd; background-color: #fff; background-image: url("../shared/img/icons-14x14.svg#clear"); background-position: center; background-size: 14px; background-repeat: no-repeat; cursor: pointer; flex: 0 1 auto; align-self: stretch; } .contact-list { /* Space for six contacts, not affected by filtering. This is enough space to show the dropdown menu when there is only one contact. */ /* Contact list title goes away when searching, needed for spacing. */ margin-top: 4px; } .contact-list-title { padding: 0.75rem 1rem; color: #666; font-weight: 500; font-size: .9em; } .contact, .contact-separator { padding: .5rem 15px; font-size: 13px; } .contact { display: flex; flex-direction: row; align-items: center; color: #666; } .contact-separator { background-color: #eee; color: #888; } .contact-separator:not(:first-child) { border-top: 1px solid #ccc; } .contact:hover { background-color: #E3F7FE; } .contact:hover > .icons { display: block; z-index: 1; } .contact > .details { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: auto; } .contact > .avatar { width: 40px; height: 40px; background-color: #ccc; border-radius: 50%; -moz-margin-end: 10px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3); background-image: url("../shared/img/audio-call-avatar.svg"); background-repeat: no-repeat; background-color: #4ba6e7; background-size: contain; -moz-user-select: none; flex: none; } /* * Loop through all 12 default avatars. */ .contact:nth-child(12n + 1) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#blue-avatar"); background-color: #4A90E2; } .contact:nth-child(12n + 2) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#orange-avatar"); background-color: #F3A35C; } .contact:nth-child(12n + 3) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#mintgreen-avatar"); background-color: #50E2C2; } .contact:nth-child(12n + 4) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#lightpink-avatar"); background-color: #E364A1; } .contact:nth-child(12n + 5) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#grey-avatar"); background-color: #9B9B9B; } .contact:nth-child(12n + 6) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#yellow-avatar"); background-color: #F3E968; } .contact:nth-child(12n + 7) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#purple-avatar"); background-color: #9C61AF; } .contact:nth-child(12n + 8) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#lightgreen-avatar"); background-color: #9AC967; } .contact:nth-child(12n + 9) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#darkblue-avatar"); background-color: #607CAE; } .contact:nth-child(12n + 10) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#darkpink-avatar"); background-color: #CE4D6E; } .contact:nth-child(12n + 11) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#brown-avatar"); background-color: #8A572A; } .contact:nth-child(12n + 12) > .avatar.defaultAvatar { background-image: url("../shared/img/avatars.svg#green-avatar"); background-color: #56B397; } .contact > .avatar > img { width: 100%; } .panel-text-medium{ margin: 3px; color: #4a4a4a; font-size: 1.3rem; } .contact > .details > .username { font-size: 1.3rem; line-height: 20px; color: #000; } .contact.blocked > .details > .username { color: #d74345; } .contact > .details > .username > strong { font-weight: bold; } .contact > .details > .username > i.icon-blocked { display: inline-block; width: 10px; height: 20px; -moz-margin-start: 3px; background-image: url("../shared/img/icons-16x16.svg#block-red"); background-position: center; background-size: 10px 10px; background-repeat: no-repeat; } .contact > .details > .email { color: #4a4a4a; font-size: 11px; line-height: 14px; } .icons { cursor: pointer; display: none; -moz-margin-start: 10px; color: #fff; -moz-user-select: none; flex: none; } .icons:hover { display: block; } .icons i { display: inline-block; background-position: center; background-repeat: no-repeat; } .icon-contact-video-call { padding: 15px; width: 16px; height: 16px; border-radius: 50%; background-color: #5bc0a4; background-image: url("../shared/img/icons-14x14.svg#video-white"); background-size: 14px 14px; } .icon-contact-video-call:hover, .icon-contact-video-call:active { background-color: #50E3C2; } .icon-vertical-ellipsis { /* Added padding for a larger click area. */ padding: 0 10px; margin: 6px 0; -moz-margin-start: 5px; -moz-margin-end: -8px; width: 4px; height: 20px; background-image: url("../shared/img/ellipsis-v.svg"); background-size: contain; } .contact > .dropdown-menu { z-index: 2; top: 37px; right: 22px; bottom: auto; left: auto; z-index: 2; } html[dir="rtl"] .contact > .dropdown-menu { right: auto; left: 22px; } .contact > .dropdown-menu-up { bottom: 25px; top: auto; } .contact-form { padding: 14px 15px 0 15px; /* Override based on spacing in Mockup */ flex: 1; display: flex; flex-direction: column; } /* This will effect the header displayed at the top of the contact details form */ .contact-form header { text-align: center; font-size: 1.3rem; font-weight: 500; color: #4a4a4a; } .contact-form .form-content-container { /* flex is needed to fill and place the buttons above the footer */ flex: 1; padding-top: 4px; /* Based on spacing in Mockup replaced margin-top See http://stackoverflow.com/questions/6204670/css-clean-solution-to-the-margin-collapse-issue-when-floating-an-element */ } .contacts-gravatar-promo { border: 1px solid #5cccee; border-radius: 2px; background-color: #fff; font-size: 1.2rem; margin: 1.5rem; padding: 1.5rem 1rem; position: relative; } .contacts-gravatar-promo > p { margin-top: 0; word-wrap: break-word; } .contacts-gravatar-promo > p > a { color: #0295df; text-decoration: none; } .contacts-gravatar-promo > p > a:hover { text-decoration: underline; } .contacts-gravatar-promo > .button-close { position: absolute; top: 8px; right: 8px; } html[dir="rtl"] .contacts-gravatar-promo > .button-close { right: auto; left: 8px; } .contacts-gravatar-avatars { height: 50px; margin: 1.5rem auto; text-align: center; width: 200px; } .contacts-gravatar-avatars img { margin: 0 1.5rem; vertical-align: middle; width: 50px; } /* Adjust the Firefox avatar because it has pointy ears. */ .contacts-gravatar-avatars img:last-child { transform: scale(1.08) translateY(-2px); } .contacts-gravatar-arrow { border-color: #9b9b9b; border-style: solid solid none none; border-width: 2px; display: inline-block; height: 1.5rem; -moz-margin-start: -.75rem; transform: rotateZ(45deg); vertical-align: middle; width: 1.5rem; } html[dir="rtl"] .contacts-gravatar-arrow { transform: rotateZ(225deg); } .contacts-gravatar-buttons { padding: 0 .5rem; } .contact-controls { padding-left: 15px; padding-right: 15px; border-top: 1px solid #D8D8D8; } .contact-controls > .button { padding: .5em; border: none; border-radius: 5px; } .button.primary { background: #00A9DC; color: #fff; } .button.primary:active, .button.primary:hover { background: #5cccee; } .button.secondary { background: #ebebeb; color: #4D4D4D; } .button.secondary:hover, .button.secondary:active { background: #dad6d6; color: #4D4D4D; } .contact-controls > .primary { flex: 5; } .contact-controls > .secondary { flex: 3; }