diff --git a/data/web/oauth.telegram.org/js/telegram-widget.js b/data/web/oauth.telegram.org/js/telegram-widget.js new file mode 100644 index 0000000000..48aaf70184 --- /dev/null +++ b/data/web/oauth.telegram.org/js/telegram-widget.js @@ -0,0 +1,573 @@ +(function(window) { + (function(window){ + window.__parseFunction = function(__func, __attrs) { + __attrs = __attrs || []; + __func = '(function(' + __attrs.join(',') + '){' + __func + '})'; + return window.execScript ? window.execScript(__func) : eval(__func); + } + }(window)); + (function(window){ + + function addEvent(el, event, handler) { + var events = event.split(/\s+/); + for (var i = 0; i < events.length; i++) { + if (el.addEventListener) { + el.addEventListener(events[i], handler); + } else { + el.attachEvent('on' + events[i], handler); + } + } + } + function removeEvent(el, event, handler) { + var events = event.split(/\s+/); + for (var i = 0; i < events.length; i++) { + if (el.removeEventListener) { + el.removeEventListener(events[i], handler); + } else { + el.detachEvent('on' + events[i], handler); + } + } + } + function getCssProperty(el, prop) { + if (window.getComputedStyle) { + return window.getComputedStyle(el, '').getPropertyValue(prop) || null; + } else if (el.currentStyle) { + return el.currentStyle[prop] || null; + } + return null; + } + function geById(el_or_id) { + if (typeof el_or_id == 'string' || el_or_id instanceof String) { + return document.getElementById(el_or_id); + } else if (el_or_id instanceof HTMLElement) { + return el_or_id; + } + return null; + } + + var getWidgetsOrigin = function(default_origin, dev_origin) { + var link = document.createElement('A'), origin; + link.href = document.currentScript && document.currentScript.src || default_origin; + origin = link.origin || link.protocol + '//' + link.hostname; + if (origin == 'https://telegram.org') { + origin = default_origin; + } else if (origin == 'https://telegram-js.azureedge.net' || origin == 'https://tg.dev') { + origin = dev_origin; + } + return origin; + }; + + var getPageCanonical = function() { + var a = document.createElement('A'), link, href; + if (document.querySelector) { + link = document.querySelector('link[rel="canonical"]'); + if (link && (href = link.getAttribute('href'))) { + a.href = href; + return a.href; + } + } else { + var links = document.getElementsByTagName('LINK'); + for (var i = 0; i < links.length; i++) { + if ((link = links[i]) && + (link.getAttribute('rel') == 'canonical') && + (href = link.getAttribute('href'))) { + a.href = href; + return a.href; + } + } + } + return false; + }; + + function haveTgAuthResult() { + var locationHash = '', re = /[#\?\&]tgAuthResult=([A-Za-z0-9\-_=]*)$/, match; + try { + locationHash = location.hash.toString(); + if (match = locationHash.match(re)) { + location.hash = locationHash.replace(re, ''); + var data = match[1] || ''; + data = data.replace(/-/g, '+').replace(/_/g, '/'); + var pad = data.length % 4; + if (pad > 1) { + data += new Array(5 - pad).join('='); + } + return JSON.parse(window.atob(data)); + } + } catch (e) {} + return false; + } + + function getXHR() { + if (navigator.appName == "Microsoft Internet Explorer"){ + return new ActiveXObject("Microsoft.XMLHTTP"); + } else { + return new XMLHttpRequest(); + } + } + + if (!window.Telegram) { + window.Telegram = {}; + } + if (!window.Telegram.__WidgetUuid) { + window.Telegram.__WidgetUuid = 0; + } + if (!window.Telegram.__WidgetLastId) { + window.Telegram.__WidgetLastId = 0; + } + if (!window.Telegram.__WidgetCallbacks) { + window.Telegram.__WidgetCallbacks = {}; + } + + function postMessageToIframe(iframe, event, data, callback) { + if (!iframe._ready) { + if (!iframe._readyQueue) iframe._readyQueue = []; + iframe._readyQueue.push([event, data, callback]); + return; + } + try { + data = data || {}; + data.event = event; + if (callback) { + data._cb = ++window.Telegram.__WidgetLastId; + window.Telegram.__WidgetCallbacks[data._cb] = { + iframe: iframe, + callback: callback + }; + } + iframe.contentWindow.postMessage(JSON.stringify(data), '*'); + } catch(e) {} + } + + function initWidget(widgetEl) { + var widgetId, widgetElId, widgetsOrigin, existsEl, + src, styles = {}, allowedAttrs = [], + defWidth, defHeight, scrollable = false, onInitAuthUser, onAuthUser, onUnauth; + if (!widgetEl.tagName || + !(widgetEl.tagName.toUpperCase() == 'SCRIPT' || + widgetEl.tagName.toUpperCase() == 'BLOCKQUOTE' && + widgetEl.classList.contains('telegram-post'))) { + return null; + } + if (widgetEl._iframe) { + return widgetEl._iframe; + } + if (widgetId = widgetEl.getAttribute('data-telegram-post')) { + var comment = widgetEl.getAttribute('data-comment') || ''; + widgetsOrigin = getWidgetsOrigin('https://t.me', 'https://post.tg.dev'); + widgetElId = 'telegram-post-' + widgetId.replace(/[^a-z0-9_]/ig, '-') + (comment ? '-comment' + comment : ''); + src = widgetsOrigin + '/' + widgetId + '?embed=1'; + allowedAttrs = ['comment', 'userpic', 'mode', 'single?', 'color', 'dark', 'dark_color']; + defWidth = widgetEl.getAttribute('data-width') || '100%'; + defHeight = ''; + styles.minWidth = '320px'; + } + else if (widgetId = widgetEl.getAttribute('data-telegram-discussion')) { + widgetsOrigin = getWidgetsOrigin('https://t.me', 'https://post.tg.dev'); + widgetElId = 'telegram-discussion-' + widgetId.replace(/[^a-z0-9_]/ig, '-') + '-' + (++window.Telegram.__WidgetUuid); + var websitePageUrl = widgetEl.getAttribute('data-page-url'); + if (!websitePageUrl) { + websitePageUrl = getPageCanonical(); + } + src = widgetsOrigin + '/' + widgetId + '?embed=1&discussion=1' + (websitePageUrl ? '&page_url=' + encodeURIComponent(websitePageUrl) : ''); + allowedAttrs = ['comments_limit', 'color', 'colorful', 'dark', 'dark_color', 'width', 'height']; + defWidth = widgetEl.getAttribute('data-width') || '100%'; + defHeight = widgetEl.getAttribute('data-height') || 0; + styles.minWidth = '320px'; + if (defHeight > 0) { + scrollable = true; + } + } + else if (widgetEl.hasAttribute('data-telegram-login')) { + widgetId = widgetEl.getAttribute('data-telegram-login'); + widgetsOrigin = getWidgetsOrigin('https://oauth.telegram.org', 'https://oauth.tg.dev'); + widgetElId = 'telegram-login-' + widgetId.replace(/[^a-z0-9_]/ig, '-'); + src = widgetsOrigin + '/embed/' + widgetId + '?origin=' + encodeURIComponent(location.origin || location.protocol + '//' + location.hostname) + '&return_to=' + encodeURIComponent(location.href); + allowedAttrs = ['size', 'userpic', 'init_auth', 'request_access', 'radius', 'min_width', 'max_width', 'lang']; + defWidth = 186; + defHeight = 28; + if (widgetEl.hasAttribute('data-size')) { + var size = widgetEl.getAttribute('data-size'); + if (size == 'small') defWidth = 148, defHeight = 20; + else if (size == 'large') defWidth = 238, defHeight = 40; + } + if (widgetEl.hasAttribute('data-onauth')) { + onInitAuthUser = onAuthUser = __parseFunction(widgetEl.getAttribute('data-onauth'), ['user']); + } + else if (widgetEl.hasAttribute('data-auth-url')) { + var a = document.createElement('A'); + a.href = widgetEl.getAttribute('data-auth-url'); + onAuthUser = function(user) { + var authUrl = a.href; + authUrl += (authUrl.indexOf('?') >= 0) ? '&' : '?'; + var params = []; + for (var key in user) { + params.push(key + '=' + encodeURIComponent(user[key])); + } + authUrl += params.join('&'); + location.href = authUrl; + }; + } + if (widgetEl.hasAttribute('data-onunauth')) { + onUnauth = __parseFunction(widgetEl.getAttribute('data-onunauth')); + } + var auth_result = haveTgAuthResult(); + if (auth_result && onAuthUser) { + onAuthUser(auth_result); + } + } + else if (widgetId = widgetEl.getAttribute('data-telegram-share-url')) { + widgetsOrigin = getWidgetsOrigin('https://t.me', 'https://post.tg.dev'); + widgetElId = 'telegram-share-' + window.btoa(widgetId); + src = widgetsOrigin + '/share/embed?origin=' + encodeURIComponent(location.origin || location.protocol + '//' + location.hostname); + allowedAttrs = ['telegram-share-url', 'comment', 'size', 'text']; + defWidth = 60; + defHeight = 20; + if (widgetEl.getAttribute('data-size') == 'large') { + defWidth = 76; + defHeight = 28; + } + } + else { + return null; + } + existsEl = document.getElementById(widgetElId); + if (existsEl) { + return existsEl; + } + for (var i = 0; i < allowedAttrs.length; i++) { + var attr = allowedAttrs[i]; + var novalue = attr.substr(-1) == '?'; + if (novalue) { + attr = attr.slice(0, -1); + } + var data_attr = 'data-' + attr.replace(/_/g, '-'); + if (widgetEl.hasAttribute(data_attr)) { + var attr_value = novalue ? '1' : encodeURIComponent(widgetEl.getAttribute(data_attr)); + src += '&' + attr + '=' + attr_value; + } + } + function getCurCoords(iframe) { + var docEl = document.documentElement; + var frect = iframe.getBoundingClientRect(); + return { + frameTop: frect.top, + frameBottom: frect.bottom, + frameLeft: frect.left, + frameRight: frect.right, + frameWidth: frect.width, + frameHeight: frect.height, + scrollTop: window.pageYOffset, + scrollLeft: window.pageXOffset, + clientWidth: docEl.clientWidth, + clientHeight: docEl.clientHeight + }; + } + function visibilityHandler() { + if (isVisible(iframe, 50)) { + postMessageToIframe(iframe, 'visible', {frame: widgetElId}); + } + } + function focusHandler() { + postMessageToIframe(iframe, 'focus', {has_focus: document.hasFocus()}); + } + function postMessageHandler(event) { + if (event.source !== iframe.contentWindow || + event.origin != widgetsOrigin) { + return; + } + try { + var data = JSON.parse(event.data); + } catch(e) { + var data = {}; + } + if (data.event == 'resize') { + if (data.height) { + iframe.style.height = data.height + 'px'; + } + if (data.width) { + iframe.style.width = data.width + 'px'; + } + } + else if (data.event == 'ready') { + iframe._ready = true; + focusHandler(); + for (var i = 0; i < iframe._readyQueue.length; i++) { + var queue_item = iframe._readyQueue[i]; + postMessageToIframe(iframe, queue_item[0], queue_item[1], queue_item[2]); + } + iframe._readyQueue = []; + } + else if (data.event == 'visible_off') { + removeEvent(window, 'scroll', visibilityHandler); + removeEvent(window, 'resize', visibilityHandler); + } + else if (data.event == 'get_coords') { + postMessageToIframe(iframe, 'callback', { + _cb: data._cb, + value: getCurCoords(iframe) + }); + } + else if (data.event == 'scroll_to') { + try { + window.scrollTo(data.x || 0, data.y || 0); + } catch(e) {} + } + else if (data.event == 'auth_user') { + if (data.init) { + onInitAuthUser && onInitAuthUser(data.auth_data); + } else { + onAuthUser && onAuthUser(data.auth_data); + } + } + else if (data.event == 'unauthorized') { + onUnauth && onUnauth(); + } + else if (data.event == 'callback') { + var cb_data = null; + if (cb_data = window.Telegram.__WidgetCallbacks[data._cb]) { + if (cb_data.iframe === iframe) { + cb_data.callback(data.value); + delete window.Telegram.__WidgetCallbacks[data._cb]; + } + } else { + console.warn('Callback #' + data._cb + ' not found'); + } + } + } + var iframe = document.createElement('iframe'); + iframe.id = widgetElId; + iframe.src = src; + iframe.width = defWidth; + iframe.height = defHeight; + iframe.setAttribute('frameborder', '0'); + if (!scrollable) { + iframe.setAttribute('scrolling', 'no'); + iframe.style.overflow = 'hidden'; + } + iframe.style.colorScheme = 'light dark'; + iframe.style.border = 'none'; + for (var prop in styles) { + iframe.style[prop] = styles[prop]; + } + if (widgetEl.parentNode) { + widgetEl.parentNode.insertBefore(iframe, widgetEl); + if (widgetEl.tagName.toUpperCase() == 'BLOCKQUOTE') { + widgetEl.parentNode.removeChild(widgetEl); + } + } + iframe._ready = false; + iframe._readyQueue = []; + widgetEl._iframe = iframe; + addEvent(iframe, 'load', function() { + removeEvent(iframe, 'load', visibilityHandler); + addEvent(window, 'scroll', visibilityHandler); + addEvent(window, 'resize', visibilityHandler); + visibilityHandler(); + }); + addEvent(window, 'focus blur', focusHandler); + addEvent(window, 'message', postMessageHandler); + return iframe; + } + function isVisible(el, padding) { + var node = el, val; + var visibility = getCssProperty(node, 'visibility'); + if (visibility == 'hidden') return false; + while (node) { + if (node === document.documentElement) break; + var display = getCssProperty(node, 'display'); + if (display == 'none') return false; + var opacity = getCssProperty(node, 'opacity'); + if (opacity !== null && opacity < 0.1) return false; + node = node.parentNode; + } + if (el.getBoundingClientRect) { + padding = +padding || 0; + var rect = el.getBoundingClientRect(); + var html = document.documentElement; + if (rect.bottom < padding || + rect.right < padding || + rect.top > (window.innerHeight || html.clientHeight) - padding || + rect.left > (window.innerWidth || html.clientWidth) - padding) { + return false; + } + } + return true; + } + + function getAllWidgets() { + var widgets = []; + if (document.querySelectorAll) { + widgets = document.querySelectorAll('script[data-telegram-post],blockquote.telegram-post,script[data-telegram-discussion],script[data-telegram-login],script[data-telegram-share-url]'); + } else { + widgets = Array.prototype.slice.apply(document.getElementsByTagName('SCRIPT')); + widgets = widgets.concat(Array.prototype.slice.apply(document.getElementsByTagName('BLOCKQUOTE'))); + } + return widgets; + } + + function getWidgetInfo(el_or_id, callback) { + var e = null, iframe = null; + if (el = geById(el_or_id)) { + if (el.tagName && + el.tagName.toUpperCase() == 'IFRAME') { + iframe = el; + } else if (el._iframe) { + iframe = el._iframe; + } + if (iframe && callback) { + postMessageToIframe(iframe, 'get_info', {}, callback); + } + } + } + + function setWidgetOptions(options, el_or_id) { + var e = null, iframe = null; + if (typeof el_or_id === 'undefined') { + var widgets = getAllWidgets(); + for (var i = 0; i < widgets.length; i++) { + if (iframe = widgets[i]._iframe) { + postMessageToIframe(iframe, 'set_options', {options: options}); + } + } + } else { + if (el = geById(el_or_id)) { + if (el.tagName && + el.tagName.toUpperCase() == 'IFRAME') { + iframe = el; + } else if (el._iframe) { + iframe = el._iframe; + } + if (iframe) { + postMessageToIframe(iframe, 'set_options', {options: options}); + } + } + } + } + + if (!document.currentScript || + !initWidget(document.currentScript)) { + var widgets = getAllWidgets(); + for (var i = 0; i < widgets.length; i++) { + initWidget(widgets[i]); + } + } + + var TelegramLogin = { + popups: {}, + options: null, + auth_callback: null, + _init: function(options, auth_callback) { + TelegramLogin.options = options; + TelegramLogin.auth_callback = auth_callback; + var auth_result = haveTgAuthResult(); + if (auth_result && auth_callback) { + auth_callback(auth_result); + } + }, + _open: function(callback) { + TelegramLogin._auth(TelegramLogin.options, function(authData) { + if (TelegramLogin.auth_callback) { + TelegramLogin.auth_callback(authData); + } + if (callback) { + callback(authData); + } + }); + }, + _auth: function(options, callback) { + var bot_id = parseInt(options.bot_id); + if (!bot_id) { + throw new Error('Bot id required'); + } + var width = 550; + var height = 470; + var left = Math.max(0, (screen.width - width) / 2) + (screen.availLeft | 0), + top = Math.max(0, (screen.height - height) / 2) + (screen.availTop | 0); + var onMessage = function (event) { + try { + var data = JSON.parse(event.data); + } catch(e) { + var data = {}; + } + if (!TelegramLogin.popups[bot_id]) return; + if (event.source !== TelegramLogin.popups[bot_id].window) return; + if (data.event == 'auth_result') { + onAuthDone(data.result); + } + }; + var onAuthDone = function (authData) { + if (!TelegramLogin.popups[bot_id]) return; + if (TelegramLogin.popups[bot_id].authFinished) return; + callback && callback(authData); + TelegramLogin.popups[bot_id].authFinished = true; + removeEvent(window, 'message', onMessage); + }; + var checkClose = function(bot_id) { + if (!TelegramLogin.popups[bot_id]) return; + if (!TelegramLogin.popups[bot_id].window || + TelegramLogin.popups[bot_id].window.closed) { + return TelegramLogin.getAuthData(options, function(origin, authData) { + onAuthDone(authData); + }); + } + setTimeout(checkClose, 100, bot_id); + } + var popup_url = Telegram.Login.widgetsOrigin + '/auth?bot_id=' + encodeURIComponent(options.bot_id) + '&origin=' + encodeURIComponent(location.origin || location.protocol + '//' + location.hostname) + (options.request_access ? '&request_access=' + encodeURIComponent(options.request_access) : '') + (options.lang ? '&lang=' + encodeURIComponent(options.lang) : '') + '&return_to=' + encodeURIComponent(location.href); + var popup = window.open(popup_url, 'telegram_oauth_bot' + bot_id, 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',status=0,location=0,menubar=0,toolbar=0'); + TelegramLogin.popups[bot_id] = { + window: popup, + authFinished: false + }; + if (popup) { + addEvent(window, 'message', onMessage); + popup.focus(); + checkClose(bot_id); + } + }, + getAuthData: function(options, callback) { + var bot_id = parseInt(options.bot_id); + if (!bot_id) { + throw new Error('Bot id required'); + } + var xhr = getXHR(); + var url = Telegram.Login.widgetsOrigin + '/auth/get'; + xhr.open('POST', url); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + if (typeof xhr.responseBody == 'undefined' && xhr.responseText) { + try { + var result = JSON.parse(xhr.responseText); + } catch(e) { + var result = {}; + } + if (result.user) { + callback(result.origin, result.user); + } else { + callback(result.origin, false); + } + } else { + callback('*', false); + } + } + }; + xhr.onerror = function() { + callback('*', false); + }; + xhr.withCredentials = true; + xhr.send('bot_id=' + encodeURIComponent(options.bot_id) + (options.lang ? '&lang=' + encodeURIComponent(options.lang) : '')); + } + }; + + window.Telegram.getWidgetInfo = getWidgetInfo; + window.Telegram.setWidgetOptions = setWidgetOptions; + window.Telegram.Login = { + init: TelegramLogin._init, + open: TelegramLogin._open, + auth: TelegramLogin._auth, + widgetsOrigin: getWidgetsOrigin('https://oauth.telegram.org', 'https://oauth.tg.dev') + }; + + }(window)); +})(window); \ No newline at end of file diff --git a/data/web/telegram.org/css/dsareport.css b/data/web/telegram.org/css/dsareport.css new file mode 100644 index 0000000000..cb8c9f65b4 --- /dev/null +++ b/data/web/telegram.org/css/dsareport.css @@ -0,0 +1,4216 @@ + +svg.icon { + width: 16px; + height: 16px; +} +svg.icon use { + transition: fill .1s ease; + fill: #a3a6a9; +} + +.cd-btn { + display: inline-block; + vertical-align: top; + font-size: 14px; + line-height: 16px; + font-weight: 600; + text-transform: uppercase; + text-align: center; + border: none; + border-radius: 16px; + padding: 8px 17px; + max-width: 100%; + letter-spacing: -0.35px; + background-color: #2392e7; + background-repeat: no-repeat; + background-position: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; + cursor: pointer; + transition: color 0.15s ease; +} +.cd-btn:hover, +.cd-btn:focus { + color: #fff; + text-decoration: none; + background-color: #1a88dd; +} +.cd-btn:focus, +.cd-btn:active, +.cd-btn:active:focus { + outline: none; + box-shadow: none; +} +.cd-btn.disabled, +.cd-btn.disabled:hover, +.cd-btn.disabled:focus { + pointer-events: none; + color: rgba(255, 255, 255, 0.6); + background-color: #2392e7; +} +.cd-btn.disabled:before, +.cd-btn.disabled:hover:before, +.cd-btn.disabled:focus:before { + opacity: 0.6; +} + +.click { + cursor: pointer; +} +.click:hover { + text-decoration: underline; +} + +.bt-copy { + cursor: pointer; +} + +.btn:focus, +.btn:active:focus, +button:focus, +button:active:focus, +input.form-control:focus, +textarea.form-control:focus, +input.form-control, +textarea.form-control { + outline: none; + box-shadow: none; +} +input.form-control[disabled], +textarea.form-control[disabled] { + cursor: auto; + background-color: #fff; +} + +i.emoji { + font-style: normal; + box-sizing: content-box; +} +i.emoji > b { + font-weight: normal; +} +.emoji_default i.emoji { + background: none !important; +} +.emoji_image i.emoji { + width: 1.25em; + vertical-align: top; + display: inline-block; + white-space: nowrap; + overflow: hidden; + background: no-repeat 2px 50%; + background-position-y: calc(50% - 1px); + background-size: 1.25em 1.25em; + text-indent: -10em; + padding: 3px 3px 3px 2px; + margin: -3px -2px; +} +.emoji_image .rtl i.emoji { + padding-left: 3px; + padding-right: 2px; +} +.emoji_image i.emoji > b { + letter-spacing: 12em; + pointer-events: none; +} + +img.emoji { + width: 1.25em; + height: 1.25em; + padding: 0 1px; + vertical-align: top; + vertical-align: text-top; + box-sizing: content-box; + cursor: inherit; +} +a:hover img.emoji { + border-bottom: 1px solid; + padding: 0 2px; + margin: 0 -1px; +} + +.form-control { + font-size: 14px; + padding: 12px 0; + color: #222; +} + +.bg-image { + background: #f7f7f7 no-repeat center; + background-size: cover; +} +.strong { + font-weight: 500; +} + +.bt-team-container .container { + max-width: 820px; +} +.bt-container { + overflow: hidden; + min-height: 100vh; +} + +.cd-aside { + margin: -5px 15px 0; +} +.cd-content { + margin: 0 0 75px; +} + +.bt-search, +.cd-content { + padding: 0 10px; +} +.bt-search .form-group { + margin: 0; +} + +.bt-search-tabs { + font-size: 14px; + line-height: 16px; + font-weight: 500; + padding: 20px 0; +} +.bt-search-tab + .bt-search-tab { + margin-left: 12px; +} +span.bt-search-tab { + font-weight: 600; +} +.bt-search-tabs-right { + float: right; + margin-left: 12px; +} +.bt-search-tab.bt-dropdown svg.dd use { + fill: #0088cc; +} +.bt-search-tab-wrap + .bt-search-tab-wrap { + margin-left: 12px; +} +.bt-search-tab-wrap.bt-dropdown-wrap span.dropdown-menu { + left: -1px; + right: auto; + max-height: none; +} + +.bt-create-btn { + float: right; +} +.bt-create-btn:before { + display: inline-block; + content: ''; + width: 18px; + height: 18px; + margin: -1px 0; + vertical-align: top; + background: url('data:image/svg+xml,%3Csvg%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20width%3D%2218%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20fill%3D%22%232392e7%22%20r%3D%229%22%2F%3E%3Cg%20fill%3D%22%23fff%22%3E%3Crect%20height%3D%2210%22%20rx%3D%221%22%20width%3D%222%22%20x%3D%228%22%20y%3D%224%22%2F%3E%3Crect%20height%3D%222%22%20rx%3D%221%22%20width%3D%2210%22%20x%3D%224%22%20y%3D%228%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat; +} +.bt-create-btn-label { + display: none; + margin-left: 7px; +} + +.bt-main-search-form { + margin: 13px 0 0; +} +.bt-select-query .select { + padding: 5px 0; +} +.bt-main-search-form .select { + padding: 5px 5px 5px 48px; + box-shadow: inset 0 0 0 1px #dbdbdb; + border-radius: 6px; + transition: box-shadow .2s ease; + position: relative; + font-size: 14px; +} +.bt-main-search-form .field-has-value .select { + padding-right: 86px; +} +.bt-main-search-form .select:before { + content: ''; + position: absolute; + left: 16px; + top: 14px; + display: inline-block; + width: 17px; + height: 17px; + background-image: url('data:image/svg+xml,%3Csvg height="17" viewBox="0 0 17 17" width="17" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd" transform="translate(0 3)"%3E%3Ccircle cx="9.818019" cy="4" r="5" stroke="%23a8a8a8" stroke-width="2"/%3E%3Crect fill="%23a8a8a8" height="8" rx="1" transform="matrix(.70710678 .70710678 -.70710678 .70710678 8.242641 .100505)" width="2" x="3" y="6"/%3E%3C/g%3E%3C/svg%3E'); +} +.bt-main-search-form .field-focused .select { + box-shadow: inset 0 0 0 2px #2C9BE5; +} +.bt-select-query .select .input, +.bt-select-query .select input.form-control { + font-size: 14px; + line-height: 18px; + padding: 9px 0 8px; +} +.bt-select-query .select .selected-item + .input, +.bt-select-query .select .selected-item + input.form-control { + margin-left: 2px; +} +.bt-select-query .select .items-list { + top: 100%; + border-radius: 6px; + padding: 5px; + margin-top: 7px; + box-shadow: 0 1px 2px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .05); + max-height: calc(100vh - 150px); +} +.bt-search-header.sticky.fixed .bt-select-query .select .items-list { + max-height: calc(100vh - 75px); +} +.bt-select-query .select .items-list .search-item { + display: inline-block; + padding: 5px; +} +.bt-select-query .select .search-item .select-list-item { + border-radius: 4px; + font-size: 14px; + line-height: 19px; + padding: 6px 10px 4px; + background-color: #efefef; + color: #525252; +} +.bt-select-query .select .search-item.selected .select-list-item { + background-color: #e8e8e8; +} +.bt-select-query .select .search-item .select-list-item.c-aqua { + background-color: #dcf3f4; + color: #0987a1; +} +.bt-select-query .select .search-item.selected .select-list-item.c-aqua { + background-color: #cbeff1; +} +.bt-select-query .select .search-item .select-list-item.internal, +.bt-select-query .select .search-item .select-list-item.c-cyan { + background-color: #e2f4ff; + color: #0078be; +} +.bt-select-query .select .search-item.selected .select-list-item.internal, +.bt-select-query .select .search-item.selected .select-list-item.c-cyan { + background-color: #cfe9fa; +} +.bt-select-query .select .search-item .select-list-item.c-blue { + background-color: #e2ecff; + color: #0a4bce; +} +.bt-select-query .select .search-item.selected .select-list-item.c-blue { + background-color: #cdddfb; +} +.bt-select-query .select .search-item .select-list-item.c-violet { + background-color: #ede6fc; + color: #813dc6; +} +.bt-select-query .select .search-item.selected .select-list-item.c-violet { + background-color: #e2d6fb; +} +.bt-issue-tags .bt-status.c-pink.selected, +.bt-select-query .select .search-item .select-list-item.c-pink { + background-color: #ffe2ea; + color: #c8375f; +} +.bt-issue-tags .bt-status.c-pink.selected, +.bt-select-query .select .search-item.selected .select-list-item.c-pink { + background-color: #fcd1dd; +} +.bt-select-query .select .search-item .select-list-item.c-orange { + background-color: #ffebdb; + color: #ae4b00; +} +.bt-select-query .select .search-item.selected .select-list-item.c-orange { + background-color: #f7dcc7; +} +.bt-select-query .select .search-item .select-list-item.c-lightgreen { + background-color: #e2f0c0; + color: #5c8200; +} +.bt-select-query .select .search-item.selected .select-list-item.c-lightgreen { + background-color: #d8ebab; +} +.bt-select-query .select .search-item .select-list-item.private, +.bt-select-query .select .search-item .select-list-item.c-green { + background-color: #d7f4cc; + color: #1a7e0e; +} +.bt-select-query .select .search-item.selected .select-list-item.private, +.bt-select-query .select .search-item.selected .select-list-item.c-green { + background-color: #ceedc2; +} +.bt-select-query .select .search-item .select-list-item.team { + background-color: #ffecc9; + color: #a86e00; +} +.bt-select-query .select .search-item.selected .select-list-item.team { + background-color: #fbe3b5; +} +.bt-select-query .select .selected-item { + font-size: 14px; + line-height: 19px; + padding: 6px 10px 4px; + margin: 3px 8px 3px 0; + background-color: #2395e1; + white-space: nowrap; + max-width: 50%; + color: #fff; +} +.bt-comment-service-text.c-aqua, +.bt-issue-tags .bt-status.c-aqua, +.bt-subscription-tags .bt-status.c-aqua, +.bt-card-action .bt-status.c-aqua, +.bt-select-query .select .selected-item.c-aqua { + background-color: #3ebcdb; + color: #fff; +} +.bt-comment-service-text.c-cyan, +.bt-issue-tags .bt-status.c-cyan, +.bt-subscription-tags .bt-status.c-cyan, +.bt-card-action .bt-status.c-cyan, +.bt-select-query .select .selected-item.c-cyan, +.bt-select-query .select .selected-item.internal { + background-color: #2395e1; + color: #fff; +} +.bt-comment-service-text.c-blue, +.bt-issue-tags .bt-status.c-blue, +.bt-subscription-tags .bt-status.c-blue, +.bt-card-action .bt-status.c-blue, +.bt-select-query .select .selected-item.c-blue { + background-color: #4b7fee; + color: #fff; +} +.bt-comment-service-text.c-violet, +.bt-issue-tags .bt-status.c-violet, +.bt-subscription-tags .bt-status.c-violet, +.bt-card-action .bt-status.c-violet, +.bt-select-query .select .selected-item.c-violet { + background-color: #887feb; + color: #fff; +} +.bt-comment-service-text.c-pink, +.bt-issue-tags .bt-status.c-pink, +.bt-subscription-tags .bt-status.c-pink, +.bt-card-action .bt-status.c-pink, +.bt-select-query .select .selected-item.c-pink { + background-color: #ef658f; + color: #fff; +} +.bt-comment-service-text.c-orange, +.bt-issue-tags .bt-status.c-orange, +.bt-subscription-tags .bt-status.c-orange, +.bt-card-action .bt-status.c-orange, +.bt-select-query .select .selected-item.c-orange { + background-color: #f28c48; + color: #fff; +} +.bt-comment-service-text.c-lightgreen, +.bt-issue-tags .bt-status.c-lightgreen, +.bt-subscription-tags .bt-status.c-lightgreen, +.bt-card-action .bt-status.c-lightgreen, +.bt-select-query .select .selected-item.c-lightgreen { + background-color: #85c042; + color: #fff; +} +.bt-comment-service-text.c-green, +.bt-issue-tags .bt-status.c-green, +.bt-subscription-tags .bt-status.c-green, +.bt-card-action .bt-status.c-green, +.bt-select-query .select .selected-item.c-green, +.bt-select-query .select .selected-item.private { + background-color: #5bad57; + color: #fff; +} +.bt-select-query .select .selected-item.team { + background-color: #e6a243; + color: #fff; +} +.bt-select-query .select .selected-item .close:before, +.bt-select-query .select .selected-item .close:after { + width: 14px; + background-color: #fff; +} +.bt-main-search-form .select-enter { + position: absolute; + width: 45px; + top: 0; + right: 0; + bottom: 0; + border-radius: 0 6px 6px 0; + background-color: #2C9BE5; + cursor: pointer; +} +.bt-main-search-form .select-clear { + position: absolute; + width: 41px; + height: 41px; + top: 2px; + right: 45px; + cursor: pointer; +} +.bt-main-search-form .select-clear .icon, +.bt-main-search-form .select-enter .icon { + width: 24px; + height: 24px; + margin: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.bt-main-search-form .select-enter .icon { + margin-top: 11px; +} +.bt-main-search-form .select-clear .icon use { + fill: #a8a8a8; +} +.bt-main-search-form .select-enter .icon use { + fill: #fff; +} + +.cd-aside-value { + font-style: italic; + margin: 14px 0 0; + color: #70767b; +} +.cd-aside-buttons { + margin: 30px 0 0; +} + +.bt-header { + font-size: 13px; + line-height: 17px; + font-weight: bold; + padding: 2px 0; + margin: 25px 0 7px; + text-transform: uppercase; +} +h4.bt-header { + text-transform: none; +} +.cd-icon { + display: inline-block; + vertical-align: text-top; + width: 28px; + height: 28px; + margin: -5px 0 0 0; + background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%3E%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2214%22%20fill%3D%22%23238FE1%22%2F%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M7.4%2018.2C8.1%2016.4%209%2014.6%209.9%2012.8C10.8%2011%2011.8%209.3%2013%207.6L13%207.6C13.3%207%2014.1%206.9%2014.7%207.2C14.8%207.3%2014.9%207.4%2015%207.6C16.1%209.3%2017.1%2011%2018.1%2012.8C19%2014.6%2019.8%2016.4%2020.6%2018.2C20.8%2018.8%2020.5%2019.6%2019.9%2019.8C19.7%2019.9%2019.5%2019.9%2019.3%2019.9L16.6%2019.6C15.8%2019.5%2015.1%2018.9%2015%2018.1L14.6%2015.2C14.6%2014.8%2014.2%2014.6%2013.9%2014.7C13.6%2014.7%2013.4%2014.9%2013.4%2015.2L13%2018.1C12.9%2018.9%2012.2%2019.5%2011.4%2019.6L8.6%2019.9C8%2020%207.4%2019.5%207.3%2018.8C7.3%2018.6%207.3%2018.4%207.4%2018.2Z%22%2F%3E%3Cpath%20d%3D%22M18.4%206.8C18.9%206.9%2019.2%207.4%2019.1%207.8L18.6%2010.2C18.5%2010.6%2018.2%2010.8%2017.9%2010.9C17.8%2011%2017.7%2011.1%2017.5%2011.1L14.6%2011.9C14.1%2012.1%2013.6%2011.8%2013.5%2011.3C13.3%2010.8%2013.6%2010.3%2014.1%2010.2L16.9%209.4L17.3%207.4C17.5%206.9%2017.9%206.6%2018.4%206.8Z%22%20transform%3D%22rotate%2820%2016.3%209.4%29%22%2F%3E%3Cpath%20d%3D%22M21.4%2011.6L21.5%2011.6C21.9%2011.7%2022.2%2012.2%2022.1%2012.6C22.1%2012.7%2022.1%2012.7%2022.1%2012.7L21.7%2014C21.6%2014.3%2021.3%2014.6%2020.9%2014.6L20.9%2014.6C20.8%2014.7%2020.7%2014.7%2020.6%2014.8L17.7%2015.6C17.2%2015.8%2016.7%2015.5%2016.5%2015C16.4%2014.5%2016.7%2014%2017.2%2013.9L20.1%2013L20.3%2012.2C20.5%2011.8%2020.9%2011.5%2021.4%2011.6Z%22%20transform%3D%22scale%281%20-1%29%20rotate%289%20192.4%200%29%22%2F%3E%3Cpath%20d%3D%22M10.8%2011.6L10.8%2011.6C11.3%2011.7%2011.6%2012.2%2011.5%2012.6C11.4%2012.7%2011.4%2012.7%2011.4%2012.7L11%2014C10.9%2014.3%2010.6%2014.6%2010.3%2014.6L10.2%2014.6C10.1%2014.7%2010%2014.7%209.9%2014.8L7%2015.6C6.5%2015.8%206%2015.5%205.9%2015C5.7%2014.5%206%2014%206.5%2013.9L9.4%2013L9.7%2012.2C9.8%2011.8%2010.3%2011.5%2010.8%2011.6Z%22%20transform%3D%22rotate%28-171%208.7%2013.6%29%22%2F%3E%3Cpath%20d%3D%22M13.8%206.8C14.3%206.9%2014.6%207.4%2014.5%207.8L14%2010.2C13.9%2010.6%2013.6%2010.8%2013.3%2010.9C13.2%2011%2013.1%2011.1%2012.9%2011.1L10%2011.9C9.5%2012.1%209%2011.8%208.9%2011.3C8.8%2010.8%209%2010.3%209.5%2010.2L12.3%209.4L12.7%207.4C12.9%206.9%2013.4%206.6%2013.8%206.8Z%22%20transform%3D%22scale%28-1%201%29%20rotate%2820%200%20-57%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center; + background-size: contain; +} +.cd-logo-title { + margin-left: 10px; +} +.bt-comments-header { + font-size: 14px; + line-height: 21px; + font-weight: bold; + margin: -5px 0 7px; + -webkit-user-select: none; + user-select: none; +} +.bt-toggle-comment-form-wrap { + font-size: 14px; + line-height: 20px; + padding: 12px 0; +} +.bt-toggle-comment-form { + font-weight: 500; +} +.bt-comments-footer .bt-comments-footer-buttons, +.bt-comments-footer.collapsed .bt-comments-footer-form { + display: none; +} +.bt-comments-footer.collapsed .bt-comments-footer-buttons { + display: block; +} +.bt-comments-footer-buttons { + margin-bottom: -10px; + margin-right: -7px; +} +.bt-comments-footer-buttons .btn { + margin: 0 7px 10px 0; +} +.bt-header-tab { + display: inline-block; + vertical-align: top; + margin: 5px 20px 0 0; +} +.bt-header-cnt { + margin-left: 7px; + color: #a3a6a9; +} +.bt-header-cnt:empty { + margin-left: 0; +} + +.cd-list-empty-wrap { + transition: opacity .2s ease, visibility .2s ease; +} +.cd-list-empty-wrap.ohide { + height: 0; +} +.cd-list-empty { + font-size: 14px; + line-height: 22px; + color: #70767b; + padding: 32px 0; + text-align: center; +} +.bt-issue-row-empty { + font-size: 15px; + line-height: 22px; + color: #70767b; + padding: 48px 0 32px; + text-align: center; +} + +.bt-layer-content-empty { + font-size: 16px; + line-height: 24px; + color: #70767b; + padding: 50px 0; + text-align: center; +} + +.bt-card-row { + display: block; + font-size: 14px; + line-height: 20px; + margin: 0 -10px; + padding: 10px; +} +a.bt-card-row:hover { + background: #f5f5f5; + text-decoration: none; + -webkit-user-select: none; + user-select: none; +} +.bt-card-row-body { + margin-left: 78px; +} +.bt-card-action mark.highlight, +.bt-card-row-body mark.highlight { + background: #ffeeb8; + color: inherit; + border-radius: 2px; + padding: 1px 2px; + margin: 0px -2px; +} +.bt-card-type.internal:before, +.bt-card-title.internal:before, +.bt-issue-title.internal:before, +.select-list-item.internal:before, +.selected-item.internal .label:before, +.bt-card-type.private:before, +.bt-card-title.private:before, +.bt-issue-title.private:before, +.select-list-item.private:before, +.selected-item.private .label:before { + content: ''; + display: inline-block; + width: 11px; + height: 13px; + margin-right: 4px; + vertical-align: -1px; + background: url("data:image/svg+xml,%3Csvg%20height%3D%2213%22%20viewBox%3D%220%200%2011%2013%22%20width%3D%2211%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20fill%3D%22%2333b04a%22%20height%3D%227%22%20rx%3D%221.5%22%20width%3D%2211%22%20y%3D%226%22%2F%3E%3Crect%20height%3D%229%22%20rx%3D%222.5%22%20stroke%3D%22%2333b04a%22%20stroke-width%3D%222%22%20width%3D%225%22%20x%3D%223%22%20y%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 0 center; + background-size: contain; +} +.bt-card-type.internal:before, +.bt-card-title.internal:before, +.bt-issue-title.internal:before, +.select-list-item.internal:before { + background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2213%22%20viewBox%3D%220%200%2011%2013%22%20width%3D%2211%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20fill%3D%22%23238fe1%22%20height%3D%227%22%20rx%3D%221.5%22%20width%3D%2211%22%20y%3D%226%22%2F%3E%3Crect%20height%3D%229%22%20rx%3D%222.5%22%20stroke%3D%22%23238fe1%22%20stroke-width%3D%222%22%20width%3D%225%22%20x%3D%223%22%20y%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +.bt-issue-title.internal:before, +.bt-issue-title.private:before { + width: 13px; + height: 15px; +} +.select-list-item.internal:before, +.select-list-item.private:before { + margin-right: 6px; +} +.selected-item.internal .label:before, +.selected-item.private .label:before { + background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2213%22%20viewBox%3D%220%200%2011%2013%22%20width%3D%2211%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20fill%3D%22%23fff%22%20height%3D%227%22%20rx%3D%221.5%22%20width%3D%2211%22%20y%3D%226%22%2F%3E%3Crect%20height%3D%229%22%20rx%3D%222.5%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20width%3D%225%22%20x%3D%223%22%20y%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + margin-right: 8px; +} +.bt-card-row .bt-card-title { + line-height: 22px; + margin: 0; +} +.bt-card-preview { + font-size: 13px; + line-height: 19px; + display: -webkit-box; + max-height: 38px; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + color: #000; + margin: 1px 0 2px; +} +.bt-issue-footer-wrap { + display: flex; + margin: -1px 0 -2px; +} +.bt-issue-footer-wrap + .bt-issue-footer-wrap { + margin-top: 2px; +} +.bt-issue-footer { + color: #70767b; +} +.bt-issue-footer .add-info:before { + content: '\2022'; + margin: 0 8px; +} +.bt-card-status .status-f, +.bt-card-status.filtered .status-nf { + display: none; +} +.bt-card-status.filtered .status-f { + display: inline; +} +.bt-card-row .bt-issue-footer { + font-size: 13px; + line-height: 17px; + margin: 3px 7px 0 0; + flex-grow: 1; +} +.bt-card-title a, +.bt-issue-footer a { + color: inherit; +} +.bt-card-thumb { + display: inline-block; + vertical-align: top; + width: 60px; + height: 60px; + border-radius: 6px; + background: #efefef no-repeat center; + background-size: cover; + position: relative; + overflow: hidden; + margin: 0 18px 0 0; + float: left; +} +.bt-card-thumb-label { + position: absolute; + top: 0; + right: 0; + margin: 3px; + background: rgba(0, 0, 0, .4); + padding: 1px 3px 0px; + font-size: 11px; + line-height: 13px; + border-radius: 3px; + color: #fff; +} +.bt-card-thumb-status { + position: absolute; + left: 0; + right: 0; + bottom: 0; + text-align: center; + font-size: 12px; + line-height: 18px; + font-weight: 500; + text-transform: uppercase; + border-top: 2px solid #fff; + background: #5BAD57; + color: #fff; + display: none; +} +.thumb-color0 { + background-color: #e56555; +} +.thumb-color1 { + background-color: #f28c48; +} +.thumb-color2 { + background-color: #8e85ee; +} +.thumb-color3 { + background-color: #76c84d; +} +.thumb-color4 { + background-color: #5fbed5; +} +.thumb-color5 { + background-color: #549cdd; +} +.thumb-color6 { + background-color: #f2749a; +} +.thumb-color7 { + background-color: #ebb136; +} +.thumb-feature .bt-card-thumb-status { + background-color: #238fe1; +} +.bt-card-thumb.fixed .bt-card-thumb-status { + display: block; +} +.thumb-icon { + background-position: center; + background-repeat: no-repeat; + background-size: 70%; +} +.cd-badge { + font-size: 11px; + line-height: 13px; + padding: 3px 5px 2px; + text-transform: uppercase; + display: inline-block; + vertical-align: 1px; + margin-left: 10px; + border-radius: 3px; + background-color: #70767b; + color: #fff; +} +.cd-badge-new { + background-color: #238fe1; +} +.bt-header .cd-badge { + margin-top: -1px; +} + +.bt-subscription-tags .bt-card-type { + display: inline-block; + color: #525252; + background-color: #efefef; + padding: 4px 10px 3px; + margin: 7px 7px 0 0; + border-radius: 4px; + vertical-align: top; + white-space: nowrap; + -webkit-user-select: none; + user-select: none; +} +.bt-card-type.internal { + color: #0086d3; + background-color: #e8f3fa; +} +.bt-card-type.private { + color: #1a7e0e; + background-color: #d7f4cc; +} + +.cd-issue-status-wrap { + margin-top: -24px; + display: flex; + flex-wrap: wrap; +} +.cd-issue-status-wrap .cd-issue-status { + display: inline-block; + width: 50%; + flex-basis: 50%; +} +.cd-issue-status-wrap .cd-inline-edit { + display: inline-block; + width: 100%; + flex-basis: 100%; +} + +.cd-issue-results-buttons { + text-align: center; + padding: 36px 0; + margin: 0 -8px -10px; +} +.cd-issue-results-buttons .btn { + font-size: 13px; + line-height: 17px; + padding: 12px 18px 11px; + margin: 0 8px 10px; +} + +.bt-comment { + display: block; + font-size: 14px; + line-height: 22px; + padding: 12px 17px; + margin: 0 -17px; + position: relative; + min-height: 64px; + transition: all .2s ease; +} +.bt-comment.highlight { + background: #efefef; +} +a.bt-issue:hover { + text-decoration: none; +} +a.bt-issue:focus { + box-shadow: none; + outline: none; +} +.bt-comment-photo { + display: inline-block; + vertical-align: top; + width: 30px; + height: 30px; + border-radius: 15px; + background: #efefef; + text-align: center; + overflow: hidden; + margin-right: 12px; + float: left; +} +.bt-comment-photo img { + vertical-align: top; + width: 100%; +} +.bt-comment-photo .photo-char { + font-size: 15px; + vertical-align: middle; + line-height: 30px; + color: #999; +} +.admin-photo { + display: inline-block; + width: 100%; + height: 100%; + background: #294659 url('data:image/svg+xml,%3Csvg enable-background="new 0 0 320 320" viewBox="0 0 320 320" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="m267.6 46.7s-.7-2.9-4-7.7c-7.9-11.7-23.6-.5-23.6-.5s-38.4 25.2-41.2 27.1c-2.7 1.8-7.7 5.7-13.4 4.4-4.2-.9-21.2-1.8-25.4-1.6-4 0-21.2.7-25.4 1.6-5.7 1.3-10.6-2.6-13.4-4.4-2.7-1.8-41-27.1-41-27.1s-15.7-11.2-23.6.5c-3.3 4.9-4 7.7-4 7.7s-15.2 46.2-2.6 106.6c0 0-2.9 63.7 36.2 99.3 0 0 8.2 10.1 8.8 10.8.5.5 10.1 11.7 15.2 19.6s21 29.1 31.3 33.1c0 0 8.8 4 18.7 3.8 9.3-.2 18.1-3.8 18.1-3.8 12.8-5.1 26-25.8 31.1-33.5 5.1-7.9 14.3-19 14.8-19.8.5-.5 9.5-10.4 9.5-10.4 37.1-35.9 36.4-99.3 36.4-99.3 12.7-60.2-2.5-106.4-2.5-106.4zm-168.3 149.3c-13-7.1-13.2-18.5-8.2-24.3 3.7-4.4 10.8-5.5 18.1-5.5 21 0 24.2 14.3 24.7 18.1 1.6 15.5-16.2 21.7-34.6 11.7zm60.1 102.8c-17.9-.5-31.3-12.6-25.4-30 4.6-13.4 26-13 26-13s19.9 0 25.1 11.2c7.1 14.9-5.5 32.3-25.7 31.8zm61.2-102.8c-18.8 9.3-36.2 4.4-34.6-11.2.4-4.4 2.4-18.5 23.4-18.5 7.3 0 15.7.7 19.8 5.7 6.2 7.3 2.5 18.5-8.6 24z" fill="%23fff"/%3E%3C/svg%3E') no-repeat center; + background-size: 70%; +} +.bot-feature .bt-comment-photo.cd-bot { + background: #33B04A url('data:image/svg+xml,%3Csvg%20height%3D%2228%22%20viewBox%3D%220%200%2024%2028%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m13.5%2024c.8284271%200%201.5.6715729%201.5%201.5v1c0%20.8284271-.6715729%201.5-1.5%201.5h-3c-.82842712%200-1.5-.6715729-1.5-1.5v-1c0-.8284271.67157288-1.5%201.5-1.5zm-1.4994829-19c3.8596149%200%206.9994829%203.2030389%206.9994829%207.1399597%200%201.6137924-.5182818%203.1373597-1.4989088%204.4058804-.1673393.216406-.346994.4316614-.5371779.6595733-.5700818.6829685-1.2161242%201.4572168-1.4155212%202.1913864-.0015982.0062323-.0401426.1543702-.0340319.6798044.000752.0621316.0039484.1245509.0069568.1863949.0170159.349778.0425869.8782804-.3391911%201.2874095-.2822206.3025082-.7058334.4495914-1.2950934.4495914h-3.7860044c-.54573294%200-.95167174-.1457409-1.24131913-.4453726-.42295476-.4375102-.41505785-1.0208571-.40913517-1.4469574l.00094011-.0758428c.00545263-.5248588-.03149363-.6790373-.03572412-.6948579-.19629463-.7342654-.7477622-1.3871269-1.33175753-2.0782454-.19554254-.2315554-.39785387-.4709731-.58568752-.7141302-.98025101-1.268329-1.49834474-2.7916087-1.49834474-4.4047299%200-3.93692078%203.14043205-7.1398638%207.0005171-7.1398638zm6.2065897%2012.7071068c.3905243-.3905243%201.0236893-.3905243%201.4142135%200l1.4142136%201.4142135c.3905243.3905243.3905243%201.0236893%200%201.4142136s-1.0236893.3905243-1.4142136%200l-1.4142135-1.4142136c-.3905243-.3905242-.3905243-1.0236892%200-1.4142135zm-12.17157289%200c.39052429.3905243.39052429%201.0236893%200%201.4142135l-1.41421357%201.4142136c-.39052429.3905243-1.02368927.3905243-1.41421356%200s-.39052429-1.0236893%200-1.4142136l1.41421356-1.4142135c.3905243-.3905243%201.02368927-.3905243%201.41421357%200zm16.96446609-6.7071068c.5522847%200%201%20.4477153%201%201s-.4477153%201-1%201h-2c-.5522847%200-1-.4477153-1-1s.4477153-1%201-1zm-20%200c.55228475%200%201%20.4477153%201%201s-.44771525%201-1%201h-2c-.55228475%200-1-.4477153-1-1s.44771525-1%201-1zm18.0355339-7.79289322c.3905243.39052429.3905243%201.02368927%200%201.41421356l-1.4142136%201.41421357c-.3905242.39052429-1.0236892.39052429-1.4142135%200-.3905243-.3905243-.3905243-1.02368927%200-1.41421357l1.4142135-1.41421356c.3905243-.39052429%201.0236893-.39052429%201.4142136%200zm-17.82842712%200c.39052429-.39052429%201.02368927-.39052429%201.41421356%200l1.41421357%201.41421356c.39052429.3905243.39052429%201.02368927%200%201.41421357-.3905243.39052429-1.02368927.39052429-1.41421357%200l-1.41421356-1.41421357c-.39052429-.39052429-.39052429-1.02368927%200-1.41421356zm8.79289322-3.20710678c.5522847%200%201%20.44771525%201%201v2c0%20.55228475-.4477153%201-1%201s-1-.44771525-1-1v-2c0-.55228475.4477153-1%201-1z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E') no-repeat center; + background-size: 60%; +} +.bot-feature .bt-comment-author-name.cd-bot { + color: #189930; +} +.bot-report .bt-comment-photo.cd-bot { + background: #3C4A59 url('data:image/svg+xml,%3Csvg%20height%3D%2226%22%20viewBox%3D%220%200%2029%2026%22%20width%3D%2229%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate%28-1%201%29%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cellipse%20cx%3D%2215.5%22%20cy%3D%2212.294945%22%20rx%3D%227.5%22%20ry%3D%2210.5%22%2F%3E%3Cpath%20d%3D%22m22.2243953%2013.9021437.1647998.0000296c.6666504.000552%201.2070476.5409492%201.2075997%201.2075996l.0009024%205.0373145c.0005519.6668193-.5399152%201.2074801-1.2067346%201.2075996-.0001442%200-.0002884%200-.0004325-.0004325l-.1647998-.0000295c-.6666505-.0005521-1.2070476-.5409493-1.2075997-1.2075997l-.0009024-5.0373145c-.0005519-.6668193.5399152-1.2074801%201.2067346-1.2075995.0001442-.0000001.0002884-.0000001.0004325.0004324z%22%20fill-rule%3D%22nonzero%22%20transform%3D%22matrix%28.70710678%20-.70710678%20-.70710678%20-.70710678%2018.998724%2045.866976%29%22%2F%3E%3Crect%20fill-rule%3D%22nonzero%22%20height%3D%222.580029%22%20rx%3D%221.290014%22%20width%3D%228.023881%22%20x%3D%2218.725373%22%20y%3D%229.888113%22%2F%3E%3Cpath%20d%3D%22m25.6638431%208.74193623%203.0309849-.00054296c.6668193-.00055195%201.2074801.53991517%201.2075996%201.2067346%200%20.00014419%200%20.00028838-.0004325.00043249l-.0000296.16479984c-.000552.6666504-.5409492%201.2070476-1.2075996%201.2075996l-3.0309849.000543c-.6668194.0005519-1.2074802-.5399152-1.2075996-1.2067346%200-.0001442%200-.0002884.0004325-.0004325l.0000295-.1647998c.0005521-.66665043.5409493-1.2070476%201.2075997-1.20759967z%22%20fill-rule%3D%22nonzero%22%20transform%3D%22matrix%28.70710678%20-.70710678%20.70710678%20.70710678%20.86727%2022.156672%29%22%2F%3E%3Cpath%20d%3D%22m24.7434924%2018.7749229c.6329843-.0000461%201.1461568.5130516%201.1462029%201.1460359v.000167l-.0002506%203.4407354c-.0000462.6331035-.5132664%201.1463238-1.14637%201.14637-.6329842.0000461-1.1461567-.5130516-1.1462029-1.1460359%200-.0000557%200-.0001113%200-.000167l.0002507-3.4407354c.0000461-.6331036.5132664-1.1463239%201.1463699-1.14637z%22%20transform%3D%22matrix%28.9781476%20-.20791169%20.20791169%20.9781476%20-3.958837%205.617338%29%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m24.5627743%201.04943535c-4.1149335%200-8.6063201%204.3250939-8.6063201%208.44150197%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222.294028%22%20transform%3D%22matrix%28.9961947%20-.08715574%20.08715574%20.9961947%20-.382233%201.785796%29%22%2F%3E%3Cellipse%20cx%3D%2218.58209%22%20cy%3D%227.738089%22%20fill%3D%22%233c4a59%22%20rx%3D%221.289552%22%20ry%3D%221.290014%22%2F%3E%3Cpath%20d%3D%22m8.60946994%2013.9021437.16479981.0000296c.66665043.000552%201.20704759.5409492%201.20759967%201.2075996l.00090236%205.0373145c.00055195.6668193-.53991517%201.2074801-1.2067346%201.2075996-.00014419%200-.00028838%200-.00043249-.0004325l-.16479981-.0000295c-.66665043-.0005521-1.2070476-.5409493-1.20759967-1.2075997l-.00090237-5.0373145c-.00055194-.6668193.53991517-1.2074801%201.2067346-1.2075995.00014419-.0000001.00028838-.0000001.0004325.0004324z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%20transform%3D%22matrix%28-.70710678%20-.70710678%20.70710678%20-.70710678%202.37407%2036.23977%29%22%2F%3E%3Crect%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%20height%3D%222.580029%22%20rx%3D%221.290014%22%20transform%3D%22matrix%28-1%200%200%201%2016.525374%200%29%22%20width%3D%228.023881%22%20x%3D%224.250746%22%20y%3D%229.888113%22%2F%3E%3Cpath%20d%3D%22m2.30563412%208.74193623%203.0309849-.00054296c.66681935-.00055195%201.20748013.53991517%201.20759959%201.2067346.00000002.00014419.00000002.00028838-.0004325.00043249l-.00002952.16479984c-.00055207.6666504-.54094924%201.2070476-1.20759967%201.2075996l-3.03098489.000543c-.66681935.0005519-1.20748014-.5399152-1.20759959-1.2067346-.00000003-.0001442-.00000003-.0002884.0004325-.0004325l.00002952-.1647998c.00055207-.66665043.54094924-1.2070476%201.20759966-1.20759967z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%20transform%3D%22matrix%28-.70710678%20-.70710678%20-.70710678%20.70710678%2013.615982%205.639925%29%22%2F%3E%3Cpath%20d%3D%22m6.25692525%2018.7749229c.63298426-.0000461%201.14615678.5130516%201.14620291%201.1460359v.000167l-.00025066%203.4407354c-.00004612.6331035-.51326639%201.1463238-1.14636992%201.14637-.63298425.0000461-1.14615677-.5130516-1.1462029-1.1460359-.00000001-.0000557-.00000001-.0001113%200-.000167l.00025065-3.4407354c.00004612-.6331036.5132664-1.1463239%201.14636992-1.14637z%22%20fill%3D%22%23fff%22%20transform%3D%22matrix%28-.9781476%20-.20791169%20-.20791169%20.9781476%2016.876245%201.773765%29%22%2F%3E%3Cpath%20d%3D%22m13.9324255%201c-4.11493351%200-7.45074624%203.33700808-7.45074624%207.45341615%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222.294028%22%20transform%3D%22matrix%28-.9961947%20-.08715574%20-.08715574%20.9961947%2020.787223%20.90759%29%22%2F%3E%3Cellipse%20cx%3D%2212.41791%22%20cy%3D%227.738089%22%20fill%3D%22%231c2734%22%20rx%3D%221.289552%22%20ry%3D%221.290014%22%20transform%3D%22matrix%28-1%200%200%201%2024.83582%200%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center; + background-size: 60%; +} +.bot-report .bt-comment-author-name.cd-bot { + color: #1C2734; +} +.add-name { + font-size: 13px; + font-weight: normal; + white-space: nowrap; + color: #70767b; +} +.bt-comment .admin-name, +.bt-comment-reply .admin-name { + /*background-color: #dedede; + padding: 1px 2px 0px; + margin: 0 -2px;*/ + border-radius: 2px; +} +.bt-card-title { + font-size: 15px; + margin: 2px 0 7px; + font-weight: 500; + color: #000; +} +.bt-card-title .cd-badge { + margin-top: 2px; +} +.bt-comment-author { + font-size: 14px; + line-height: 18px; + font-weight: bold; + margin-bottom: 3px; + color: #000; +} +.bt-issue-info-item { + font-weight: 500; + margin: 0 28px 12px 0; + white-space: nowrap; +} +.bt-info-label:after { + content: ':'; +} +.bt-info-value { + margin-left: 3px; +} +.bt-info-value.bt-copy { + border-bottom: 1px solid #B4B9BD; +} +.bt-issue-info-item .cd-issue-type.private:before { + margin: 0 6px 0 4px; +} +.bt-issue-title { + font-size: 18px; + line-height: 24px; + color: #70767b; +} +.bt-issue-title .cd-author { + font-weight: 500; + color: #000; +} +.bt-issue-label { + font-size: 14px; + line-height: 19px; + color: #81868A; +} +.bt-issue-label-item { + display: inline-block; + margin: 7px 24px 0 0; + white-space: nowrap; + vertical-align: top; + max-width: 100%; + text-overflow: ellipsis; + overflow: hidden; +} +.bt-issue-label a, +.bt-issue-label a:hover, +.bt-issue-label a:active { + color: inherit; +} +.bt-issue-title-wrap { + overflow: hidden; + margin-bottom: 7px; +} + +.bt-comment-reply-wrap { + transition: all .2s ease; +} +.bt-comment-reply-wrap .bt-comment-reply-content { + margin: 10px 0 0; +} +.bt-comment-form .bt-comment-reply { + position: relative; + margin: 0; +} +.bt-comment-reply-content { + display: block; + position: relative; + padding-left: 10px; + margin-top: 2px; + margin-bottom: 5px; + min-height: 41px; +} +a.bt-comment-reply-content { + color: #000; + cursor: pointer; +} +a.bt-comment-reply-content:hover, +a.bt-comment-reply-content:focus { + color: inherit; + text-decoration: none; +} +.bt-comment-reply-content:before { + position: absolute; + content: ''; + left: 0; + top: 3px; + bottom: 4px; + border-left: 2px solid #2b8bd9; + border-radius: 1px; +} +.bt-comment-reply-content .bt-comment-head { + font-weight: 500; +} +.bt-comment-reply-content .bt-comment-text { + margin-top: -1px; +} +.bt-comment-reply-content .bt-comment-head, +.bt-comment-reply-content .bt-comment-text { + font-size: 14px; + line-height: 21px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.bt-comment-thumb { + float: left; + margin: 3px 8px 0 0; + width: 34px; + height: 34px; + border-radius: 2px; + background: #efefef no-repeat center; + background-size: cover; +} +.bt-comment-reply-file { + color: #81868a; +} +.bt-reply-close.close { + top: 0; + right: 0; + width: 22px; + height: 22px; + border-radius: 17px; + margin: 9px 0 0 14px; +} + +.bt-layer-side-buttons { + float: right; + margin: -11px -11px 0 8px; + position: relative; + z-index: 1; +} +.bt-layer-side-button { + float: right; + margin: 7px 0 0 7px; + clear: right; +} +.bt-layer-close { + position: relative; + display: inline-block; + width: 32px; + height: 32px; + border-radius: 16px; + vertical-align: top; + cursor: pointer; + transition: background-color .15s ease; +} +.bt-layer-close .icon { + width: 24px; + height: 24px; + margin: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.bt-layer-close .icon use { + fill: #a8a8a8; +} +.bt-menu-btn { + display: inline-block; + width: 32px; + height: 32px; + border-radius: 16px; + vertical-align: top; + transition: background-color .15s ease; +} +.bt-layer-close:hover, +.bt-menu-btn.dropdown-toggle:hover, +.open .bt-menu-btn.dropdown-toggle { + background-color: #efefef; +} +.bt-subscribe-btn:before { + content: attr(data-subscribe-label); +} +.bt-subscribe-btn.unsubscribe:before { + content: attr(data-unsubscribe-label); +} + +.bt-dropdown-wrap { + display: inline-block; + position: relative; +} +.bt-dropdown.dropdown-toggle { + cursor: pointer; +} +.bt-dropdown-wrap span.dropdown-menu { + left: auto; + right: -1px; + margin: 4px 0 -2px 0; + border: 1px solid rgba(0, 0, 0, .06); + box-shadow: 0 1px 2px rgba(0,0,0,0.07); + border-radius: 4px; + overflow: hidden; + min-width: 150px; +} +.bt-dropdown-wrap.top span.dropdown-menu { + top: auto; + bottom: 100%; +} +.bt-dropdown-wrap span.dropdown-menu > ul.dropdown-menu { + position: static; + display: block; + float: none; + border: none; + box-shadow: none; + font-size: 14px; + line-height: 1.42857143; + border-radius: 0; + min-width: 0; + margin: 0 -20px 0 0; + padding: 7px 20px 7px 0; + max-height: 235px; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.bt-dropdown-wrap ul.dropdown-menu > li > .bt-dropdown-item { + display: block; + padding: 6px 15px; + margin: 0; + position: relative; + color: #222; +} +.bt-dropdown-wrap ul.dropdown-menu > li > a.bt-dropdown-item { + cursor: pointer; +} +.bt-dropdown-wrap ul.dropdown-menu > li > a.bt-dropdown-item:hover, +.bt-dropdown-wrap ul.dropdown-menu > li > a.bt-dropdown-item:focus { + background-color: #f4f4f4; + color: #222; +} +.bt-dropdown-wrap ul.dropdown-menu > li.selected > .bt-dropdown-item { + padding-right: 45px; +} +.bt-dropdown-wrap ul.dropdown-menu > li.selected > .bt-dropdown-item:after { + content: ''; + display: inline-block; + position: absolute; + pointer-events: none; + bottom: 0; + right: 0; + top: 0; + margin: auto 13px; + width: 15px; + height: 12px; + background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 15 12" width="15" height="12" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M 2 6 L 5.5 9.5 L 13 3" stroke="%23228fe1" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/%3E%3C/svg%3E'); +} +.bt-dropdown-wrap ul.dropdown-menu > li.disabled > .bt-dropdown-item { + color: #9DA2A6; + pointer-events: none; + cursor: auto; +} + +.bt-issue-tags .bt-status-dd-wrap span.dropdown-menu > ul.dropdown-menu, +.header-auth-item .bt-dropdown-wrap span.dropdown-menu > ul.dropdown-menu, +.bt-search-tab-wrap.bt-dropdown-wrap span.dropdown-menu > ul.dropdown-menu { + max-height: none; +} + +.bt-dropdown svg.dd { + width: 13px; + height: 7px; + margin-left: 5px; +} +.bt-dropdown svg.dd use { + fill: #525252; +} + +.bt-status.bt-dropdown .dd use { + fill: #fff; +} + +.bt-status-dd-wrap span.dropdown-menu { + left: -1px; + right: auto; +} + +.bt-type-dd-wrap span.dropdown-menu { + left: -1px; + right: auto; + top: auto; + bottom: 100%; +} +.bt-type-dd { + display: inline-block; + color: #525252; + background-color: #efefef; + padding: 6px 10px 5px; + margin: 7px 7px 0 0; + border-radius: 4px; + vertical-align: top; + white-space: nowrap; + -webkit-user-select: none; + user-select: none; +} +.bt-type-dd svg.dd use { + fill: #999; +} +.bt-type-dd.internal { + color: #0086d3; + background-color: #e8f3fa; +} +.bt-type-dd.internal svg.dd use { + fill: #3ca4d8; +} +.bt-type-dd.private { + color: #1a7e0e; + background-color: #d7f4cc; +} +.bt-type-dd.private svg.dd use { + fill: #54a344; +} +.bt-type-dd-tips { + display: inline-block; + padding: 6px 0 5px; + margin: 7px 0 0 0; + vertical-align: top; + font-size: 13px; + color: #8a8a8a; + -webkit-font-smoothing: antialiased; + -webkit-user-select: none; + user-select: none; +} +.bt-type-dd svg.dd { + margin-left: 7px; + margin-bottom: 1px; +} +.bt-type-dd-wrap ul.dropdown-menu > li > .bt-dropdown-item { + padding-right: 45px; +} +.bt-type-dd-wrap .bt-dropdown-item .bt-card-type { + padding-left: 21px; + white-space: nowrap; + position: relative; + background-color: initial; +} +.bt-card-type.internal:before, +.bt-card-type.private:before { + margin-right: 8px; +} +.bt-type-dd-wrap .bt-dropdown-item .bt-card-type:before { + position: absolute; + left: 0; + top: 1px; +} +.bt-type-dd-wrap li.disabled > .bt-dropdown-item .bt-card-type:before { + opacity: 0.5; +} + +.bt-load-more-wrap { + font-size: 14px; + line-height: 22px; + padding: 15px; + text-align: center; +} +.bt-load-more { + display: inline-block; + cursor: pointer; +} + +.bt-action-btn { + font-size: 13px; + line-height: 15px; + font-weight: 500; + color: #70767b; + margin-right: 10px; + cursor: pointer; +} +.bt-action-btn:hover { + color: #70767b; + text-decoration: underline; +} +.bt-action-btn:focus { + text-decoration: none; +} + +.bt-action-btn.bt-reply-btn, +.bt-action-btn.bt-action-menu-btn { + display: inline-block; + vertical-align: top; + width: 26px; + height: 26px; + border-radius: 13px; + transition: background-color .15s ease; + margin-top: -5px; + margin-right: 0; + margin-left: 10px; + float: right; +} +.bt-action-btn.bt-reply-btn:hover, +.bt-action-btn.bt-action-menu-btn:hover { + background-color: #efefef; +} +.bt-action-btn.bt-reply-btn .icon { + width: 15px; + height: 13px; + margin: 6px 5px; + display: inline-block; +} +.bt-action-btn.bt-reply-btn .icon use { + fill: #a3a6a9; +} + +.bt-action-menu-wrap { + float: right; +} +.bt-menu-btn, +.bt-action-menu-btn { + background: url('data:image/svg+xml,%3Csvg%20height%3D%2216%22%20viewBox%3D%220%200%204%2016%22%20width%3D%224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%23a3a6a9%22%20fill-rule%3D%22evenodd%22%3E%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%222%22%20cy%3D%228%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%222%22%20cy%3D%2214%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center; +} + +.bt-issue-counters { + pointer-events: none; + text-align: right; + white-space: nowrap; + margin: -3px -7px; + line-height: 22px; +} +.bt-issue-counters .icon { + transform: scale(0.9375); + transform-origin: 0 0; +} +.bt-issue-voting { + line-height: 28px; + margin: -3px 0; +} +.bt-active-btn, +.bt-issue-copy-link { + cursor: pointer; +} +.bt-issue-actions a.bt-issue-copy-link:hover { + color: #81868a; +} +.cd-issue-like, +.cd-issue-dislike, +.cd-issue-replies, +.bt-issue-subscribe, +.bt-issue-trending, +.bt-issue-actions .bt-issue-copy-link { + position: relative; + pointer-events: visible; + display: inline-block; + padding: 4px 7px 0; + font-size: 13px; + font-weight: 500; + color: #81868a; + transition: color .1s ease; +} + .bt-card-row.trending .bt-issue-counters .bt-issue-trending, +.with-trending .bt-card-row.trending .bt-issue-counters .cd-issue-like, +.with-trending .bt-card-row.trending .bt-issue-counters .cd-issue-dislike { + display: none; +} +.with-trending .bt-card-row.trending .bt-issue-counters .bt-issue-trending { + display: inline-block; +} +.cd-issue-dislike { + margin-left: 0; +} +.cd-issue-like .icon, +.cd-issue-dislike .icon, +.cd-issue-replies .icon, +.bt-issue-subscribe .icon, +.bt-issue-trending .icon, +.bt-issue-actions .bt-issue-copy-link .icon { + width: 16px; + height: 16px; + vertical-align: middle; +} +.cd-issue-like .icon use, +.cd-issue-dislike .icon use, +.cd-issue-replies .icon use, +.bt-issue-subscribe .icon use, +.bt-issue-trending .icon use, +.bt-issue-actions .bt-issue-copy-link .icon use { + transition: fill .1s ease; + fill: #a3a6a9; +} +.cd-issue-like.voted .icon use, +.cd-issue-dislike.voted .icon use, +.liked .cd-issue-like .icon use, +.disliked .cd-issue-dislike .icon use, +.bt-issue-trending.voted .icon use, +.bt-issue-subscribe.subscribed .icon use { + fill: #208fe3; +} +.cd-issue-like .icon { + margin-bottom: 4px; +} +.cd-issue-dislike .icon { + margin-top: 2px; +} +.bt-issue-subscribe .icon, +.bt-issue-trending .icon { + margin-bottom: 3px; +} +.bt-issue-actions .bt-issue-subscribe .icon, +.bt-issue-actions .bt-issue-copy-link .icon { + margin-bottom: 2px; +} +.cd-issue-like .value, +.cd-issue-dislike .value, +.cd-issue-replies .value { + display: inline-block; + transition: max-width .1s linear, margin .1s linear, opacity .1s ease; + max-width: 75px; + margin-right: 6px; +} +.cd-issue-like .value:empty, +.cd-issue-dislike .value:empty, +.cd-issue-replies .value:empty, +.cd-issue-like .value.empty, +.cd-issue-dislike .value.empty, +.cd-issue-replies .value.empty { + max-width: 0; + opacity: 0; + margin-right: 0; +} +.bt-issue-subscribe .label, +.bt-issue-actions .bt-issue-copy-link .label { + display: inline-block; + line-height: 14px; + margin-left: 6px; +} +.bt-issue-subscribe .label > div + div { + margin-top: -14px; +} +.bt-issue-subscribe .label .subscribed, +.bt-issue-subscribe .label .unsubscribed { + pointer-events: none; + transform: opacity .1s ease; +} +.bt-issue-subscribe .label .subscribed, +.bt-issue-subscribe.subscribed .label .unsubscribed { + opacity: 0; +} +.bt-issue-subscribe.subscribed .label .subscribed { + opacity: 1; +} +.liked .cd-issue-like, +.disliked .cd-issue-dislike, +.cd-issue-like.voted, +.cd-issue-dislike.voted, +.bt-issue-subscribe.subscribed { + color: #208fe3; +} +.like-tooltip-wrap { + position: absolute; + width: 270px; + left: 0; + bottom: 100%; + text-align: left; + pointer-events: none; + margin-bottom: 7px; + z-index: 1; +} +.like-tooltip { + display: inline-block; + max-width: 100%; + font-weight: normal; + text-align: left; + font-size: 12px; + line-height: 16px; + border-radius: 3px; + background: rgba(64, 64, 64, .95); + padding: 8px 15px; + color: #fff; + z-index: 4; + text-transform: none; + pointer-events: none; + transition: all .15s ease; + transform: translateY(-10px); + visibility: hidden; + opacity: 0; + cursor: auto; +} +.like-tooltip:after { + content: ''; + border: solid; + border-width: 6px 8px; + border-color: rgba(64, 64, 64, .95) transparent transparent; + display: inline-block; + position: absolute; + top: 100%; + left: 18px; + right: auto; + margin: 0 -8px; +} +.cd-issue-like .like-tooltip-wrap { + left: auto; + right: 100%; + margin-right: -32px; + text-align: right; +} +.cd-issue-like .like-tooltip:after { + left: auto; + right: 18px; +} +:hover > .like-tooltip-wrap .like-tooltip { + transition-delay: .3s; + transform: translateY(0); + visibility: visible; + opacity: 1; +} +:hover > .like-tooltip-wrap.tt-hidden .like-tooltip { + transition-delay: 0s; + transform: translateY(-10px); + visibility: hidden; + opacity: 0; +} +.cd-like-shadow { + display: inline-block; + vertical-align: bottom; + height: 15px; +} + +.cd-tgsticker { + position: relative; + display: inline-block; + width: 128px; + height: 128px; +} +.cd-tgsticker img { + filter: blur(3px); +} +.cd-tgsticker img, +.cd-tgsticker canvas { + position: absolute; + width: 100%; + height: 100%; +} +.cd-tgsticker canvas ~ img { + display: none; +} + +.bt-issue .anchor { + position: absolute; + top: -60px; +} +.bt-comment-photo + .bt-comment-body { + margin-left: 42px; +} +.bt-restart-form { + margin-left: 42px; + margin-top: 10px; +} +.bt-comment-author-name { + margin-right: 4px; +} +.bt-comment .bt-comment-date { + font-size: 13px; + margin-right: 10px; +} +.bt-comment-date { + font-weight: normal; + white-space: nowrap; + color: #70767b; +} +.bt-comment-date:hover { + color: #70767b; +} +.bt-comment-text { + font-size: 14px; + line-height: 20px; + word-break: break-word; +} +.bt-comment-service { + min-height: 26px; +} +.bt-comment-service .bt-comment-body { + text-align: center; +} +.bt-comment-service-text { + display: inline-block; + font-size: 13px; + line-height: 19px; + padding: 4px 12px 3px; + border-radius: 13px; + font-weight: 500; + -webkit-font-smoothing: antialiased; + position: relative; + color: #fff; + max-width: 100%; + vertical-align: top; + white-space: nowrap; +} +.bt-comment-service-photo { + float: left; + width: 26px; + height: 26px; + border-radius: 13px; + margin: -4px 8px -3px -12px; + background-color: rgba(255, 255, 255, 0.4); + text-align: center; + overflow: hidden; +} +.bt-comment-service-text.c-aqua .bt-comment-service-photo { + background-color: #70d4ed; +} +.bt-comment-service-text.c-cyan .bt-comment-service-photo { + background-color: #3fabf4; +} +.bt-comment-service-text.c-blue .bt-comment-service-photo { + background-color: #6998fb; +} +.bt-comment-service-text.c-violet .bt-comment-service-photo { + background-color: #a8a0f7; +} +.bt-comment-service-text.c-pink .bt-comment-service-photo { + background-color: #fe90b2; +} +.bt-comment-service-text.c-orange .bt-comment-service-photo { + background-color: #ffaa71; +} +.bt-comment-service-text.c-lightgreen .bt-comment-service-photo { + background-color: #a6d96b; +} +.bt-comment-service-text.c-green .bt-comment-service-photo { + background-color: #79ca76; +} +.bt-comment-service-photo img { + vertical-align: top; + width: 100%; +} +.bt-comment-service-photo .photo-char { + font-size: 14px; + vertical-align: middle; + line-height: 26px; + color: #fff; +} +.bt-comment-service-label { + display: flex; + justify-content: flex-end; +} +.bt-comment-service-label .service-name { + min-width: 20px; + flex-shrink: 1000000; +} +.bt-comment-service-label .service-after-name { + flex-shrink: 1; +} +.bt-comment-service-label .service-name, +.bt-comment-service-label .service-after-name { + display: inline-block; + text-overflow: ellipsis; + overflow: hidden; +} +.bt-comment-service-label .add-name { + display: none; +} +.bt-comment .bt-comment-service-date { + line-height: 15px; + margin: 5px 0 -7px; +} +.bt-comment .bt-comment-service-date .bt-comment-date { + font-size: 11px; + line-height: 15px; +} +.bt-comment-service-text .admin-name { + background-color: transparent; + padding: 0; + margin: 0; +} +.bt-issue-text { + font-size: 15px; + line-height: 22px; + word-break: break-word; +} +.cd-issue-file { + display: block; + margin: 10px 0 0; + overflow: hidden; + transition: all .2s ease; +} +a.cd-issue-file:hover { + text-decoration: none; +} +.cd-issue-file-close { + margin-top: 10px; + margin-left: 15px; +} +.cd-issue-file-thumb { + display: inline-block; + vertical-align: top; + width: 66px; + height: 66px; + border-radius: 6px; + box-shadow: inset 0 0 14px rgba(0, 0, 0, .05); + background: #efefef no-repeat center; + background-size: cover; + overflow: hidden; + margin-right: 14px; + float: left; + position: relative; +} +.cd-issue-file-thumb:before { + content: ''; + position: absolute; + left: 0; right: 0; + top: 0; bottom: 0; + background: #fff; + visibility: hidden; + opacity: 0; + transition: all ease .2s; +} +.file-loading .cd-issue-file-thumb:before { + visibility: visible; + opacity: 0.3; +} +.circle-progress-wrap { + transform: scale3d(0, 0, 1); + visibility: hidden; + opacity: 0.2; + transform-origin: 50%; + transition: all ease .2s; +} +.circle-progress-bg { + fill: rgba(0, 0, 0, .7); + r: 20px; +} +.circle-progress { + transition: stroke-dashoffset ease .3s, stroke-dasharray ease .3s, stroke-width ease .3s, r ease .3s; + stroke: #fff; + stroke-width: 0; + stroke-linecap: round; + fill: transparent; + transform: rotateZ(-90deg); + transform-origin: 50%; + stroke-dasharray: 125px; + r: 20px; +} +.file-loading .circle-progress-wrap { + transform: scale3d(1, 1, 1); + visibility: visible; + opacity: 1; +} +.file-loading .circle-progress { + animation: rotate-circle linear 2s infinite; + stroke-width: 1.5px; + stroke-dasharray: 106px; + r: 17px; +} +.file-loaded .circle-progress { + animation: rotate-circle linear 2s infinite; + stroke-width: 0; + stroke-dashoffset: 0; + stroke-dasharray: 125px; + r: 20px; +} +.circle-progress.infinite { + transition: stroke-width ease .3s, r ease .3s; +} +.file-loading .circle-progress.infinite, +.file-loaded .circle-progress.infinite { + animation: rotate-circle linear 1.5s infinite, resize-circle linear 360s infinite; +} + +.cd-issue-file-title { + font-size: 14px; + line-height: 23px; + font-weight: 500; + margin-top: 10px; + margin-right: 15px; + color: #000; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + display: flex; +} +.cd-issue-file-title .filename { + overflow: hidden; + text-overflow: ellipsis +} +.cd-issue-file-title:hover:before{ + text-decoration: underline; +} +.bt-issue-file-label { + font-size: 13px; + line-height: 23px; + color: #70767b; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.cd-issue-file-loaded { + display: inline-block; + vertical-align: top; + position: relative; + transition: all .2s ease; +} +.cd-issue-file-loaded:before, +.cd-issue-file-loaded:after { + content: attr(data-loaded); + display: inline-block; +} +.cd-issue-file-loaded:before { + visibility: hidden; +} +.cd-issue-file-loaded:after { + position: absolute; + right: 0; +} +.cd-issue-form .bt-issue-files { + margin: 40px 0 10px; + transition: margin .2s ease; +} +.cd-issue-form .field-has-value .bt-issue-files { + margin: 10px 0; +} +.cd-issue-form .cd-issue-file { + padding: 0 0 10px; + margin: 0; +} +.cd-issue-form .cd-issue-file:last-child { + padding-bottom: 0; +} +.bt-issue-body .bt-issue-files { + display: flex; + flex-wrap: wrap; + margin-right: -10px; +} +.bt-issue-body .bt-issue-files { + padding-top: 8px; +} +.bt-issue-body .bt-issue-files:empty { + padding-top: 0; +} +.bt-issue-file { + margin: 10px 10px 0 0; + display: inline-block; + vertical-align: top; + position: relative; +} +.bt-issue-cover { + border-radius: 3px; + width: 128px; + height: 100px; + overflow: hidden; + background: #efefef no-repeat center; + background-size: cover; + position: relative; +} +.bt-issue-file .bt-issue-file-label { + position: absolute; + bottom: 0; + right: 0; + margin: 4px; + background: rgba(0, 0, 0, .75); + padding: 3px 5px 2px; + font-size: 12px; + line-height: 14px; + border-radius: 3px; + color: #fff; +} + +.bt-issue-footer { + color: #70767b; + line-height: 20px; + margin: 7px 0 1px; + word-break: break-word; +} +.bt-issue-files + .cd-issue-device { + margin-top: 10px; +} +.bt-issue-files:empty + .cd-issue-device { + margin-top: 4px; +} +.bt-issue-files + .bt-issue-footer { + margin-top: 16px; +} +.bt-issue-files:empty + .bt-issue-footer { + margin-top: 10px; +} +.bt-issue-actions { + margin-top: 15px; +} +.bt-issue-actions .cd-issue-like, +.bt-issue-actions .cd-issue-dislike, +.bt-issue-actions .bt-issue-subscribe, +.bt-issue-actions .bt-issue-copy-link { + font-size: 14px; + font-weight: 500; + margin-right: 22px; + padding: 0; +} +.bt-issue-tags { + padding: 10px 0 18px; +} +.bt-issue-tags .bt-tag, +.bt-issue-tags .bt-status { + font-size: 13px; + line-height: 15px; + padding: 5px 8px; + background-color: #edf4f9; + color: #4985c5; + font-weight: 500; + border-radius: 4px; + -webkit-font-smoothing: antialiased; + white-space: nowrap; + max-width: none; +} +.cd-issue-reply-wrap, +.cd-issue-edit-wrap { + transition: all .2s ease; + overflow: hidden; +} +.cd-issue-reply { + padding-top: 25px; + padding-left: 56px; + position: relative; +} +.cd-issue-reply:before { + position: absolute; + display: block; + content: ''; + border-top: 1px solid #f0f0f0; + top: 12px; + left: 56px; + right: 0; +} +.cd-issue-reply-icon { + position: absolute; + display: inline-block; + width: 17px; + height: 14px; + left: 20px; + top: 42px; + background-image: url("data:image/svg+xml,%3Csvg width='17' height='14' viewBox='0 0 17 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd' transform='translate(1 -1.5)'%3E%3Cpath d='m0 13v-2c0-2.209 1.791-4 4-4h9' stroke='%23c0c0c0' stroke-linecap='round' stroke-linejoin='bevel' stroke-width='2'/%3E%3Cg fill='%23c0c0c0'%3E%3Cpath d='m12.763 5.274c0.418-0.0230.7770.2970.80.7150.0020.0280.0020.056 0 0.085l-0.379 6.779c-0.0270.483-0.4120.868-0.8950.895-0.4180.023-0.777-0.297-0.8-0.715-0.002-0.028-0.002-0.056 0-0.085l0.379-6.779c0.027-0.4830.412-0.8680.895-0.895z' transform='matrix(.707 .707 -.707 .707 10.394 -6.072)'/%3E%3Cpath d='m12.7630.394c0.418-0.0230.7770.2970.80.7150.0020.0280.0020.056 0 0.085l-0.379 6.779c-0.0270.483-0.4120.868-0.8950.895-0.4180.023-0.777-0.297-0.8-0.715-0.002-0.028-0.002-0.056 0-0.085l0.379-6.779c0.027-0.4830.412-0.8680.895-0.895z' transform='matrix(.707 -.707 -.707 -.707 6.943 16.763)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); +} +.cd-issue-new-reply .cd-issue-reply-icon { + top: 32px; +} +.cd-input-field + .cd-input-field { + margin-top: 7px; +} +.bt-attach-btn { + float: right; + overflow: hidden; + position: relative; +} +.bt-attach-btn:before { + content: ''; + display: inline-block; + vertical-align: top; + width: 16px; + height: 18px; + position: relative; + margin: 0 -2px; + top: -1px; + background-image: url("data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.554 6.442c.393 0 .711.318.711.711v6.326c0 .682.553 1.235 1.235 1.235.682 0 1.235-.553 1.235-1.235v-7.419c0-1.467-1.19-2.657-2.657-2.657-1.467 0-2.657 1.19-2.657 2.657v8.228c0 2.252 1.826 4.078 4.078 4.078 2.252 0 4.078-1.826 4.078-4.078v-4.628-.224c0-.393.318-.711.711-.711.393 0 .711.318.711.711v.224 4.609c0 3.038-2.462 5.5-5.5 5.5-3.038 0-5.5-2.462-5.5-5.5v-8.191c0-2.252 1.826-4.078 4.078-4.078 2.252 0 4.078 1.826 4.078 4.078v7.382c0 1.467-1.19 2.657-2.657 2.657-1.467 0-2.657-1.19-2.657-2.657v-6.307c0-.393.318-.711.711-.711z' fill='%23238fe1' fill-rule='evenodd' stroke='%23238fe1' stroke-width='.2' transform='matrix(-.707 -.707 .707 -.707 7.228 24.006)'/%3E%3C/svg%3E"); +} +.bt-attach-btn-label { + display: none; + margin-left: 10px; +} +.btn-primary.bt-attach-btn:before { + background-image: url("data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.554 6.442c.393 0 .711.318.711.711v6.326c0 .682.553 1.235 1.235 1.235.682 0 1.235-.553 1.235-1.235v-7.419c0-1.467-1.19-2.657-2.657-2.657-1.467 0-2.657 1.19-2.657 2.657v8.228c0 2.252 1.826 4.078 4.078 4.078 2.252 0 4.078-1.826 4.078-4.078v-4.628-.224c0-.393.318-.711.711-.711.393 0 .711.318.711.711v.224 4.609c0 3.038-2.462 5.5-5.5 5.5-3.038 0-5.5-2.462-5.5-5.5v-8.191c0-2.252 1.826-4.078 4.078-4.078 2.252 0 4.078 1.826 4.078 4.078v7.382c0 1.467-1.19 2.657-2.657 2.657-1.467 0-2.657-1.19-2.657-2.657v-6.307c0-.393.318-.711.711-.711z' fill='%23fff' fill-rule='evenodd' stroke='%23fff' stroke-width='.2' transform='matrix(-.707 -.707 .707 -.707 7.228 24.006)'/%3E%3C/svg%3E"); +} +.bt-attach-btn-wrap { + margin-top: 10px; +} +.bt-attach-btn-wrap .bt-attach-btn { + background-color: #e8f3fa; + color: #0086d3; + float: none; +} +.bt-attach-btn-wrap .bt-attach-btn:hover { + background-color: #deeef8; +} +.bt-attach-btn-wrap .bt-attach-btn-label { + display: inline; +} +.cd-issue-delete { + margin-left: 7px; +} +button.cd-reply-btn, +button.cd-edit-btn { + font-size: 12px; + line-height: 14px; + padding: 4px 10px 3px; + margin: 1px 0 1px 7px; + border-radius: 3px; + float: right; + transition: all .2s ease; +} +.cd-reply-form { + margin-top: 5px; +} +.cd-reply-form > .form-group:last-child, +.cd-issue-form > .form-group:last-child { + margin-bottom: 0; +} +.cd-issue-header { + font-size: 13px; + line-height: 22px; + font-weight: 500; + text-transform: uppercase; + color: #000; +} + +.cd-dialog-options { + +} +.cd-dialog-options .radio-item .radio-input + .radio-label { + color: #222; + font-weight: 500; +} +.cd-dialog-options .radio-item input.radio:disabled + .radio-input { + opacity: 1; +} +.cd-dialog-options.disabled input.radio:disabled ~ .radio-label { + color: #979D9F; +} +.cd-dialog-options.disabled input.radio:checked ~ .radio-label { + color: #222; +} +.cd-dialog-options.disabled .radio-item .radio-input-icon { + border-color: #C3CED2; +} + +.cd-dialog-inline-btn { + margin: 10px 0 0; +} + +.bt-dialog { + padding: 14px 0 0; +} +.bt-dialog a.btn, +.bt-dialog button.btn { + font-size: 14px; + line-height: 18px; + border-radius: 40px; + padding: 12px 24px; +} +.bt-layer-block { + display: block; + position: relative; + padding: 14px 17px; +} +.bt-layer-block:first-child { + border-radius: 6px 6px 0 0; + padding-top: 14px; +} +.bt-layer-block:last-child { + border-radius: 0 0 6px 6px; + padding-bottom: 17px; +} +.bt-layer-block + .bt-layer-block { + margin-top: 12px; +} +.bt-layer-block + .bt-layer-block:before { + display: block; + content: ''; + position: absolute; + left: 0; + right: 0; + top: -12px; + height: 12px; + background-color: #f2f2f2; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07); + pointer-events: none; +} +.bt-layer-block .bt-header { + margin-top: 0; +} + +.bt-layer-content-deleted, +.popup-container.deleted .bt-layer-content { + display: none; +} +.popup-container.deleted .bt-layer-content-deleted { + display: block; +} + +.bt-issue-additional-block .bt-header { + color: #c2513e; +} +.bt-issue-additional { + font-size: 15px; + line-height: 22px; + word-break: break-word; +} +.bt-issue-additional-block:after, +.bt-comments-wrap.admin:after, +.bt-issue.internal:after { + display: block; + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 6px; + background-color: #cf5e5e; +} +.bt-comments-wrap.admin:after { + background-color: #4aa3e6; + border-radius: 0 0 0 6px; +} +.bt-issue.internal:after { + background-color: #4aa3e6; + border-radius: 6px 0 0 0; +} +.bt-comments-wrap.admin .cd-submit-issue-btn:before { + content: ''; + display: inline-block; + width: 11px; + height: 13px; + margin-right: 11px; + margin-left: -2px; + vertical-align: -1px; + background: url("data:image/svg+xml,%3Csvg%20height%3D%2213%22%20viewBox%3D%220%200%2011%2013%22%20width%3D%2211%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20fill%3D%22%23fff%22%20height%3D%227%22%20rx%3D%221.5%22%20width%3D%2211%22%20y%3D%226%22%2F%3E%3Crect%20height%3D%229%22%20rx%3D%222.5%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%20width%3D%225%22%20x%3D%223%22%20y%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 0 center; +} +.bt-comments-wrap.admin .cd-submit-issue-btn.disabled:before, +.bt-comments-wrap.admin .cd-submit-issue-btn[disabled]:before { + opacity: 0.6; +} +.bt-comments-wrap .form-group:last-child { + margin-bottom: 0; +} + +.bt-comment-box, +.bt-comment-deleted { + transition: all .2s ease; +} +.bt-comment.deleted .bt-comment-box { + opacity: 0; + visibility: hidden; + pointer-events: none; +} +.bt-comment-deleted { + position: absolute; + left: 15px; + right: 15px; + top: 12px; + bottom: 12px; + margin: auto 15px auto 56px; + height: 20px; + line-height: 20px; + color: #9DA2A6; + opacity: 0; + visibility: hidden; + pointer-events: none; +} +.bt-comment-deleted.moder-deleted { + height: 40px; +} +.bt-comment.deleted .bt-comment-deleted { + opacity: 1; + visibility: visible; + pointer-events: auto; +} + +.cd-comment-form-box { + display: flex; + flex-direction: row; + padding: 20px 0 0; +} +.cd-comment-form-box .bt-attach-btn { + position: absolute; + transition: all .2s ease; + background-color: transparent; +} +.cd-comment-form-box .btn.bt-attach-btn { + z-index: 1; + padding: 7px 14px 4px; + margin: 5px; + border-radius: 18px; +} +.cd-comment-form-box .bt-attach-btn:before { + content: ''; + display: inline-block; + vertical-align: top; + width: 18px; + height: 21px; + margin: 0; + background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2221%22%20viewBox%3D%220%200%2018%2021%22%20width%3D%2218%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m10.5230769%207.5c.4996053%200%20.9046154.4050101.9046154.90461538v7.76493152c0%20.8683616.7039461%201.5723077%201.5723077%201.5723077s1.5723077-.7039461%201.5723077-1.5723077v-9.05116633c0-1.86757213-1.5139663-3.38153846-3.3815385-3.38153846-1.86757209%200-3.38153843%201.51396633-3.38153843%203.38153846v9.95400813c0%202.8667827%202.32398653%205.1907692%205.19076923%205.1907692s5.1907692-2.3239865%205.1907692-5.1907692v-5.5886794-.2532794c0-.4996053.4050101-.9046154.9046154-.9046154s.9046154.4050101.9046154.9046154v.2532794%205.5162907c0%203.8659932-3.1340068%207-7%207-3.86599325%200-7-3.1340068-7-7v-9.80923077c0-2.86678269%202.32398654-5.19076923%205.1907692-5.19076923%202.8667827%200%205.1907693%202.32398654%205.1907693%205.19076923v8.90638907c0%201.8675721-1.5139664%203.3815384-3.3815385%203.3815384s-3.38153846-1.5139663-3.38153846-3.3815384v-7.69254292c0-.49960528.40501006-.90461538.90461536-.90461538z%22%20fill%3D%22%23848e91%22%20fill-rule%3D%22evenodd%22%20transform%3D%22matrix%28-.70710678%20-.70710678%20.70710678%20-.70710678%208%2028.384776%29%22%2F%3E%3C%2Fsvg%3E"); +} +.cd-comment-input-wrap { + position: relative; + margin-right: 12px; + flex-grow: 1; +} +.cd-comment-input-wrap .input.cd-comment-input { + padding: 11px 22px; + border-radius: 22px; + border: 1px solid #dde4eb; + box-shadow: none; + max-height: 132px; + transition: background-color .2s ease, border .2s ease; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.cd-comment-input-wrap .input.cd-comment-input:focus { + box-shadow: none; +} +.cd-comment-input-wrap .input.empty[data-placeholder]:before { + left: 22px; +} +.cd-comment-input-wrap.with-attach .input.empty[data-placeholder]:before { + left: 55px; +} +.cd-comment-input-wrap.with-attach .input.cd-comment-input { + padding-left: 55px; +} +.cd-comment-input-wrap .bt-attach-btn { + display: none; +} +.cd-comment-input-wrap.with-attach .bt-attach-btn { + display: block; +} +.cd-submit-comment-btn { + width: 44px; + height: 44px; + border-radius: 22px; + padding: 0; +} +.cd-submit-comment-btn:before { + display: inline-block; + content: ''; + width: 20px; + height: 20px; + vertical-align: top; + background: url('data:image/svg+xml,%3Csvg%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m1.49694867%2018.783658%2016.85800943-8.4373492c.521538-.2610271.7327238-.89542151.4716966-1.4169595-.1021353-.20406867-.2676279-.36956126-.4716966-.47169661l-16.84660759-8.43164264c-.521538-.26102715-1.15593239-.04984138-1.41695954.47169661-.09962843.19905979-.1338051.42451185-.09764866.64415551l1.0153861%206.16828183c.06421562.39009796.38190679.68875402.77522395.72877485l9.10073534.92601861c.1455691.01481196.2576653.13513612.2621464.28138826l.0047296.15436251c.0070205.22913104-.1677854.42308725-.3964111.43983872l-8.94621891.65549185c-.40511755.0296831-.73660589.3341284-.80057485.7352633l-1.02726504%206.4417489c-.09184437.5759355.300589%201.117278.87652447%201.2091224.21803653.0347702.44148756.0003238.6389304-.0984954z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20transform%3D%22translate%28.4%20.6%29%22%2F%3E%3C%2Fsvg%3E') no-repeat center; + margin: auto 10px auto 13px; +} + +.bt-layer-header + .bt-subscriptions { + margin-top: 24px; +} +.bt-subscription { + position: relative; + padding: 4px; + margin: 12px -4px; + border-radius: 6px; + display: flex; +} +.bt-subscription + .bt-subscription { + margin-top: -5px; +} +.bt-subscriptions.by-tags .bt-subscription + .bt-subscription { + margin-top: 18px; +} +.bt-subscriptions.by-tags .bt-subscription + .bt-subscription:before { + font-size: 13px; + content: attr(data-or); + position: absolute; + left: 4px; + top: -17px; + color: #8a8a8a; +} +.bt-subscription-tags, +.bt-subscription-issue { + flex-grow: 1; + flex-shrink: 1; +} +.bt-subscription-empty { + font-size: 14px; + line-height: 25px; + padding: 4px 0; + margin: 12px 0; + color: #70767b; +} +.bt-subscription-tags { + margin: -7px -7px 0 0; +} +.bt-subscription-issue { + line-height: 25px; +} +.bt-subscription-issue .bt-card-title { + color: #0088cc; + margin: 0; +} +.bt-subscription-issue .bt-card-title:before { + margin-right: 8px; +} +.bt-subscription-delete-wrap { + margin-left: 15px; + margin-right: -6px; + flex-grow: 0; + flex-shrink: 0; +} +.bt-subscription-delete-wrap svg.icon { + vertical-align: top; + width: 24px; + height: 24px; +} +.bt-subscription-delete-btn { + cursor: pointer; + border-radius: 14px; + padding: 2px; + margin: -2px; + transition: background-color .15s ease; +} +.bt-subscription-delete-btn:hover { + background-color: #efefef; +} +.bt-subscriptions-form { + margin-top: -10px; +} + + + +.cd-back { + padding: 18px 19px; + vertical-align: top; + margin: 0 0 0 -15px; + cursor: pointer; +} +.cd-back:before { + position: relative; + top: 2px; + content: ''; + display: inline-block; + width: 18px; + height: 16px; + background: url('/img/translations/icons.png?8') no-repeat -5px -105px; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .cd-back:before { + background-image: url('/img/translations/icons_2x.png?8'); + background-size: 26px 752px; + } +} + +.cd-subheader { + font-size: 16px; + font-weight: 500; + padding: 15px 0; + margin: 0; +} +.cd-subheader .cd-badge { + font-size: 12px; + line-height: 18px; + padding: 3px 7px 2px; + min-width: 19px; + margin-left: 7px; +} + +.cd-section-block { + padding: 20px 15px 0 56px; +} +.cd-actions { + display: inline-block; + margin-left: -13px; +} +.cd-action-item { + display: block; + position: relative; + padding: 11px 40px 11px 58px; + font-weight: 500; +} +/*.cd-action-item:hover { + text-decoration: none; +} +.cd-action-item .cd-action-label:hover { + text-decoration: underline; +}*/ +.cd-action-item:before { + position: absolute; + top: 4px; + left: 6px; + display: inline-block; + width: 32px; + height: 32px; + content: ''; + background: url('/img/translations/icons.png?8') no-repeat -10px -548px; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .cd-action-item:before { + background-image: url('/img/translations/icons_2x.png?8'); + background-size: 26px 752px; + } +} +.action-share:before { + background-position: 6px -453px; +} +.action-edit:before { + background-position: 4px -485px; +} +.action-team:before { + background-position: 1px -514px; +} + +.arrow-link { + font-size: 15px; + font-weight: 500; + cursor: pointer; +} +.arrow-link:after { + display: inline-block; + width: 8px; + height: 12px; + content: ''; + background: url('/img/translations/icons.png?8') no-repeat -10px -548px; + margin-left: 7px; + vertical-align: -1px; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .arrow-link:after { + background-image: url('/img/translations/icons_2x.png?8'); + background-size: 26px 752px; + } +} + +.form-group .input { + direction: ltr; + unicode-bidi: isolate; +} +.form-group.rtl { + text-align: right; +} +.form-group.rtl .input { + direction: rtl; +} + +.fill { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +.fullname { + font-weight: 500; + border-bottom: 1px solid #de8833; +} +.my.fullname { + border-bottom: 3px double #de8833; +} +a.fullname:hover { + text-decoration: none; + border-bottom-color: inherit; +} + +.close { + position: relative; + width: 22px; + height: 22px; + opacity: 1; +} +.close:hover { + opacity: 1; +} +.close:before, +.close:after { + display: inline-block; + position: absolute; + background: #c0c0c0; + left: 50%; + top: 50%; + content: ''; + width: 16px; + height: 2px; + margin: -1px 0 0 -8px; + border-radius: 1px; + transform: rotateZ(45deg) scaleY(.95); + transition: background-color .2s ease; +} +.close:after { + transform: rotateZ(-45deg) scaleY(.95); +} +.close:hover:before, +.close:hover:after { + background: #a8a8a8; +} + +.arrow-left, +.arrow-right { + display: inline-block; + width: 16px; + height: 14px; + position: relative; + opacity: 0.4; + transition: opacity .2s ease; +} +.arrow-left:before, +.arrow-left:after, +.arrow-right:before, +.arrow-right:after { + display: inline-block; + position: absolute; + content: ''; + left: 0; + top: 50%; +} +.arrow-left:before, +.arrow-right:before { + transform: rotateZ(45deg); + width: 10px; + height: 10px; + border: 2px solid #222; + margin: -5px 0 0 2px; + border-width: 0 0 2px 2px; +} +.arrow-left:after, +.arrow-right:after { + background: #222; + width: 14px; + height: 2px; + margin: -1px 0 0 2px; +} +.arrow-right:before { + margin-left: 4px; + border-width: 2px 2px 0 0; +} +.arrow-right:after { + margin-left: 0; +} + +.binding { + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: 400; + font-size: 92%; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.binding:before { + content: "\e144"; +} + +.ohide { + opacity: 0; + visibility: hidden; + pointer-events: none; +} + +.shide { + opacity: 0; + visibility: hidden; + pointer-events: none; + padding-top: 0 !important; + padding-bottom: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + height: 0 !important; +} + +.sxhide { + opacity: 0; + visibility: hidden; + pointer-events: none; + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + width: 0 !important; +} + +.no-transition, +.no-transition * { + transition: none !important; +} + +.nav-pills > li > a { + padding: 10px 15px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 15px; + font-weight: 500; + line-height: 22px; +} +.nav-pills > li.divider { + border-bottom: 1px solid #ededed; + padding-bottom: 7px; + margin-bottom: 7px; +} +.nav-pills > li > a .cd-badge { + font-size: 11px; + padding: 2px 5px 0; + margin-top: 2px; + background: #0f9ae4; + float: right; +} +.nav-pills > li.active > a .cd-badge { + background: #fff; + color: #0f9ae4; +} +.nav-stacked > li + li { + margin-top: 0; +} + +.popup-buttons .btn-link { + padding: 10px 15px 8px; + border-radius: 2px; +} +.popup-buttons .btn-link + .btn-link { + margin-left: 2px; +} +.popup-buttons .btn-link:hover { + background: #e6f1f7; + text-decoration: none; +} +.popup-buttons .btn-link:active { + background: #d4e6f1; +} +.popup-buttons .btn-link:focus { + text-decoration: none; +} + +.toast-container { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 201; + padding: 0 45px; + margin: auto; + display: flex; + align-items: center; + justify-content: center; + transition: all .2s ease; + pointer-events: none; +} +.toast { + max-width: 270px; + max-height: 270px; + background: rgba(14, 21, 33, 0.75); + font-weight: 500; + color: #fff; + padding: 8px 24px; + border-radius: 10px; + font-size: 14px; + line-height: 20px; + text-align: center; +} +.toast a { + color: #69C5FF; + pointer-events: auto; +} + +.input { + white-space: pre-wrap; + position: relative; + z-index: 0; +} +.input.empty[data-placeholder] { + position: relative; +} +.input.empty[data-placeholder]:before { + position: absolute; + left: 0; + right: 0; + content: attr(data-placeholder); + transition: color .2s ease; + color: #919699; + font-weight: normal; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + pointer-events: none; + z-index: -1; +} +.input.empty[data-placeholder]:focus:before { + color: #ccc; +} +input.cd-form-control, +textarea.cd-form-control, +.input.cd-form-control { + padding-left: 0; + padding-right: 0; + border: none; + height: auto; + resize: none; + box-shadow: inset 0 -1px 0 #f0f0f0; + transition: box-shadow .2s ease, color .2s ease; + background: transparent; +} +input.cd-form-control + .cd-form-control-underline { + box-shadow: 0 -1px 0 #f0f0f0; + transition: box-shadow .2s ease; + margin-bottom: -2px; + height: 2px; +} +input.cd-form-control[readonly], +textarea.cd-form-control[readonly], +.input.cd-form-control[readonly], +input.cd-form-control[disabled], +textarea.cd-form-control[disabled], +.input.cd-form-control[disabled] { + cursor: auto; + background: #fff; +} +input.cd-form-control:focus, +textarea.cd-form-control:focus, +.input.cd-form-control:focus { + box-shadow: inset 0 -2px 0 #39ade7; +} +input.cd-form-control:focus + .cd-form-control-underline { + box-shadow: 0 -2px 0 #39ade7; +} +input.cd-form-control[readonly]:focus, +textarea.cd-form-control[readonly]:focus, +.input.cd-form-control[readonly]:focus, +input.cd-form-control[disabled]:focus, +textarea.cd-form-control[disabled]:focus, +.input.cd-form-control[disabled]:focus { + box-shadow: inset 0 -1px 0 #f0f0f0; +} +.input.cd-form-control { + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.input.cd-form-control::-webkit-scrollbar { + display: none; +} + +.bt-markdown-input > .CodeMirror { + font-family: inherit; + margin: 0 -4px; + padding: 3px 0 5px; + color: #222; + height: auto; + box-shadow: inset 0 -1px 0 #f0f0f0; + transition: box-shadow .2s ease, color .2s ease; +} +.bt-markdown-input > .CodeMirror-focused { + box-shadow: inset 0 -2px 0 #39ade7; +} +.bt-markdown-input .CodeMirror-selected { + background: transparent; +} +.bt-markdown-input .CodeMirror-focused .CodeMirror-selected { + background: Highlight; +} +.bt-markdown-input .CodeMirror-line::selection, +.bt-markdown-input .CodeMirror-line > span::selection, +.bt-markdown-input .CodeMirror-line > span > span::selection { + background: Highlight; +} +.bt-markdown-input .CodeMirror-line::-moz-selection, +.bt-markdown-input .CodeMirror-line > span::-moz-selection, +.bt-markdown-input .CodeMirror-line > span > span::-moz-selection { + background: Highlight; +} +.bt-markdown-input .cm-s-default .cm-header { + color: inherit; +} +.bt-markdown-input .cm-s-default .cm-header-1, +.bt-markdown-input .cm-s-default .cm-header-2 { + font-size: 16px; +} +.bt-markdown-input .cm-s-default .cm-variable-2, +.bt-markdown-input .cm-s-default .cm-variable-3, +.bt-markdown-input .cm-s-default .cm-keyword, +.bt-markdown-input .cm-s-default .cm-quote { + color: #555; +} +.bt-markdown-input .cm-s-default .cm-comment { + font-family: monospace, 'Courier New'; + font-size: 87%; + color: #555; +} +.bt-markdown-input .cm-s-default .cm-link { + color: #0088cc; +} +.bt-markdown-input .cm-s-default .cm-url.cm-hr, +.bt-markdown-input .cm-s-default .cm-url.cm-string { + color: #999; +} + +.login-popup-container section { + line-height: 23px; + max-width: 600px; +} +.login-popup-container h2 { + font-size: 24px; + margin-top: 15px; + margin-bottom: 15px; +} +.login-popup-container p { + margin-bottom: 18px; +} +.login-popup-container p.help-block { + margin-top: 18px; + margin-bottom: -7px; +} +.login-popup-container .form-control { + max-width: 280px; +} + +.dots-animated:after { + position: absolute; + display: inline-block; + animation: dotty steps(1, end) 1s infinite; + content: '...'; +} + +@-webkit-keyframes dotty { + 0%, 100% { content: ''; } + 25% { content: '.'; } + 50% { content: '..'; } + 75% { content: '...'; } +} +@keyframes dotty { + 0%, 100% { content: ''; } + 25% { content: '.'; } + 50% { content: '..'; } + 75% { content: '...'; } +} + +@-webkit-keyframes rotate-circle { + from { transform: rotateZ(-90deg); } + to { transform: rotateZ(270deg); } +} +@keyframes rotate-circle { + from { transform: rotateZ(-90deg); } + to { transform: rotateZ(270deg); } +} + +@-webkit-keyframes resize-circle { + from { stroke-dashoffset: 0; } + to { stroke-dashoffset: 12500px; } +} +@keyframes resize-circle { + from { stroke-dashoffset: 0; } + to { stroke-dashoffset: 12500px; } +} + +header .header-wrap { + padding: 9px 0 8px; + position: relative; + background: #fff; + z-index: 2; +} +header.sticky .sticky-box { + width: 100%; + z-index: 100; + background: #fff; +} +header.sticky.fixed .sticky-box { + position: fixed; + top: -3px; +} +header.sticky.fixed .bt-search { + box-shadow: 0 1px rgba(0, 0, 0, .12); +} + +header.bt-search-header + main .bt-header { + margin-top: 15px; +} + +header.has-search + main section.cd-content { + padding-top: 49px; +} +header.has-message + main { + margin-top: 112px; +} +header .btn-lg { + padding: 11px 12px 10px; +} +.header-panel { + position: relative; + padding: 0 10px; + z-index: 7; +} +.header-panel .header-breadcrumb { + height: 41px; + overflow: hidden; +} +.header-auth { + float: right; + margin-left: 15px; +} +.header-auth-item { + display: inline-block; + vertical-align: top; + padding: 11px 0; + font-weight: 500; + white-space: nowrap; +} +.header-auth-item + .header-auth-item { + margin-left: 10px; +} +.header-auth-link { + display: inline-block; + vertical-align: top; +} +.header-auth-photo { + display: inline-block; + vertical-align: top; + width: 32px; + height: 32px; + border-radius: 16px; + background: #efefef; + text-align: center; + overflow: hidden; + margin: -7px 0 -7px 0; +} +.header-auth-photo img { + width: 100%; +} +.header-auth-photo .photo-char { + font-size: 15px; + vertical-align: middle; + line-height: 34px; + color: #999; +} +.header-search-item { + padding-bottom: 18px; + margin-bottom: -18px; + overflow: hidden; +} +.header-auth-name { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + max-width: 190px; + color: #0086d3; +} +.header-auth-name:after { + content: ''; + display: inline-block; + width: 12px; + height: 7px; + background: url('/img/translations/icons.png?8') no-repeat -7px -324px; + margin: 0 0 2px 7px; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .header-auth-name:after { + background-image: url('/img/translations/icons_2x.png?8'); + background-size: 26px 752px; + } +} +.header-auth-name.dropdown-toggle { + cursor: pointer; +} +.header-auth-name + .dropdown-menu { + top: -21px; + left: auto; + right: -4px; +} +@media (min-width: 1420px) { + .header-auth-name + .dropdown-menu { + left: -4px; + right: auto; + } +} + +header .breadcrumb > .active, +header .breadcrumb > .active a { + color: #222; +} +header .breadcrumb > .placeholder { + color: #999; +} +header .breadcrumb > li { + padding: 11px 0; + font-size: 15px; + line-height: 1.3333333; + font-weight: 500; + position: relative; +} +header .breadcrumb > li > a, +header .breadcrumb > li.active > strong { + display: inline-block; + text-overflow: ellipsis; + vertical-align: top; + overflow: hidden; + max-width: 190px; +} +header .breadcrumb > li.cd-logo > a { + overflow: visible; +} +header .container-fluid .breadcrumb > li > a, +header .container-fluid .breadcrumb > li.active > strong { + max-width: 240px; +} +header .breadcrumb > li.active > a { + overflow: visible; + max-width: none; +} +header .breadcrumb > li:before { + content: ''; +} +header .breadcrumb > li:after { + content: "\00a0/\00a0"; + padding: 0 8px; + color: #d4d4d4; +} +header .breadcrumb > li:last-child:after { + content: ''; +} +header .input-group-addon.breadcrumb > li:last-child:after { + content: "\00a0/\00a0"; +} +header .header-breadcrumb .dropdown { + position: static; +} +header .header-breadcrumb .dropdown-menu { + left: auto; + top: 48px; + margin: 0 0 0 -15px; + min-width: 0; + font-size: 15px; + border: none; + box-shadow: 0 0 2px rgba(0, 0, 0, .15); +} +header .header-breadcrumb .dropdown.open > .dropdown-menu { + display: inline; +} +header .header-breadcrumb .dropdown.open > .dropdown-menu > li { + display: block; +} +header .header-breadcrumb .dropdown.open > .dropdown-menu > li > a { + padding: 10px 35px 10px 15px; + margin: 0; + color: #2e87ca; +} +header .header-breadcrumb .dropdown.open > .dropdown-menu > li > a:hover { + background-color: #f0f6fa; + color: #2e87ca; +} +header .header-breadcrumb .dropdown.open > .dropdown-menu > li.active > a:hover, +header .header-breadcrumb .dropdown.open > .dropdown-menu > li.active > a { + background-color: #1e98d4; + color: #fff; + font-weight: 500; + position: relative; +} +header .btn { + margin-left: 10px; + margin-right: -12px; +} +.buttons-wrap { + padding: 15px 0; +} +.buttons-wrap .btn { + margin-left: -15px; +} + +.header-breadcrumb .breadcrumb { + background: none; + border: transparent; + padding: 0; + margin: 0; + overflow: visible; +} +.header-breadcrumb-simple .breadcrumb { + overflow: hidden; +} +.header-breadcrumb-simple .breadcrumb > .active { + display: inline; +} +.header-breadcrumb .input-label { + font-weight: normal; +} +.input-group .input-dropdown { + display: table-cell; + position: relative; +} +.input-dropdown .form-control { + height: auto; + border: transparent; + background: transparent; + color: #222; + overflow: hidden; + text-overflow: ellipsis; + padding: 11px 16px 11px 1px; + margin-left: -1px; + border-radius: 0 !important; + transition: color .2s ease; +} +.form-control::-webkit-input-placeholder { + text-overflow: ellipsis; + transition: color .2s ease; + color: #999; +} +.form-control::-moz-placeholder { + text-overflow: ellipsis; + transition: color .2s ease; + color: #999; +} +.form-control:-ms-input-placeholder { + text-overflow: ellipsis; + transition: color .2s ease; + color: #999; +} +.form-control::placeholder { + text-overflow: ellipsis; +} +.form-control[placeholder] { + text-overflow: ellipsis; +} +.form-control:focus::-webkit-input-placeholder { + text-overflow: ellipsis; + color: #ccc; +} +.form-control:focus::-moz-placeholder { + text-overflow: ellipsis; + color: #ccc; +} +.form-control:focus:-ms-input-placeholder { + text-overflow: ellipsis; + color: #ccc; +} +.form-control:focus::placeholder { + text-overflow: ellipsis; +} +.form-control[placeholder]:focus { + text-overflow: ellipsis; +} +.has-section-status .input-dropdown .form-control { + padding-right: 50px; +} + +.form-group-nolabel { + margin-top: -15px; +} +.cd-form-label { + display: block; + font-size: 15px; + line-height: 15px; + color: #8a8a8a; + margin-bottom: 0; + position: relative; + z-index: 1; + pointer-events: none; + -webkit-font-smoothing: antialiased; + transition: all .2s ease; + margin-top: 5px; + top: 24px; +} +.form-group .cd-form-label { + font-weight: normal; +} +.bt-select-query-group .cd-form-label { + font-size: 14px; + top: 31px; +} +.field-has-value .cd-form-label, +.field-has-value.noinput .cd-form-label, +.field-focused .cd-form-label { + pointer-events: auto; + font-size: 13px; + font-weight: 500; + color: #8a8a8a; + top: 0; +} +.form-group.noinput .cd-form-label { + pointer-events: none; +} +.form-group.nowrap .cd-form-label { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.field-focused .cd-form-label, +.field-focused.field-has-value.noinput .cd-form-label { + color: #2481cc; +} +.noinput .cd-form-label { + pointer-events: auto; + font-size: 15px; + font-weight: 400; + color: #8a8a8a; + top: 24px; +} +.form-group.nowrap .input { + white-space: nowrap; +} +.bt-form-input { + overflow: hidden; +} +.bt-form-input .cd-form-control { + font-size: 15px; + line-height: 18px; + padding-top: 7px; + padding-bottom: 9px; +} +.bt-form-input .cd-plain { + font-size: 15px; + line-height: 18px; + padding-top: 7px; + padding-bottom: 9px; +} +.bt-form-input .btn-primary { + font-size: 14px; + line-height: 16px; + padding: 10px 21px 8px; +} +.cd-form .help-block, +.bt-form-input .help-block { + font-size: 13px; + line-height: 15px; + color: #8a8a8a; + margin-top: 9px; + margin-bottom: 0; + -webkit-font-smoothing: antialiased; +} +.radio-label .help-block, +.checkbox-label .help-block { + margin-top: 3px; +} +.bt-form-input.cd-form-select { + overflow: visible; +} + +.select { + position: relative; + box-shadow: inset 0 -1px 0 #f0f0f0; + background-color: #ffffff; + cursor: text; +} +.select .items-list { + position: absolute; + left: 0; + right: 0; + margin: -1px 0; + background: #fff; + text-align: left; + padding: 7px 0; + box-shadow: 0 0 2px 1px rgba(0, 0, 0, .15); + border: none; + transition: all .2s ease; + visibility: hidden; + opacity: 0; + max-height: 220px; + overflow: auto; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; + z-index: 10; +} +.select.open .items-list { + visibility: visible; + opacity: 1; +} +.select.open .items-list.ohide { + pointer-events: none; + visibility: hidden; + opacity: 0; +} +.select.no-search .input { + opacity: 0; +} +.select-list-item, +.select-list-no-results { + font-size: 14px; + line-height: 18px; + padding: 8px 15px; + cursor: pointer; +} +.select-list-item { + position: relative; + text-overflow: ellipsis; + overflow: hidden; +} +.search-item.selected .select-list-item, +.search-item:hover .select-list-item { + background: #f2f2f2; +} +.select-list-no-results { + color: #a8a8a8; + cursor: auto; +} +.items-list.team .select-list-item { + padding-left: 36px; +} +.items-list.team .select-list-item:before { + content: ''; + position: absolute; + left: 15px; + bottom: 0; + top: 0; + width: 8px; + height: 8px; + border-radius: 4px; + margin: auto 0; + background-color: #0086d3; +} +.items-list.team .select-list-item.team:before { + background-color: #c11086; +} +.selected-items { + display: flex; + flex-wrap: wrap; + align-items: flex-start; +} +.selected-item { + display: inline-block; + color: #525252; + background-color: #efefef; + padding: 4px 10px 3px; + margin: 3px 5px 2px 0; + border-radius: 4px; + cursor: pointer; + max-width: 85%; + -webkit-user-select: none; + user-select: none; +} +.selected-item.focused { + background-color: #E8E8E8; +} +.selected-item.team.focused { + background-color: #FBE3B5; +} +.select input.cd-form-control, +.select .input.cd-form-control { + white-space: nowrap; + background-color: transparent; + box-shadow: none; + width: 50px; + flex-grow: 100; +} +.selected-item .label { + display: block; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: top; +} +.selected-item .close { + margin: -2px -6px -2px 2px; + float: right; + opacity: 0.6; +} +.selected-item .close:before, +.selected-item .close:after { + width: 13px; + margin-left: -6px; +} +.selected-item .close:hover { + opacity: 1; +} +.selected-item.focused .close:before, +.selected-item.focused .close:after { + background-color: #9c9c9c; +} +.selected-item.team .close:before, +.selected-item.team .close:after { + background-color: #a86e00; +} +.select-clear, +.select-enter { + transition: opacity .1s ease, visibility .1s ease; + pointer-events: none; + visibility: hidden; + opacity: 0; +} +.field-has-value .select-clear, +.field-has-value .select-enter { + pointer-events: auto; + visibility: visible; + opacity: 1; +} + +.cd-issue-tags { + margin: 5px 0 0; +} + +.bt-tags { + margin-top: -7px; +} +.bt-tags.ui-sortable { + position: relative; +} + +.bt-tag, +.bt-status { + display: inline-block; + color: #0086d3; + background-color: #e8f3fa; + padding: 4px 10px 3px; + margin: 7px 7px 0 0; + border-radius: 4px; + vertical-align: top; + white-space: nowrap; + max-width: 85%; + -webkit-user-select: none; + user-select: none; +} +.bt-tag:hover, +.bt-status:hover { + text-decoration: none; +} +.bt-tag.team, +.selected-item.team { + color: #a86e00; + background-color: #ffecc9; +} +.bt-tag.unknown { + color: #c8375f; + background-color: #ffe2ea; +} +.bt-tag.tag-badge { + position: relative; +} +.bt-tag.tag-badge:after { + content: ''; + width: 10px; + height: 10px; + border-radius: 5px; + background-color: #c8375f; + position: absolute; + right: 0; + top: 0; + margin: -3px; +} +.text-unknown, +a.text-unknown, +a.text-unknown:hover, +a.text-unknown:focus, +a.text-unknown:active { + color: #c8375f; +} +.bt-tag.ui-sortable-placeholder { + position: relative; + background: transparent; +} +.bt-tag.ui-sortable-placeholder:before { + content: ''; + display: inline-block; + position: absolute; + border-radius: 4px; + left: 0; right: 0; + top: 0; bottom: 0; + border: 2px dashed #e8f3fa; + visibility: visible; +} +.bt-tag.team.ui-sortable-placeholder:before { + border-color: #ffecc9; +} + +.bt-comments-more { + font-size: 14px; + font-weight: 500; + padding: 9px 15px 8px; + margin: 12px 0 7px; + text-align: center; + background-color: #f2f2f2; + border-radius: 3px; + color: #222; + cursor: pointer; +} +.bt-comments-more:hover { + background-color: #ececec; +} + +.bt-card-action { + font-size: 14px; + line-height: 24px; +} +.bt-card-action-user, +a.bt-card-action-user:hover, +a.bt-card-action-user:focus { + font-weight: 500; + color: inherit; +} +.bt-card-action a.bt-card-title { + color: #0088cc; + padding: 0 2px; +} +.bt-card-action .bt-card-title.deleted { + color: #999; +} +.bt-card-action .bt-tag { + white-space: nowrap; + vertical-align: baseline; + line-height: 20px; + padding: 0 7px; + margin: 0; +} +.bt-card-action .add-name { + display: none; +} +.bt-card-action .bt-status { + white-space: nowrap; + vertical-align: baseline; + border-radius: 11px; + line-height: 22px; + padding: 0 10px; + margin: 0; + font-weight: 500; + -webkit-font-smoothing: antialiased; +} +.bt-card-action-body { + padding: 9px 0; + margin-left: 36px; +} +.bt-card-action-date { + font-size: 13px; + line-height: 20px; + margin: -6px 0 0 36px; + color: #70767b; +} +.bt-card-action-icon { + float: left; + display: inline-block; + vertical-align: text-top; + background: no-repeat center; + margin: 5px 6px 0 0; + width: 30px; + height: 30px; +} +.bt-action-create .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%229%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%3Cg%20fill%3D%22%23000%22%3E%3Crect%20height%3D%2210%22%20rx%3D%221%22%20width%3D%222%22%20x%3D%2214%22%20y%3D%2210%22%2F%3E%3Crect%20height%3D%222%22%20rx%3D%221%22%20width%3D%2210%22%20x%3D%2210%22%20y%3D%2214%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'); +} +.bt-action-edit .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22m15.3%2010.8%201.55-1.54%204.25%204.24-1.6%201.56z%22%20fill%3D%22%23000%22%2F%3E%3Cpath%20d%3D%22m19.9%208.1c.4%200%20.8.2%201.2.5l1.6%201.6c.3.3.5.7.5%201.1s-.2.9-.5%201.2l-10.4%2010.3c-.2.3-.6.5-1.1.5h-1.7c-.4.1-.6.1-.8%200-.8-.7-.9-1-.7-1.5v-2.2l10.8-11c.3-.3.7-.5%201.1-.5z%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E'); +} +.bt-action-edit-type .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m16.3%207c.5%200%201.1.6%201.7%201.3.5.7%201%201.5%201%202.3v.8c0%201%200%201.8-.2%202.4l-7.3.2c-.5-.7-.5-1.5-.5-2.4v-1c0-.8.5-1.6%201-2.3.6-.7%201.2-1.3%201.8-1.3z%22%2F%3E%3Cpath%20d%3D%22m20.3%2014c.6%200%201.1.1%201.4.3l.3%207.3c0%20.4-.3.6-.7.8-.6.4-1.4.6-2.3.6h-8c-.9%200-1.7-.2-2.3-.6-.4-.2-.7-.4-.7-.8v-7c.6-.5%201.1-.6%201.7-.6z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E'); +} +.bt-action-edit-tags .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m7%2015.1%206.8-6.9s1.1-.2%201.6-.2h6.1c.5%200%201.5%201.1%201.5%201.5v6.1c0%20.5-.3%201.6-.3%201.6l-6.8%206.8c-.4.3-.8.5-1.3.5s-.9-.2-1.3-.5l-6.3-6.3c-.3-.4-.5-.8-.5-1.3s.2-1%20.5-1.3zm11-.1c1.1%200%202-.9%202-2s-.9-2-2-2-2%20.9-2%202%20.9%202%202%202z%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E'); +} +.bt-action-edit-status .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20transform%3D%22rotate%28180%2010.5%208%29%20translate%28-6%20-7%29%22%3E%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5%207.5C5%2011.6%208.4%2015%2012.5%2015C16.6%2015%2020%2011.6%2020%207.5C20%203.4%2016.6%200%2012.5%200%22%2F%3E%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M5%203L9.1%207.1C9.3%207.3%209.3%207.7%209.1%207.9C9.1%207.9%208.9%208%208.8%208L1.2%208C.9%208%20.7%207.8.7%207.5C.7%207.4.8%207.2.9%207.1L5%203L5%203Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E'); +} +.bt-action-delete .bt-card-action-icon, +.bt-action-restore .bt-card-action-icon { + background-image: url('data:image/svg+xml,%3Csvg%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22m7.1%209h15.8c.6%200%201.1.4%201.1%201s-.5%201-1.1%201h-15.8c-.6%200-1.1-.4-1.1-1s.5-1%201.1-1z%22%20fill%3D%22%23000%22%2F%3E%3Cg%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m17%207c.3%200%20.5.1.7.3s.3.4.3.7v1c0%20.3-.1.5-.3.7s-.4.3-.7.3h-4c-.3%200-.5-.1-.7-.3s-.3-.4-.3-.7v-1c0-.3.1-.5.3-.7s.4-.3.7-.3z%22%2F%3E%3Cpath%20d%3D%22m19.7%2010c.3%200%20.7.1.9.4.3.2.4.4.4.7v9.7c0%20.6-.3%201.1-.7%201.5-.5.4-1.1.7-1.8.7h-7c-.7%200-1.3-.3-1.8-.7-.4-.4-.7-.9-.7-1.5v-9.7c0-.3.1-.5.4-.7.2-.3.6-.4.9-.4z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E'); +} + + +.progress-bar { + width: 0; + transition: width .4s linear, box-shadow .3s ease; +} +.progress-bar.no-transition { + transition: none; +} +.progress-bar.no-shown { + box-shadow: inset 0 0 0 #39ade7; +} + +header .progress-bar { + position: absolute; + z-index: 1; + bottom: 0; + height: 3px; + box-shadow: inset 0 -2px 0 #39ade7; +} + +.btn-inactive { + cursor: auto; + pointer-events: none; +} + +.nav-menu { + padding: 10px 0 30px; +} + +@media (min-width: 560px) { + .cd-logo-title { + margin-left: 12px; + } + .header-auth-item + .header-auth-item { + margin-left: 15px; + } + .bt-layer-side-button { + clear: none; + } + .bt-layer-content { + padding: 27px 34px 30px; + } + .bt-layer-block { + padding: 20px 34px; + } + .bt-layer-block:first-child { + padding-top: 27px; + } + .bt-layer-block:last-child { + padding-bottom: 30px; + } + .bt-search-tabs-right, + .bt-search-tab + .bt-search-tab { + margin-left: 20px; + } + .bt-issue-actions { + margin-top: 20px; + } + .bt-comment { + border-radius: 3px; + } + .bt-comment-photo { + width: 40px; + height: 40px; + border-radius: 20px; + margin-right: 12px; + } + .bt-comment-photo .photo-char { + font-size: 20px; + line-height: 40px; + } + .bt-comment-photo + .bt-comment-body, + .bt-restart-form { + margin-left: 52px; + } + .bt-card-action { + display: flex; + } + .bt-card-action-icon { + float: none; + margin: 5px 13px 0 5px; + flex-shrink: 0; + flex-grow: 0; + } + .bt-card-action-body { + margin-left: 0; + flex-shrink: 1; + flex-grow: 1; + } + .bt-card-action-date { + margin: 12px 0 0 15px; + flex-shrink: 0; + flex-grow: 0; + text-align: right; + } +} +@media (min-width: 570px) { + .bt-card-row { + border-radius: 6px; + } +} +@media (min-width: 580px) { + .cd-logo-title, + .bt-create-btn-label, + .bt-attach-btn-label { + display: inline; + } + .bt-card-row { + margin: 0 -15px; + padding: 15px; + } + .bt-search, + .cd-content, + .header-panel { + padding: 0 15px; + } +} + +@media (min-width: 768px) { + .nav-menu.nav-menu-can-fix { + position: fixed; + top: 68px; + bottom: 0; + overflow-y: scroll; + } + header.has-message + main .nav-menu.nav-menu-can-fix { + top: 112px; + } + .nav-menu.nav-menu-can-fix::-webkit-scrollbar { + display: none; + } +} + +.section-header { + position: relative; + overflow: hidden; +} + +.header-labels { + position: absolute; + font-size: 13px; + line-height: 16px; + height: 0; + bottom: 0; + right: 0; +} +.header-labels .help-labels { + position: relative; + white-space: nowrap; +} +.header-labels .help-label { + position: absolute; + padding: 4px 10px; + right: 0; + color: #aaa; +} +.header-labels .help-label a { + color: #555; + cursor: pointer; +} + +section h3 .header-count { + margin-left: 10px; + color: #999; +} + +.popup-form { + margin: 25px 0 0; + overflow: visible !important; +} + +.radio-row { + display: block; + margin: 5px -5px; + padding: 5px; + font-weight: normal; + overflow: hidden; + cursor: pointer; +} +.radio-row .radio { + position: absolute; + left: -5000px; +} +.radio-row .radio + .radio-label { + position: relative; + line-height: 18px; + padding: 0; +} +.radio-row .radio + .radio-label:before { + display: inline-block; + content: ''; + width: 18px; + height: 18px; + border-radius: 9px; + border: 2px solid #999; + vertical-align: top; + margin: 0 12px 0 0; + padding: 0; +} +.radio-row .radio:checked + .radio-label:before { + border-color: #319bd8; +} +.radio-row .radio:checked + .radio-label:after { + display: inline-block; + content: ''; + width: 8px; + height: 8px; + border-radius: 4px; + background: #319bd8; + vertical-align: top; + margin: 5px; + padding: 0; + position: absolute; + left: 0; +} +.radio-row .radio.disabled + .radio-label, +.radio-row .radio[disabled] + .radio-label { + opacity: 0.65; +} + +.radio-item .radio-input + .radio-label, +.checkbox-item .checkbox-input + .checkbox-label { + font-weight: normal; + vertical-align: top; + line-height: 19px; + padding-top: 1px; +} + +.radio-btn-item { + display: inline-block; + font-weight: normal; + overflow: hidden; + margin: 3px 8px 3px 0; +} +.radio-btn-item .radio { + position: absolute; + left: -5000px; +} +.radio-btn-item .radio + .radio-btn { + display: inline-block; + border-radius: 4px; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + font-size: 14px; + line-height: 19px; + font-weight: normal; + padding: 6px 10px 4px; + white-space: nowrap; + background-color: #efefef; + color: #525252; +} +.radio-btn-item .radio:checked + .radio-btn { + background-color: #2395e1; + color: #fff; +} +.radio-btn-item .radio.disabled + .radio-btn, +.radio-btn-item .radio[disabled] + .radio-btn { + opacity: 0.65; +} + + +.bt-markdown p { + margin: 0 0 7px; +} +.bt-markdown h1, +.bt-markdown h2, +.bt-markdown h3, +.bt-markdown h4, +.bt-markdown h5, +.bt-markdown h6 { + font-size: 17px; + font-weight: 500; + margin: 24px 0 7px; +} +.bt-markdown h3, +.bt-markdown h4, +.bt-markdown h5, +.bt-markdown h6 { + font-size: 15px; + margin: 20px 0 7px; +} +.bt-markdown h1:first-child, +.bt-markdown h2:first-child, +.bt-markdown h3:first-child, +.bt-markdown h4:first-child, +.bt-markdown h5:first-child, +.bt-markdown h6:first-child { + margin-top: 0; +} +.bt-markdown ol, +.bt-markdown ul { + margin: 12px 0; + padding-left: 28px; +} +.bt-markdown ol ol, +.bt-markdown ol ul, +.bt-markdown ul ol, +.bt-markdown ul ul { + margin-top: 7px; + padding-left: 18px; +} +.bt-markdown ol > li, +.bt-markdown ul > li { + padding-left: 4px; +} +.bt-markdown ul > li { + position: relative; + list-style: none; +} +.bt-markdown ul > li:before { + display: inline-block; + content: ''; + width: 6px; + height: 6px; + border-radius: 3px; + background-color: #4aa3e6; + position: absolute; + top: 8px; + left: -16px; +} +.bt-markdown pre, +.bt-markdown code { + font-family: monospace, 'Courier New'; + font-size: 87%; + color: #546172; + background: #ecf3f8; + border-radius: 3px; +} +.bt-markdown pre { + line-height: 18px; + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; + padding: 3px 10px; + border: none; +} +.bt-markdown code { + padding: 3px 5px; +} +.bt-markdown pre code { + background: transparent; + font-size: inherit; + padding: 0; +} +.bt-markdown blockquote { + position: relative; + padding: 2px 0 2px 17px; + margin: 10px 0; + border: none; +} +.bt-markdown blockquote p { + font-size: inherit; +} +.bt-markdown blockquote:before { + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 4px; + border-radius: 2px; + background-color: #4aa3e6; +} +.bt-markdown blockquote ol:first-child, +.bt-markdown blockquote ul:first-child { + margin-top: 0; +} +.bt-markdown blockquote p:last-child, +.bt-markdown blockquote ol:last-child, +.bt-markdown blockquote ul:last-child { + margin-bottom: 0; +} +.bt-markdown b, +.bt-markdown strong { + font-weight: 500; +} +.bt-markdown hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #efefef; +} + + + +.popup-container { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba(0,0,0,.6); + z-index: 1001; + display: -webkit-flex; + display: flex; + justify-content: center; + align-items: center; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.popup { + max-width: 100%; + word-wrap: break-word; + margin: 15px; + border-radius: 6px; + background: #fff; + box-shadow: 0 0 12px rgba(0, 0, 0, .3); +} +.popup section { + position: relative; + padding-bottom: 60px; +} +.popup h4 { + font-size: 18px; + margin: 5px 0 15px; +} +.popup h4 ~ h4 { + margin-top: 25px; +} +.popup-body { + padding: 20px; +} +.login-popup-container .popup-body { + padding: 15px 25px 25px; +} +@media (min-width: 560px) { + .popup { + margin: 50px; + } + .popup-body { + padding: 30px 35px; + } + .login-popup-container .popup-body { + padding: 50px 60px; + } +} +@media (min-width: 768px) { + .popup { + max-width: 600px; + } +} +.popup .popup-text { + margin: 0; + line-height: 24px; + position: relative; + z-index: 1; +} +.popup .popup-buttons { + margin: -17px -15px -10px; + position: absolute; + right: 0; + bottom: 0; +} + + +#layer-popup-container { + align-items: start; + padding: 70px 10px; +} + +.media-popup-container { + padding: 30px 10px; +} +.media-popup-container .media-popup-cover { + background: #efefef no-repeat center; + background-size: cover; + transition: opacity .15s ease, visibility .15s ease; + border-radius: 2px; + overflow: hidden; +} +.media-popup-container .circle-progress-wrap { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + margin: auto; + transition: all ease .1s; + transform: scale3d(1, 1, 1); + visibility: visible; + opacity: 1; +} +.media-popup-container .circle-progress-wrap.ohide, +.media-popup-container.fullsize .circle-progress-wrap, +.media-popup-container .media-popup-wrap.file-loaded .circle-progress-wrap { + visibility: hidden; + opacity: 0; +} +.media-popup-container .circle-progress.infinite { + transition: stroke-width ease .1s, r ease .1s; +} +.media-popup-container .media { + box-shadow: 0 0 12px rgba(0, 0, 0, .3); + transition: opacity .15s ease, visibility .15s ease; + border-radius: 2px; + overflow: hidden; +} +.media-popup-container .media-photo { + background: no-repeat center; + background-size: cover; +} +.media-popup-container .media-video { + vertical-align: top; +} +.media-popup-container .media-video:focus { + outline: none; +} +.media-popup-container .media-title-wrap, +.media-popup-container .media-counter-wrap { + position: fixed; + margin: 14px 0; + display: flex; + left: 0; + right: 0; + top: 0; + z-index: 1; + pointer-events: none; + justify-content: center; +} +.media-popup-container .media-counter-wrap { + top: auto; + bottom: 0; +} +.media-popup-container .media-prev-btn, +.media-popup-container .media-next-btn { + width: 32px; + height: 32px; + border-radius: 16px; + background: rgba(0,0,0,.4); + margin: 0 5px; + display: inline-block; + pointer-events: auto; + cursor: pointer; +} +.media-popup-container .media-prev-btn:before, +.media-popup-container .media-next-btn:before { + display: inline-block; + content: ''; + border: solid #ccc; + border-width: 2px 0 0 2px; + width: 9px; + height: 9px; + margin: 16px 0 0 11px; + transform: rotate(-45deg); + transform-origin: top left; +} +.media-popup-container .media-next-btn:before { + transform: rotate(45deg); + border-width: 2px 2px 0 0; + transform-origin: top right; + margin-left: 12px; +} +.media-popup-container .media-title, +.media-popup-container .media-counter { + position: relative; + bottom: 0; + color: #ccc; + padding: 7px 15px; + font-size: 14px; + line-height: 18px; + border-radius: 16px; + background: rgba(0,0,0,.4); + display: inline-block; + -webkit-user-select: none; + user-select: none; +} +.media-popup-container.scroll-x { + justify-content: start; + padding-right: 0; +} +.media-popup-container.scroll-x .media-popup-wrap { + padding-right: 10px; +} +.media-popup-container.scroll-y { + align-items: start; + padding-bottom: 0; +} +.media-popup-container.scroll-y .media-popup-wrap { + padding-bottom: 30px; +} +.media-popup-container.can-zoom .media-popup-wrap { + cursor: zoom-in; +} +.media-popup-container.fullsize.can-zoom .media-popup-wrap { + cursor: zoom-out; +} +@media (min-width: 560px) { + .media-popup-container { + padding: 50px; + } + .media-popup-container.scroll-x { + justify-content: start; + padding-right: 0; + } + .media-popup-container.scroll-x .media-popup-wrap { + padding-right: 50px; + } + .media-popup-container.scroll-y { + align-items: start; + padding-bottom: 0; + } + .media-popup-container.scroll-y .media-popup-wrap { + padding-bottom: 50px; + } +} + + + +.form-group label, +.popup-text b { + font-weight: 500; +} +.form-group-buttons { + margin-top: 30px; +} +.form-group-buttons .btn + .btn { + margin-left: 10px; +} + + +a.bt-header-right-btn, +button.bt-header-right-btn { + font-size: 12px; + line-height: 14px; + padding: 4px 10px 3px; + margin: 1px 0 1px 7px; + border-radius: 3px; + position: relative; + float: right; + z-index: 1; +} + +.bt-sort-wrap { + display: inline-block; + position: relative; + color: #70767b; + margin: 1px 0; + float: right; + z-index: 1; +} +.bt-sort-item { + font-size: 14px; + line-height: 16px; + font-weight: 500; + margin-left: 10px; + cursor: pointer; +} +.bt-sort-item.selected, +.bt-sort-item.selected:hover { + color: #000; + cursor: auto; + text-decoration: none; +} + +.bt-filter-wrap { + display: inline-block; + position: relative; + margin: -3px -7px 0 0; + float: right; + z-index: 1; +} +.bt-filter-wrap .bt-dropdown { + display: inline-block; + font-size: 14px; + line-height: 16px; + font-weight: 500; + padding: 5px 7px; + border-radius: 3px; + color: #0086d3; +} +.bt-dropdown.dropdown-toggle { + cursor: pointer; +} +.bt-filter-wrap .bt-dropdown.dropdown-toggle:hover, +.bt-filter-wrap.open .bt-dropdown.dropdown-toggle { + background: #f0f4f7; +} + diff --git a/data/web/telegram.org/js/dsareport.js b/data/web/telegram.org/js/dsareport.js new file mode 100644 index 0000000000..11eb2f6046 --- /dev/null +++ b/data/web/telegram.org/js/dsareport.js @@ -0,0 +1,471 @@ +var DSA = { + options: {}, + init: function(options) { + DSA.options = options || {}; + Dialog.init(); + }, + eUpdateField: function(e) { + var $fieldEl = $(this); + if (e.type == 'focus' || e.type == 'focusin') { + DSA.updateField($fieldEl, true); + } else if (e.type == 'blur' || e.type == 'focusout') { + DSA.updateField($fieldEl, false); + } else { + DSA.updateField($fieldEl); + } + }, + updateField: function($fieldEl, focused) { + var $formGroup = $fieldEl.parents('.form-group'); + if (typeof focused !== 'undefined') { + $formGroup.toggleClass('field-focused', focused); + } + var $files = $formGroup.find('.bt-issue-files'); + var hasValue = false; + if ($files.size() > 0) { + var filesCnt = $('.cd-issue-file:not(.shide)', $files).size(); + hasValue = filesCnt > 0; + } else { + var $select = $fieldEl.parents('.select'); + var selectedCnt = $select.find('.selected-item').size(); + $formGroup.toggleClass('noinput', $select.hasClass('no-search') && !selectedCnt); + hasValue = $fieldEl.value().length > 0 || selectedCnt > 0; + } + $formGroup.toggleClass('field-has-value', hasValue); + }, + onFilesUpdate: function(e) { + DSA.updateField($(this)); + }, + apiRequest: function(method, data, onSuccess) { + return $.ajax(DSA.options.apiUrl, { + type: 'POST', + data: $.extend(data, {method: method}), + dataType: 'json', + xhrFields: { + withCredentials: true + }, + success: function(result) { + if (result._dlog) { + $('#dlog').append(result._dlog); + } + onSuccess && onSuccess(result); + }, + error: function(xhr) { + if (!xhr.readyState && !xhr.status) { + // was aborted + } else if (xhr.status == 401) { + location.href = '/auth'; + } else if (xhr.readyState > 0) { + location.reload(); + } + } + }); + } +}; + +function stopImmediatePropagation(e) { + e.stopImmediatePropagation(); +} +function preventDefault(e) { + e.preventDefault(); +} + +var Login = { + init: function(options) { + Telegram.Login.init(options, function(user) { + Login.authRequest(user); + }); + }, + open: function() { + Telegram.Login.open(); + }, + authRequest: function(data) { + $.ajax('/dsa-report/auth', { + type: 'POST', + data: data, + dataType: 'json', + xhrFields: { + withCredentials: true + }, + success: function(result, s, xhr) { + location.reload(); + } + }); + }, + doLogout: function (e) { + e && e.preventDefault(); + var logout_hash = $(this).attr('data-logout-hash'); + authRequest({logout_hash: logout_hash}); + } +}; + +var Upload = { + eFilePaste: function(e) { + var $form = $(this); + var files = e.originalEvent.clipboardData && e.originalEvent.clipboardData.files || []; + if (files.length > 0) { + e.preventDefault(); + Upload.addFiles($form, files); + } + }, + eSelectFile: function(e) { + var $form = $(this).parents('form'); + var files = this.files || []; + if (files.length > 0) { + Upload.addFiles($form, files); + } + }, + isTypeAccepted(type) { + return (type == 'image/gif' || + type == 'image/jpeg' || + type == 'image/jpg' || + type == 'image/png' || + type == 'video/mp4' || + type == 'application/pdf' || + type == 'application/msword' || + type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'); + }, + addFiles: function($form, files) { + var form = $form.get(0), + $files = $('.bt-issue-files', $form), + limit = DSA.options.fileLimit || 5, + size_limit = DSA.options.fileSizeLimit || 1048576, + alert_shown = false; + if (files != null) { + files = Array.prototype.slice.apply(files); + files.forEach(function(file) { + if (!Upload.isTypeAccepted(file.type)) { + return; + } + if (file.size > size_limit) { + if (!alert_shown) { + alert_shown = true; + showAlert(l('WEB_FILE_IS_TOO_BIG', { + file_name: cleanHTML(file.name), + file_size: cleanHTML(wrapSize(file.size)), + file_size_max: cleanHTML(wrapSize(size_limit)), + })); + } + return false; + } + if ($(form.file).values().length >= limit) { + showAlert(l('WEB_TOO_MANY_FILES', {limit: limit})); + return false; + } + var file_parts = (file.name || '').split('.'), + file_ext = file_parts.length > 1 ? '.' + file_parts.pop() : '', + file_name_without_ext = file_parts.join('.'), + $file_delete = $(''), + $file_thumb = $('
'), + $file_title = $('').append($('').text(file_name_without_ext)).append($('').text(file_ext)).attr('title', file_name_without_ext + file_ext), + $file_loaded = $(''), + $file_label = $('').text(wrapSize(file.size)).prepend($file_loaded); + + var $file = $('').append($file_delete).append($file_thumb).append($file_title).append($file_label).appendTo($files).slideShow(); + $files.trigger('update'); + + Upload.getThumb(file, 480, function onSuccess(thumb) { + if (thumb) { + var thumb_url = URL.createObjectURL(thumb); + $file_thumb.css('background-image', "url('" + thumb_url + "')"); + } + var xhr = Upload.uploadFile(file, thumb, function onSuccess(file) { + if (file.thumb_src && + !$file_thumb.css('background-image')) { + var thumb_src = DSA.options.uploadBaseUrl + file.thumb_src; + $file_thumb.css('background-image', "url('" + thumb_src + "')"); + } + if (file.src) { + var src = DSA.options.uploadBaseUrl + file.src; + $file_thumb.wrap(''); + } + $('').value(file.file_data).prependTo($file); + $file_loaded.slideXHide('remove'); + $file.removeClass('file-loading').addClass('file-loaded'); + }, function onProgress(loaded, total) { + var progress = total ? loaded / total : 0; + progress = Math.max(0, Math.min(progress, 1)); + $file_loaded.attr('data-loaded', 'Uploading... ' + wrapSize(progress * file.size) + '\xa0/\xa0'); + $('.circle-progress', $file_thumb).attr('stroke-dashoffset', 106 * (1 - progress)); + }, function onError(error) { + if (xhr.aborted) return; + $file.slideHide('remove'); + showAlert(error); + }); + $file.data('xhr', xhr); + $file.addClass('file-loading'); + }); + }); + } + }, + getThumb: function(file, width, onResult) { + var thumb = false, got = false + ready = function() { + clearTimeout(thumbTo); + if (!got) { + got = true; onResult(thumb); + } + }, + thumbTo = setTimeout(ready, 2000); + try { + var url = URL.createObjectURL(file); + var finishThumb = function(el, w, h) { + try { + var max = Math.max(w, h); + var scale = width / max; + var dw = Math.round(w * scale); + var dh = Math.round(h * scale); + if (dw && dh) { + var canvas = document.createElement('canvas'), blob; + canvas.width = dw + canvas.height = dh; + var ctx = canvas.getContext('2d'); + ctx.fillStyle = '#fff'; + ctx.fillRect(0, 0, dw, dh); + ctx.drawImage(el, 0, 0, dw, dh); + URL.revokeObjectURL(url); + if (canvas.toBlob) { + canvas.toBlob(function(blob) { + if (blob) { thumb = blob; } + ready(); + }, 'image/jpeg', 0.92); + } else { + var blob = dataUrlToBlob(canvas.toDataURL('image/jpeg', 0.92)); + if (blob) { thumb = blob; } + ready(); + } + } + } catch (e) { ready(); } + } + if (file.type == 'video/mp4') { + var video = document.createElement('video'); + video.src = url; + video.load(); + video.addEventListener('loadedmetadata', function metadataLoaded() { + video.removeEventListener('loadedmetadata', metadataLoaded); + video.addEventListener('timeupdate', function timeUpdated() { + video.removeEventListener('timeupdate', timeUpdated); + finishThumb(video, video.videoWidth, video.videoHeight); + }); + video.currentTime = 0; + }); + video.addEventListener('error', function onError() { + video.removeEventListener('error', onError); + ready(); + }); + } else { + var image = document.createElement('img'); + image.src = url; + image.addEventListener('load', function imgLoaded() { + image.removeEventListener('load', imgLoaded); + finishThumb(image, image.naturalWidth, image.naturalHeight); + }); + image.addEventListener('error', function onError() { + image.removeEventListener('error', onError); + ready(); + }); + } + } catch (e) { ready(); } + }, + uploadFile: function(file, thumb, onSuccess, onProgress, onError) { + var data = new FormData(); + data.append('file', file, file.name); + if (thumb) { + data.append('thumb', thumb, 'thumb.jpg'); + } + return $.ajax({ + url: DSA.options.uploadUrl, + type: 'POST', + data: data, + cache: false, + dataType: 'json', + processData: false, + contentType: false, + xhr: function() { + var xhr = new XMLHttpRequest(); + xhr.upload.addEventListener('progress', function(event) { + if (event.lengthComputable) { + onProgress && onProgress(event.loaded, event.total); + } + }); + return xhr; + }, + beforeSend: function(xhr) { + onProgress && onProgress(0, 1); + }, + success: function (result) { + if (result.error) { + return onError && onError(result.error); + } + onSuccess && onSuccess(result); + }, + error: function (xhr) { + return onError && onError('Network error'); + } + }); + }, + eAttachFile: function(e) { + e && e.stopImmediatePropagation(); + e && e.preventDefault(); + var limit = DSA.options.fileLimit || 5; + if ($(this.form.file).values().length >= limit) { + showAlert(l('WEB_TOO_MANY_FILES', {limit: limit})); + return false; + } + $('').appendTo(this).click(); + }, + eDeleteFile: function(e) { + var $file = $(this).parents('.cd-issue-file'); + if ($file.hasClass('file-loading')) { + var xhr = $file.data('xhr'); + if (xhr) { + xhr.aborted = true; + xhr.abort(); + } + } + $file.slideHide('remove'); + $file.parents('.bt-issue-files').trigger('update'); + }, + cleanFiles: function(context) { + var $files = $('.bt-issue-files', context); + $('.cd-issue-file.file-loading', context).each(function() { + var xhr = $file.data('xhr'); + if (xhr) { + xhr.aborted = true; + xhr.abort(); + } + }); + $files.empty().trigger('update'); + } +}; + +var Dialog = { + init: function() { + var $cont = $('.bt-dialog'); + var $form = $('.cd-comment-form'); + $('.bt-form-input .cd-form-control', $form).on('focus blur keyup change input', DSA.eUpdateField); + $('.bt-attach-btn', $form).on('focus blur', DSA.eUpdateField); + $('input.checkbox,input.radio', $form).on('focus blur', DSA.eUpdateField); + $('.bt-issue-files', $form).on('update', DSA.onFilesUpdate); + $form.on('change.curPage', '.file-upload', Upload.eSelectFile); + $form.on('click.curPage', '.bt-attach-btn', Upload.eAttachFile); + $form.on('click.curPage', '.file-upload', stopImmediatePropagation); + $form.on('click.curPage', '.cd-issue-file-close', Upload.eDeleteFile); + $('.bt-form-input > div.input[contenteditable]', $form).initTextarea(); + $('.cd-input-field > div.input[contenteditable]', $form).initTextarea(); + $('.bt-issue-files', $form).trigger('update'); + + $($cont).on('click.curPage', '.bt-init-dialog-btn', Dialog.eInitDialog); + $($cont).on('submit.curPage', '.cd-comment-form', Dialog.eSubmitCommentForm); + $($cont).on('paste.curPage', '.cd-comment-form', Upload.eFilePaste); + $($cont).on('change.curPage', '.cd-dialog-options .radio', Dialog.eSelectOption); + }, + updateOptions: function(e) { + $('.cd-dialog-options').slice(0, -1).each(function() { + $(this).addClass('disabled'); + $('.radio', this).prop('disabled', true); + }); + }, + updateMessages: function(result) { + $('.cd-comment-form').toggleClass('hide', !result.need_text_reply); + $('.cd-comment-input-wrap').toggleClass('with-attach', !!result.need_file_reply); + $('.bt-restart-form').toggleClass('hide', !result.need_restart); + if (result.messages_html) { + var $comments = $(result.messages_html); + var $commentsWrap = $('.bt-comments'); + if (result.replace) { + $commentsWrap.empty(); + } + $comments.appendTo($commentsWrap); + Dialog.updateOptions(); + $('.bt-comments .bt-comment').last().scrollIntoView({position: 'top', padding: -1}); + } + }, + eInitDialog: function(e) { + e.preventDefault(); + var $button = $(this); + var init_hash = $button.attr('data-init-hash'); + if ($button.prop('disabled')) { + return false; + } + $button.prop('disabled', true); + DSA.apiRequest('initDialog', { + init_hash: init_hash + }, function(result) { + $button.prop('disabled', false); + if (result.error) { + return showAlert(result.error); + } + location.reload(); + }); + return false; + }, + eSelectOption: function(e) { + e.preventDefault(); + var $form = $(this.form); + if ($form.hasClass('disabled')) { + return false; + } + var msg_id = $form.field('msg_id').value(); + var opt = $form.field('opt').value(); + if ($form.data('submiting')) { + return false; + } + $form.data('submiting', true); + $form.addClass('disabled'); + $('.radio', $form).prop('disabled', true); + DSA.apiRequest('selectDialogOption', { + msg_id: msg_id, + opt: opt + }, function(result) { + $form.data('submiting', false); + if (result.error) { + $form.removeClass('disabled'); + $('.radio', $form).prop('disabled', false); + return showAlert(result.error); + } + Dialog.updateMessages(result); + }); + return false; + }, + eSubmitCommentForm: function(e) { + e.preventDefault(); + var form = this; + var $form = $(this); + var $button = $('.cd-submit-issue-btn', this); + var attach_btn = $('.bt-attach-btn', this).get(0); + var text = $form.field('text').value(); + var files = $(this.file).values(); + if ($('.file-loading', this).size()) { + showAlert(l('WEB_UPLOADING_IN_PROGRESS')); + return false; + } + if (!text.length && !files.length) { + $form.field('text').focus(); + return false; + } + var limit = DSA.options.fileLimit || 1; + if (files.length > limit) { + showAlert(l('WEB_TOO_MANY_FILES', {limit: limit})); + return false; + } + if ($form.data('submiting')) { + return false; + } + $form.data('submiting', true); + $button.prop('disabled', true); + DSA.apiRequest('sendDialogMessage', { + text: text, + files: files.join(';') + }, function(result) { + $form.data('submiting', false); + $button.prop('disabled', false); + if (result.error) { + return showAlert(result.error); + } + $form.reset(); + Upload.cleanFiles($form); + Dialog.updateMessages(result); + }); + return false; + } +};