@import url("root.css"); /* Contact detail header */ .contact-header { margin: -1.4rem -2rem 1rem; } /* Fav star in header */ .favorite-indicator { display: none; background: url(/contacts/style/gphx/bitmap/default/vw-header/icons/fav-star.png) no-repeat center / 3rem; padding: 0 1rem; } .favorite .favorite-indicator { display: unset; } section[role="region"] > gaia-header .icon.icon-edit-contact { background-image: url(images/edit-contact.png); } .contact-header img { width: 100%; height: 7.6rem; background: transparent no-repeat center 30%; background-size: 100% auto; } .view-contacts-list .block-list { padding-inline-end: 1rem; } .view-contacts-list .view-body-inner { padding-inline-start: 0; } /* Contact detail main section */ .view-contact-profile .view-body { overflow-x: hidden; overflow-y: auto; will-change: scroll-position; background: #fff; } .view-contact-profile .view-body-inner { will-change: transform; } .view-contact-profile #cover-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff no-repeat; background-size: 100% auto; transform: translateY(0); will-change: transform; } .view-contact-profile #cover-img.translated { transform: translateY(-7rem); } .view-contact-profile #cover-img.up { transition: transform 0.25s ease-out; } #contact-detail-inner { padding-bottom: 1rem; padding-top: 1.4rem; } .fb-contact:not(.no-photo):before { content: ""; width: 2rem; height: 2rem; position: absolute; top: -3rem; background-repeat: no-repeat; background-size: cover; } .view-contact-profile .view-body-inner { position: relative; padding: 0 1.5rem; background: #fff; overflow: visible; width: 100%; min-height: calc(100% - 8rem); box-sizing: border-box; transform: translateY(0); } .view-contact-profile .view-body-inner.translated { transform: translateY(8rem); } .view-contact-profile .view-body-inner.up { transition: transform var(--transition-duration) ease-out; } .view-contact-profile .view-body-inner hr { margin-top: 0; } .view-contact-profile .view-body-inner:not(.no-photo):after { background: url(images/shadow_1px.png) repeat-x bottom / auto 0.8rem; content: ""; display: block; height: 0.8rem; top: -0.8rem; left: 0; position: absolute; width: 100%; } .view-contact-profile .view-body-inner.no-photo { min-height: 100%; } .view-contact-profile .view-body-inner .comment-notes { font-weight: 600; font-size: 1.3rem; line-height: 1.3em; white-space: pre-wrap; } #contactsManagement li:first-child { margin-top: 1rem; } #contact-detail h1 { font-size: 1.6rem; line-height: 1.8em; font-weight: 400; margin: 0 1.5rem 1rem; color: #333; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } #contact-detail .social-actions button { margin-bottom: 1rem; } .calls-disabled li[data-phone] button.call-action { pointer-events: none; } #contact-detail .duplicate-actions button { margin-bottom: 1rem; } .block-item > * { pointer-events: none; } .view:not(.current) { visibility: hidden; } /* Edit contact section */ .view-edit-contact, .view-edit-contact form li { background: transparent; } .view-edit-contact form li { padding-right: 1rem; padding-left: 1rem; } .view-edit-contact form li.closed { height: 4.5rem; background-color: transparent; border: 0; } .view-edit-contact form li.closed > section { display: none; } .item.first { padding: 1rem 1rem 0 1rem; /* We enable overflow wrt bug 1094709 */ overflow: inherit; } /* Bug 1094709. We can now click on rightmost part and the reset will work */ #contact-form div.with-overflow { overflow: inherit; } #contact-form div.with-overflow button[type="reset"] { width: 5rem; /* The affordance is increased by 1 rem */ offset-inline-end: calc(-0.5rem + -0.3rem); } #contact-form div.with-overflow input { width: calc(100% - 10rem); } #contact-form div.with-overflow input[name="org"] { width: 100%; } #contact-form input::-moz-placeholder, #contact-form textarea::-moz-placeholder { overflow: hidden; text-overflow: ellipsis; } /* this is needed because it overflows the photo container */ div.with-overflow > p.input-container { pointer-events: none; } div.with-overflow > p.input-container > input { pointer-events: auto; } .view-edit-contact .tail-actions { margin: 4rem 0 1rem 0; width: 100%; text-align: center; } .view-edit-contact form li > section { padding: 0; border: none; } .view-edit-contact form li > section.first { margin: 0; } .view-edit-contact form li > section{ position: relative; } .view-edit-contact form li > section div { position: relative; } .view-edit-contact form li fieldset { /* li already has a 0.5 padding */ margin-top: 1rem; overflow: visible; width: calc(100% - 5rem); } .two_fields { display: flex; flex-direction: row; justify-content: space-between; } .two_fields > :first-child { margin-inline-end: 1rem; width: 50%; } .two_fields > :nth-child(2) { width: 50%; } .view-edit-contact .fillflow-row-action { width: 4rem; height: 4rem; } .view-edit-contact .fillflow-row-action { width: 4rem; height: 4rem; } #contacts-form-notes .setbox { width: calc(100% - 5rem); } hr { background-color: #BCBCBC; border: 0; height: 0.1rem; } /* Overriding Input areas BB */ form p input + button[type="reset"].hide, form p textarea + button[type="reset"].hide { display: block !important; opacity: 0; pointer-events: none; } /* Favorites handling */ #group-favorites abbr { background: url(gphx/bitmap/default/lists/favorites.png); display: block; background-size: 100% auto; width: 2rem; height: 2rem; } /* "import contacts" button and throbber */ .importContacts { font-size: 1.6rem; margin-top: 5rem; margin-left: 1.5rem; /* BiDi-proof */ width: calc(100% - 6rem); /* 4.5rem = view-jumper width */ } .importContacts button { height: 2rem; line-height: 2rem; font-weight: bold; font-size: 1.4rem; } .importContacts span, .importContacts small { display: block; } /* Social network markers */ .icon-social { background-size: cover; display: inline-block; vertical-align: middle; text-indent: 100%; overflow: hidden; width: 1.5rem; height: 1.5rem; margin: 0; margin-top: -0.2rem; margin-inline-end: 1rem; } .icon-social.icon-fb, .fb-contact:not(.no-photo):before { background-image: url(images/f_logo.png) !important; } .icon-social.notorg { margin-left: 0 !important; } #contact-detail p > strong, #contact-detail bdi > strong, .action-block b, .comment-notes { font-size: 1.6rem; font-weight: normal; padding: 0 1.5rem 1.5rem; display: block; } /* MARK AS Facebook */ .facebook { border-color: #c8c8c8; opacity: 0.85; } .facebook fieldset { margin-inline-start: 4rem; } .facebook fieldset, .facebook legend, .facebook input { background-color: transparent; color: #ccc; pointer-events: none; } .facebook legend.action:after { border-top-color: #666; } .with-photo { background: none; } .with-photo.removed img { pointer-events: none; } .with-photo p { display: none; } .view-edit-contact .with-photo .fillflow-row-action { right: 0; width: 5rem; z-index: 10; border-radius: 0; background: none; } /* SETTINGS */ #import-settings ul { padding: 0; } /** * 1. Hide label text. * !important required to override high specificity of scoped stylesheets. * When `::content` selector lands, we won't need this any more. */ gaia-header [data-icon] { font-size: 0 !important; /* 1 */ } #view-settings { z-index: 101; } #ice-settings .view-body-inner, #view-settings .view-body-inner { padding: 0; } #view-settings .view-body-inner, #import-settings .view-body-inner, #view-contact-form .view-body-inner, #ice-settings .view-body-inner { background: #f4f4f4; } #view-contact-form #thumbnail-photo { background-color: transparent; border-radius: 7rem; } #view-contact-form #contact-form hr { margin-left: 4rem; background-color: #e7e7e7; } /* Order switch */ #view-settings [data-type="list"] li#settingsOrder { display: flex; justify-content: space-between; } /* Cutom FB item */ #view-settings [data-type="list"] .fb-item { border-bottom: none; display: flex; flex-direction: column; } #view-settings [data-type="list"] .fb-item p { padding-inline-start: 4.2rem; font-size: 1.4rem; } #view-settings [data-type="list"] .fb-item p span { display: block; padding-bottom: 0.4rem; } #view-settings [data-type="list"] .fb-item { background-image: url(/contacts/style/images/f_logo.png); background-repeat: no-repeat; background-size: 3rem; } html[dir="ltr"] #view-settings [data-type="list"] .fb-item { background-position: 0 calc(50% + 0.5rem); } html[dir="rtl"] #view-settings [data-type="list"] .fb-item { background-position: 100% calc(50% + 0.5rem); } #view-settings [data-type="list"] .fb-item p:first-of-type { height: 3rem; font-size: 1.9rem; line-height: 3rem; } #view-settings [data-type="list"] .fb-item aside { width: 6.5rem; height: 5rem; margin: 0; pointer-events: none; position: absolute; top: 1rem; offset-inline-end: 0; } #view-settings [data-type="list"] .fb-item aside label { position: absolute; offset-inline-end: 0; } #view-settings [data-type="list"] .fb-item[aria-disabled="true"] { pointer-events: none; } #view-settings [data-type="list"] .fb-item[aria-disabled="true"]:after { display: none; } #view-settings [data-type="list"] .fb-item[aria-disabled="true"] aside { opacity: 0.3; } #fb-update-option { height: auto; margin: 1rem 0; } /* We are going to update the panels with conditional css */ #import-settings.export #import-options{ display: none; } #import-settings.import #export-options{ display: none; } #import-settings [data-type="list"] li { border-bottom: none; height: auto; } #import-settings [data-type="list"] li .error-message { display: none; } #import-settings [data-type="list"] li.error .error-message { display: block; line-height: 2rem; margin-top: -1.5rem; margin-right: 1.5rem; color: #5B5B5B; font-size: 1.5rem; height: auto; white-space: normal; } /* Extending BB styles */ #import-settings [data-type="list"] li aside { pointer-events: auto; } #import-settings [data-type="list"] li aside label { height: 100%; width: 6.5rem; } /* Extending BB buttons Icons at left side*/ #view-settings [data-type="list"] li button.icon { padding: 1.2rem 1.3rem; padding-inline-start: 4rem; } #view-settings [data-type="list"] li button.icon:before { offset-inline-start: 0.5rem; offset-inline-end: auto; } #view-settings [data-type="list"] li button.icon[disabled="disabled"]:before { opacity: 0.2; } #import-settings [data-type="list"] li button.icon { padding: 1rem 1.3rem; padding-inline-start: 4rem; } #import-settings [data-type="list"] li button.icon:before { offset-inline-start: 0.5rem; offset-inline-end: auto; } #import-settings [data-type="list"] li button.icon[disabled="disabled"]:before { opacity: 0.2; } /* Extending icon types for view settings & import-settings*/ #view-settings [data-type="list"] li button.icon-import:before { background-image: url(/contacts/style/images/import_contacts.png); } #view-settings [data-type="list"] li button.icon-export:before { background-image: url(/contacts/style/images/export_contacts.png); } #import-settings [data-type="list"] li button.icon:before { background-size: 3rem; } #import-settings [data-type="list"] li button.icon-sim:before { background-image: url(/contacts/style/images/import_SIM.png); } #import-settings [data-type="list"] li button.icon-sd:before { background-image: url(/contacts/style/images/import_sd.png); } #import-settings [data-type="list"] li button.icon-gmail:before { background-image: url(/contacts/style/images/gmail_icon.png); } #import-settings [data-type="list"] li button.icon-live:before { background-image: url(/contacts/style/images/outlook_icon.png); } #import-settings [data-type="list"] li button.icon-bluetooth:before { background-image: url(/contacts/style/images/bluetooth_icon.png); } #ice-settings .ice-contacts-switch { display: flex; justify-content: space-between; } #ice-settings .ice-contacts-switch aside { align-self: flex-end; } #ice-settings li button, #view-settings li button { line-height: 1.9rem; } #view-settings button p { display: block; font-size: 1.3rem; line-height: 1.9rem; color: #858585; padding: 0; } #ice-settings p.description { font-size: 1.6rem; padding: 1.5rem; } #view-settings button p span { font-size: 1.3rem; } #view-settings button p time { font-size: 1.3rem; display: inline-block; margin: 0 0 0 0.5rem; } #import-settings li button { height: 5.5rem; line-height: 1.9rem; } #import-settings button p { display: block; font-size: 1.3rem; line-height: 1.9rem; color: #858585; margin: 0; padding: 0; } #import-settings button p span { font-size: 1.3rem; } #import-settings button p time { font-size: 1.3rem; display: inline-block; margin: 0 0 0 0.5rem; } /* Error message */ #view-settings .view-body-inner .fb-error { color: #D1323F; padding: 0; font-size: 1.4rem; line-height: 1.2em; white-space: normal; } .result { display: block; min-height: 0 !important; text-align: center; height: 5rem; line-height: 5rem; } /* No Contacts */ #no-contacts { background: #FFF url(/contacts/style/images/contact_big_icon.png) no-repeat center center / 15.3rem; height: 100%; position: absolute; width: 100%; z-index: 11; color: #000; text-align: initial; } #no-contacts .info { border-top: 0.1rem solid rgba(96, 96, 96, 0.5); color: #606060; font-size: 2rem; font-weight: 300; margin: 16rem 2rem 0; padding: 1rem; } #no-contacts p { margin-bottom: 1rem; } #no-contacts p.small { font-size: 1.6rem; } #statusMsg { position: fixed; transition: transform .5s ease; transform: translateY(8rem); pointer-events: none; } #statusMsg.visible { transform: translateY(0); z-index: 1001; } #sources { margin-top: 1rem; } #sources > li, #contactsManagement > li { border-bottom: none; height: auto; } #groups-container-box { width: 100%; overflow: hidden; } #groups-container { height: 100%; overflow-y: scroll; overflow-x: hidden; } /* Bug 967274 - Background doesn't scroll with the contacts causing * expensive over-invalidation */ #groups-container-background { background-color: #fff; } .datetime { /* pass the events from to */ pointer-events: none; position: absolute; top: 0; offset-inline-start: 1.5rem; offset-inline-end: 2rem; line-height: 4rem; font-size: 1.6rem; font-weight: normal; color: #333; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .datetime + input[type="date"] { font-size: 0; } .placeholder { color: #858585; } .hidden-input { /* visibility: hidden; will avoid events to reach the */ opacity: 0; } form[role="dialog"][data-type="edit"] gaia-header { transform: translateY(-5rem); } form[role="dialog"][data-type="edit"] > menu { transform: translateY(110%); } form[role="dialog"][data-type="edit"].contacts-select.in-edit-mode gaia-header, form[role="dialog"][data-type="edit"].contacts-select.in-edit-mode > menu { transition: 0s; } form[role="dialog"][data-type="edit"].contacts-select:not(.insearchmode) > menu { transform: translateY(0); } form[role="dialog"][data-type="edit"].contacts-select:not(.insearchmode) gaia-header { transform: translateY(0); } [data-type="list"] .contact-item > aside > span:before { content: attr(data-group); position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; font-size: 2.2rem; font-style: italic; line-height: 5rem; text-align: center; } [data-type="list"] .contact-item > aside > span { position: relative; display: none; } /* Photo by default redefines the background property */ [data-type="list"] .contact-item > aside > span[data-group] { background: url(images/Imagery.png) no-repeat 50% 50% / 7rem auto; } /* Photo by default is displayed when it is visited by image loader component */ [data-type="list"] .contact-item[data-visited="true"] > aside > span { display: block; } #view-contacts-list [data-type="list"] aside span[data-type=img] { image-rendering: auto; } /* BiDi note: the scrollbar is always on the right edge */ html[dir] nav[data-type="scrollbar"] { direction: ltr; offset-inline-end: unset; right: 0; } html[dir] nav[data-type="scrollbar"] p { offset-inline-end: unset; right: 10rem; } nav[data-type="scrollbar"] li .pack-icon-ice { width: 1.2rem; height: 1.2rem; font-size: 0; vertical-align: middle; background: transparent no-repeat center center / 1.2rem; background-image: url("/contacts/style/images/ice_small.png"); } fieldset legend { font-size: 1.6rem; background-color: #f2f2f2; border: 1px solid #c7c7c7; color: #363636; } form[role="combobox"] span[data-field="type"] { color: rgb(24,191,239); } .field-template { display: flex; background-color: #fff; border: 1px solid #e7e7e7; } html[dir="ltr"] .field-template { border-radius: 15px 0 0; } html[dir="rtl"] .field-template { border-radius: 0 15px 0 0; } /* Add separation between templates */ .field-template + .field-template { margin-top: 1rem; } .img-delete-button { padding: 0; margin: 0.2rem 1rem 2rem; margin-inline-start: 0.2rem; width: 2.8rem; color: #fff; background: url('images/icon_remove.png'); background-repeat: no-repeat; background-size: 3rem auto; background-color: transparent; border: 0; -moz-user-select: none; } html[dir="ltr"] .img-delete-button { background-position: left top; } html[dir="rtl"] .img-delete-button { background-position: right top; } .img-delete-button:active { background: url('images/icon_remove.png') no-repeat scroll 0 0 / 3rem auto transparent; } .view-edit-contact form li > section > div { display: block; } .view-edit-contact form li > section > div.empty { display: none; } .action-add { background: transparent; border: 0; font-style: normal; font-size: 1.8rem; color: #5f5f5f; height: 5rem; vertical-align: middle; padding-inline-start: 4rem; margin: 0; } .action-add[disabled] { background: transparent; } .note-template dl { margin-top: 1rem; } .note-template input { height: 9rem; border: 1px solid #c7c7c7; } .action-delete { width: 29rem; height: 4rem; background-color: #e51e1e; font-size: 1.6rem; font-style: italic; font-weight: unset; } #groups-list { margin-top: 1rem; } #group-favorites { padding-top: 2rem; } .tagItem, .textfield.tagItem { margin: 1rem; width: calc(100% - 2rem); } /* We need this rule because these views are going to be in the bottom */ /* This will avoid a repainting and a flash to the user when we fade-out */ /* particulary in the flow: settings -> back() -> contact list */ #view-settings.fade-in, #view-contact-form.fade-in { transform: translateY(0); } /* Animations over the contact form when adding new group fields */ .field-template.inserted { opacity: 0; } .field-template.inserted.displayed { animation: add-field 0.25s ease-in-out 1 forwards; } .field-template.inserted .first-row, .field-template.inserted .second-row, .field-template.inserted .third-row { opacity: 0; animation: add-field 0.20s linear 1 forwards; } @keyframes add-field { from { opacity: 0; } to { opacity: 1; } } .field-template.inserted.displayed .first-row { animation-delay: 0.15s; } .field-template.inserted.displayed .second-row { animation-delay: 0.25s; } .field-template.inserted.displayed .third-row { animation-delay: 0.35s; } /* Avoid the activate state on '+ Add xx' buttons */ li button[data-field-type]:active { background: transparent; color: #5F5F5F; } /* Ellipsis fix for contact lists */ /* we hijack the overflow and text-overflow * of the shared style to make the ellipsis display always at the end * (ie right for LTR string and left for RTL string) * while keeping alignment of the current system-wide language */ [data-type="list"] li.contact-item bdi, li button.icon-email bdi { overflow: hidden; text-overflow: ellipsis; display: inline-block; max-width: 100%; } /* TODO: Remove this workaround once bug 883884 fixed */ .ellipsis-dir-fix { display: block; text-overflow: ellipsis; overflow: hidden; } /* Overwrite input-areas bb */ #custom-tag-reset { offset-inline-end: 1rem; } #multiple-select-view aside { border-bottom: 0.1rem solid #FFFFFF; margin-right: 0; padding-right: 1.5rem; } /* Force align with system because dir="auto" will ignore text-align: start */ html[dir="ltr"] .force-align[dir="auto"] { text-align: left; } html[dir="rtl"] .force-align[dir="auto"] { text-align: right; }