/* 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/. */ .contact-import-spinner { display: none; } .contact-import-spinner.busy { display: inline-block; vertical-align: middle; -moz-margin-start: 10px; } .content-area input.contact-filter { margin-top: 14px; border-radius: 10000px; } .contact-list { border-top: 1px solid #ccc; overflow-x: hidden; overflow-y: auto; /* Space for six contacts, not affected by filtering. This is enough space to show the dropdown menu when there is only one contact. */ height: 306px; } .contact, .contact-separator { padding: .5rem 1rem; font-size: 13px; } .contact { position: relative; display: flex; flex-direction: row; align-items: center; color: #666; } .contact-separator { background-color: #eee; color: #888; } .contact:not(:first-child) { border-top: 1px solid #ddd; } .contact-separator:not(:first-child) { border-top: 1px solid #ccc; } .contact:hover { background-color: #eee; } .contact:hover > .icons { display: block; z-index: 1; } .contact > .details { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .contact:hover > .details { /* Hovering the contact shows the icons/ buttons, which takes up horizontal * space. This causes the fixed-size avatar to resize horizontally, so we assign * a flex value equivalent to the maximum pixel value to avoid the resizing * to happen. Consider this a hack. */ flex: 190; } .contact > .avatar { width: 40px; height: 40px; background-color: #ccc; border-radius: 50%; margin-right: 10px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3); background-image: url("../img/audio-call-avatar.svg"); background-repeat: no-repeat; background-color: #4ba6e7; background-size: contain; -moz-user-select: none; } .contact > .avatar > img { width: 100%; } .contact > .details > .username { font-size: 12px; line-height: 20px; color: #222; } .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("../img/icons-16x16.svg#block-red"); background-position: center; background-size: 10px 10px; background-repeat: no-repeat; } .contact > .details > .username > i.icon-google { position: absolute; right: 1rem; top: 35%; width: 14px; height: 14px; border-radius: 50%; background-image: url("../img/icons-16x16.svg#google"); background-position: center; background-size: 16px 16px; background-repeat: no-repeat; background-color: #fff; } .contact > .details > .email { color: #999; font-size: 11px; line-height: 16px; } .icons { cursor: pointer; display: none; margin-left: auto; padding: 10px; border-radius: 2px; background-color: #5bc0a4; color: #fff; -moz-user-select: none; } .icons:hover { background-color: #47b396; } .icons:hover:active { background-color: #3aa689; } .icons i { margin: 0 5px; display: inline-block; background-position: center; background-repeat: no-repeat; } .icons i.icon-video { background-image: url("../img/icons-14x14.svg#video-white"); background-size: 14px 14px; width: 16px; height: 16px; } .icons i.icon-caret-down { background-image: url("../img/icons-10x10.svg#dropdown-white"); background-size: 10px 10px; width: 10px; height: 16px; } .contact > .dropdown-menu { z-index: 2; top: 10px; bottom: auto; right: 3em; left: auto; } .contact > .dropdown-menu-up { bottom: 10px; top: auto; } .contact > .dropdown-menu > .dropdown-menu-item > .icon { display: inline-block; width: 20px; height: 10px; background-position: center left; background-size: 10px 10px; background-repeat: no-repeat; } .contact > .dropdown-menu > .dropdown-menu-item > .icon-audio-call { background-image: url("../img/icons-16x16.svg#audio"); } .contact > .dropdown-menu > .dropdown-menu-item > .icon-video-call { background-image: url("../img/icons-16x16.svg#video"); } .contact > .dropdown-menu > .dropdown-menu-item > .icon-edit { background-image: url("../img/icons-16x16.svg#contacts"); } .contact > .dropdown-menu > .dropdown-menu-item > .icon-block { background-image: url("../img/icons-16x16.svg#block"); } .contact > .dropdown-menu > .dropdown-menu-item > .icon-unblock { background-image: url("../img/icons-16x16.svg#unblock"); } .contact > .dropdown-menu > .dropdown-menu-item > .icon-remove { background-image: url("../img/icons-16x16.svg#delete"); } .contact-form > .button-group { margin-top: 1rem; }