/* 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/. */ /* Generic rules */ /** * "Fixes" the Box Model. * @see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */ *, *:before, *:after { box-sizing: border-box; } body { font-family: "Lucida Grande", sans-serif; font-size: 12px; background: #fbfbfb; } img { border: none; } h1, h2, h3 { color: #666; } /* choose a sane default for paragraphs, since reset.css' 0px is not what we want */ p { margin: 1em 0; } /* Helpers */ /** * Clearfix impl. for modern browsers * 1. The space content is one way to avoid an Opera bug when the * contenteditable attribute is included anywhere else in the document. * Otherwise it causes space to appear at the top and bottom of elements * that are clearfixed. * 2. The use of `table` rather than `block` is only necessary if using * `:before` to contain the top-margins of child elements. */ .cf:before, .cf:after { display: table; /* 1 */ content: " "; /* 2 */ } .cf:after { clear: both; } .hide { /** * Force the display: none as it can conflict with other display. * You usually want to avoid !important statements as much as * possible. In this case, it makes sense as it's unlikely we want a * class to undo the hide feature. */ display: none !important; } .visually-hidden { visibility: hidden; } .tc { text-align: center; } .full-width { width: 100%; } /* A reset for all button-appearing elements, with the lowest-common * denominator of the needed rules. Intended to be used as a base class * together with .btn-* */ .btn { display: inline-block; overflow: hidden; margin: 0; padding: 0; border: none; background: #a5a; color: #fff; text-align: center; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; font-size: .9em; cursor: pointer; } .btn-info { background-color: #0096dd; border: 1px solid #0095dd; } .btn-info:hover { background-color: #008acb; border: 1px solid #008acb; } .btn-info:active { background-color: #006b9d; border: 1px solid #006b9d; } .btn-accept, .btn-success, .btn-accept + .btn-chevron { background-color: #74bf43; border: 1px solid #74bf43; } .btn-accept:hover, .btn-success:hover, .btn-accept + .btn-chevron:hover { background-color: #6cb23e; border: 1px solid #6cb23e; } .btn-accept:active, .btn-success:active, .btn-accept + .btn-chevron:active { background-color: #64a43a; border: 1px solid #64a43a; } .btn-warning { background-color: #f0ad4e; } .btn-cancel, .btn-error, .btn-hangup, .btn-error + .btn-chevron { background-color: #d74345; border: 1px solid #d74345; } .btn-cancel:hover, .btn-error:hover, .btn-hangup:hover, .btn-error + .btn-chevron:hover { background-color: #c53436; border: 1px solid #c53436; } .btn-cancel:active, .btn-error:active, .btn-hangup:active, .btn-error + .btn-chevron:active { background-color: #ae2325; border: 1px solid #ae2325; } .btn-chevron { width: 26px; height: 26px; border-top-right-radius: 2px; border-bottom-right-radius: 2px; } /* Groups together a button and a chevron */ .btn-group-chevron { display: flex; flex-direction: column; flex: 1; } /* Groups together a button-group-chevron * and the dropdown menu */ .btn-chevron-menu-group { display: flex; justify-content: space-between; flex: 8; } .btn-group-chevron .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; flex: 2; } .btn + .btn-chevron, .btn + .btn-chevron:hover, .btn + .btn-chevron:active { border-left: 1px solid rgba(255,255,255,.4); background-image: url("../img/dropdown-inverse.png"); background-repeat: no-repeat; background-position: center; background-size: 10px; } @media (min-resolution: 2dppx) { .btn-chevron { background-image: url(../img/dropdown-inverse@2x.png); } } .disabled, button[disabled] { cursor: not-allowed; pointer-events: none; opacity: 0.65; } .btn-group { display: flex; align-content: space-between; justify-content: center; } .btn-chevron-menu-group .btn { flex: 1; border-radius: 2px; border-bottom-right-radius: 0; border-top-right-radius: 0; } /* Alerts */ .alert { background: #eee; padding: .4em 1em; margin-bottom: 1em; border-bottom: 2px solid #E9E9E9; } .alert p.message { padding: 0; margin: 0; } .alert-error { background: repeating-linear-gradient(-45deg, #D74345, #D74345 10px, #D94B4D 10px, #D94B4D 20px) repeat scroll 0% 0% transparent; color: #fff; } .alert-warning { background: #fcf8e3; border: 1px solid #fbeed5; } .alert .close { position: relative; top: -.1rem; right: -1rem; } /* Misc */ .call-url, .overflow-text-ellipsis, .standalone-call-btn-text, .fx-embedded-answer-btn-text { display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .close { float: right; font-size: 1rem; font-weight: bold; line-height: 1rem; color: #000; opacity: .4; background: none; border: none; cursor: pointer; } .close:hover { opacity: .6; } .close:before { /* \2716 is unicode representation of the close button icon */ content: '\2716'; } /* Transitions */ .fade-out { transition: opacity 0.5s ease-in; opacity: 0; } .icon, .icon-small, .icon-audio, .icon-video { background-size: 20px; background-repeat: no-repeat; vertical-align: top; background-position: 80% center; } .icon-small { background-size: 10px; } .icon-video { background-image: url("../img/video-inverse-14x14.png"); } .icon-audio { background-image: url("../img/audio-default-16x16@1.5x.png"); } @media (min-resolution: 2dppx) { .icon-video { background-image: url("../img/video-inverse-14x14@2x.png"); } .icon-audio { background-image: url("../img/audio-default-16x16@2x.png"); } } /* * Platform specific styles * The UI should match the user OS * Specific font sizes for text paragraphs to match * the interface on that platform. */ .inverse { color: #fff; } .light { color: rgba(51, 51, 51, .5); } .mac p, .windows p, .linux p { line-height: 16px; } /* Using star selector to override * the specificity of other selectors * if performance is an issue we could * explicitely list all the elements */ .windows * { font-family: 'Segoe'; } .mac * { font-family: 'Lucida Grande'; } .linux * { /* XXX requires fallbacks */ font-family: 'Ubuntu', sans-serif; } /* Web panel */ .info-panel { border-radius: 4px; background: #fff; padding: 20px 0; border: 1px solid #e7e7e7; box-shadow: 0 2px 0 rgba(0, 0, 0, .03); margin-bottom: 25px; } .info-panel h1 { font-size: 1.2em; font-weight: 700; padding: 20px 0; text-align: center; } .info-panel h4 { color: #aaa; text-align: center; font-weight: 300; margin: 0; } /* Logos */ .firefox-logo { margin: 0 auto; /* horizontal block centering */ width: 100px; height: 100px; background: transparent url(../img/firefox-logo.png) no-repeat center center; background-size: contain; }