/* Общие стили */
html,body,div,span,h1,h2,h3,p,a,img,strong,ul,ol,li,form,label,table,tbody,thead,tr,th,td{margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-size:100%}
html,body{background:#fff;color:#444;font-family:tahoma,arial,sans-serif;font-size:10pt;height:100%;width:100%}
h1,h2{font-family:trebuchet ms,georgia,sans-serif;font-weight:bold;overflow:hidden;font-weight:normal;color:#444}
h1{font-size:18pt;margin-bottom:16px}
h2{font-size:16pt;margin-bottom:15px}
h3{font-size:12pt;font-weight:bold;margin-bottom:10px}
p{margin-bottom:10px;margin-top:5px}
a{color: #555;text-decoration:underline}
a:hover{color:#999}
input[type=text],input[type=password],input[type=submit],input[type=button],input[type=file],textarea,select{border:1px solid #b2b2b2;background:#fff;color:#444;font-family:tahoma,arial,sans-serif;font-size:10pt;padding:2px; border-radius: 2px}
input[type=checkbox]{vertical-align:middle}
textarea{resize:none; padding:2px}
input[type=submit],input[type=button]{background-color:#f0f0f0;padding:4px 5px}
input[type=submit]:hover{background-color:#ddd}
input[type=button]:hover{background-color:#ddd}
hr.tight { margin: 0; height: 1px; border: none; background-color: black; }
.readonly { background-color: #eee !important; }

/* Всплывающие сообщения */
.message-ok { display: none; color: green; border: 1px solid green; border-radius: 3px; padding: 5px }

/* Классы с иконками кнопок */
.login-button { background: url('../images/login.png') left center no-repeat !important }
.new-button { background: url('../images/add.png') left center no-repeat !important }
.new-sub-button { background: url('../images/add_sub.png') left center no-repeat !important }
.edit-button { background: url('../images/edit.png') left center no-repeat !important }
.copy-button { background: url('../images/copy.png') left center no-repeat !important }
.delete-button { background: url('../images/delete.png') left center no-repeat !important }
.clear-button { background: url('../images/clear.png') left center no-repeat !important }
.save-button { background: url('../images/save.png') left center no-repeat !important }
.apply-button { background: url('../images/apply.png') left center no-repeat !important }
.cancel-button { background: url('../images/cancel.png') left center no-repeat !important }
.info-button { background: url('../images/info.png') left center no-repeat !important }
.default-button { background: url('../images/default.png') left center no-repeat !important }
.reload-button { background: url('../images/reload.png') left center no-repeat !important }
.file-button { background: url('../images/file.png') left center no-repeat !important }
.upload-button { background: url('../images/upload.png') left center no-repeat !important }
.export-button { background: url('../images/export.png') left center no-repeat !important }
.export-button-1 { background: url('../images/export_1.png') left center no-repeat !important }
.export-button-2 { background: url('../images/export_2.png') left center no-repeat !important }
.export-button-pos { background: url('../images/export_pos.png') left center no-repeat !important }
.select-all-button { background: url('../images/small_cb_checked_hover.png') left center no-repeat !important }
.clear-all-button { background: url('../images/small_cb_hover.png') left center no-repeat !important }
.filter-button { background: url('../images/search.png') left center no-repeat !important }
.filter-reset-button { background: url('../images/cancel.png') left center no-repeat !important }
.excel-button { background: url('../images/excel.png') left center no-repeat !important }
.run-button { background: url('../images/run.png') left center no-repeat !important }
.up-button { background: url('../images/up.png') left center no-repeat !important }
.down-button { background: url('../images/down.png') left center no-repeat !important }
.data-button { background: url('../images/data.png') left center no-repeat !important }
.bulb-button { background: url('../images/bulb.png') left center no-repeat !important }

/* Стили для базовых элементов страниц */
.wrap { overflow: auto; position: fixed; top: 30px; width: 100%; bottom: 15px; }
.content { }
.header-admin { height:30px; background:#777; position: fixed; margin: 0; top: 0; width: 100%; z-index: 100; }
.footer-admin { background:#ededed url('../images/footer-bg.png') left top repeat-x; height: 15px; padding-top: 1px; text-align: center; position: fixed; bottom: 0; width: 100%; font-size: 10px}

/* Рамки */
.frame { padding: 10px;border: 1px solid #ccc;border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px }
.frame-2 { padding: 5px; border: 1px solid #eee !important; border-radius: 3px !important; -moz-border-radius: 3px !important; -webkit-border-radius: 3px !important }
.frame-2-1 { padding: 5px; border: 1px solid #b2b2b2 !important; border-radius: 2px !important; -moz-border-radius: 2px !important; -webkit-border-radius: 2px !important }
.frame-3 { padding: 10px;border: 1px solid #ccc;border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px; -webkit-box-shadow: 0px 0px 15px rgba(50, 50, 50, 0.75); -moz-box-shadow: 0px 0px 15px rgba(50, 50, 50, 0.75); box-shadow: 0px 0px 15px rgba(50, 50, 50, 0.75) }

/* Панель инструментов (обычная и большая) */
.toolbar, .toolbar-large { background-color: #F5F5F5; padding: 5px; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; display: flex; align-items: center; }
.toolbar { height: 30px }
.toolbar-large button { font-size: 0.9em !important }
.toolbar-button { height: 30px; width: 32px}
.toolbar input[type="text"] {height: 22px; padding: 2px 3px}
.toolbar .custom-command-button  { width: auto; }

/* Форма авторизации */
.authenticate-form-container {display: flex; height: 100%;}
.authenticate-form{width:320px;overflow:hidden;position:relative;padding:10px 20px 5px 20px;margin: auto auto;border:1px solid #ccc;border-radius:4px;-moz-border-radius:4px;-khtml-border-radius:4px}
.authenticate-form a{text-decoration:underline}
.authenticate-form a:hover{text-decoration:none}
.authenticate-form h1 {text-align:center}
.authenticate-form input[type=checkbox] { display: inherit !important; }

/* Инфопанель */
.account-info {position:absolute;right:15px;top:5px;color:#fff;padding:5px 0 5px 0;background:#bbb;border:1px solid #777;border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px}
.account-info-admin {top:1px !important}
.account-info a{color:#fff;text-decoration:underline}
.account-info a:hover{text-decoration:none}
.account-info li{display:block;float:left;padding:0 10px 0 10px;color:#fff}
.account-info .signout a {padding-left:20px;padding-bottom:2px;height:14px}
.account-info .signout a{background:url('../images/logout.png') left center no-repeat}
.account-info .signout {border-right:none;}

/* Главное меню  */
.main-menu-container { padding-left: 30px }
.main-menu-nav { list-style: none; }
.main-menu-nav:before, .main-menu-nav:after { content: " ";  display: table; }
.main-menu-nav:after { clear: both; }
.main-menu-nav ul { list-style: none; width: 9em; }
.main-menu-nav a { padding: 5px 10px; color:#fff; text-decoration: none; }
.main-menu-nav li { position: relative; }
.main-menu-nav > li { float: left; height: 30px; transition: 0.2s; }
.main-menu-nav > li > .parent { background-image: url("../images/down_arrow.png"); background-repeat: no-repeat; background-position: right; }
.main-menu-nav li li { width: 200px; box-shadow: 0px 0px 10px #222; }
.main-menu-nav > li li > .parent { background-image: url("../images/right_arrow.png"); background-repeat: no-repeat; background-position: 95% 50%; }
.main-menu-nav > li > a { display: block; }
.main-menu-nav > li > a:hover { display: block; color: #FFF6BF; }
.main-menu-nav > li:hover { background: #bbb; }
.main-menu-nav > li.active { background: #bbb; }
.main-menu-nav li  ul { position: absolute; left: -9999px; }
.main-menu-nav > li.hover > ul { left: 0; }
.main-menu-nav li li.hover ul { left: 100%; top: 0; }
.main-menu-nav li li a { display: block; background: #eee; position: relative; z-index: 100; border-bottom: 1px solid #969696; border-left: 1px solid #969696; border-right: 1px solid #969696; color: #444; }
.main-menu-nav li li a:hover { background-color: #bbb; color: white; }
.main-menu-nav li li:first-child { border-top: 1px solid #969696; }
.main-menu-nav li li li a { background:#eee; z-index:200; border-bottom: 1px solid #969696; border-left: 1px solid #969696; border-right: 1px solid #969696; color: #444; }
.main-menu-nav li li li a:hover { background-color: #bbb; color: white; }
.main-menu-nav li li li:first-child { border-top: 1px solid #969696; }

/* Таблица с тремя колонками для форм редактирования (h_list) */
.form-table { /*table-layout: fixed;*/ }
.form-table .left-column { text-align: right; padding-right: 5px; width: 30%; font-style: italic; }
.form-table .right-column { text-align: left; }
.form-table .center-column { text-align: center; vertical-align: middle; }

/* Таблица с данными */
.data-table { border: 1px solid #eee; }
.data-table th { text-align: center; font-weight: bold; background-color: #eee; }
.data-table td { text-align: center;}
.data-table tr:nth-child(even) td { text-align: center; background-color: #f9f9f9; }
.data-table .total { font-weight: bold; background-color: #eee !important; }
.data-table td.left { text-align: left !important;}
.data-table td.right { text-align: right !important;}
.data-table td.bold { font-weight: bold; width: 200px; }
.data-table.wide { width: 100%; }

/* Страница статуса и виджеты */
.status-container {}
.status-container .top-block { height: auto; clear: both; }
.status-container .bottom-block { height: auto; clear: both;}
.status-container .left-area { width: 50%; height: 100%; float: left; }
.status-container .right-area { width: 50%; height: 100%; float: left; }
.status-container .widget { border: 1px solid #969696; border-radius: 3px; height: 100%; margin: 5px 5px 0 5px; padding: 3px; position:relative; overflow: hidden; }
.status-container .widget .header { background-color: #969696; background: linear-gradient(to top, #c6c6c6, #969696); color: white; font-weight: bold; margin: -3px -3px 0 -3px; padding: 3px }

/* Селектор с вертикальным меню */
.app-selector { border-radius: 3px; border: 1px solid #efefef; list-style: none; }
.app-selector .ui-selectee { padding: 2px 5px; cursor: pointer; }
.app-selector .ui-selecting { background: #efefef; }
.app-selector .ui-selected, .app-selector .ui-selected span  { background: #b2b2b2; color: white !important; }

/* Селектор с чекбоксами */
.app-checkbox {padding: 0; font-weight: inherit; font-size: 12px; width: 96%; display: inline-block; vertical-align: middle }
.app-highlight-checkbox { color: white; background-color: #5cb85c !important; border-radius:2px;-moz-border-radius:2px;-khtml-border-radius:2px;}

/* Ссылки для выбора диапазона дат */
.date-period-links { display: inline }
.date-period-links a { text-decoration: none !important; border-bottom-style: dashed; border-bottom-width: 1px; margin: 0 5px; font-size: 12px  }

/* Режим "fullscreen" для ACE Editor */
.fullScreen .fullScreen-editor { height: auto!important; width: auto!important; border: 0; margin: 0; position: fixed !important; top: 0; bottom: 0; left: 0; right: 0; z-index: 10000 }
.fullScreen { overflow: hidden }
.fullScreen-hint { position: absolute; right: 2px; top: 2px; z-index: 10001; opacity: 0.5; font-size: 8px; }

/* Модифицированный jqGrid + проктуртка  */
.ui-jqgrid .ui-jqgrid-bdiv {  overflow: hidden !important; }
.ui-state-highlight { background: #eee !important; border-color: #ddd !important }
.ui-widget-content .jqgroup { background: #eee !important }
.ui-jqgrid-htable th div { height: auto !important; padding: 1px; }
.ui-jqgrid tr.jqgrow td { white-space: normal !important; position: relative; }
.scrollable-grid .ui-jqgrid-htable th div { height: auto !important; padding: 1px; }
.scrollable-grid .ui-state-highlight { background: #efefef !important; border-color: #ddd !important }
.scrollable-grid .ui-jqgrid-bdiv { overflow-x: hidden !important; overflow-y: auto !important }
.ui-jqgrid .inplace-edit-field { width: 100%; box-sizing: border-box; text-align: center; }
.ui-jqgrid tr.jqgrow td { font-size:0.98em; word-wrap: break-word; }

/* Модифицированные общие классы jQueryUI  */
.ui-dialog .ui-dialog-titlebar-close { display: none !important }
.ui-accordion .ui-accordion-content { padding: 5px !important }
.ui-button { font-size: 1em !important;}
.ui-tooltip { white-space: pre-line; }
.ui-tabs .ui-tabs-nav .ui-tabs-anchor { padding: .2em .5em !important; display: flex; align-items: center; }
.ui-tabs .ui-tabs-nav .ui-tabs-anchor img { margin-right: .4em; }
.ui-dialog .ui-dialog-buttonpane {padding: 0 1em !important; }
.ui-dialog .ui-dialog-content { padding: 1em !important; }
.ui-widget-overlay { opacity: 0.5 !important; }
.ui-tabs .ui-tabs-panel { padding: 0.4em !important; }
div.ui-widget { font-size: 13px; }


/* Модифицированные компоненты jQueryUI timepicker и datepicker, а также дополнительные классы для контролов к ним */
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; display:none}
.ui-timepicker-div dl { text-align: left; }
.ui-timepicker-div dl dt { height: 25px !important; margin-bottom: -25px; }
.ui-timepicker-div dl dd { margin: 0 10px 10px 65px;}
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
.ui-timepicker-rtl{ direction: rtl; }
.ui-timepicker-rtl dl { text-align: right;}
.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px;}
.datetimepicker{width:110px !important; padding-right:20px !important;background:#fff url('../images/clock.png') 114px center no-repeat !important}
.datepicker{width:80px !important; padding-right:20px !important; background:#fff url('../images/calendar.png') 84px center no-repeat !important}

/* Вертикальные tabs*/
.ui-tabs-vertical { width: 100%; }
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 24%; }
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
.ui-tabs-vertical .ui-tabs-nav li a { display:block; font-size: 11px; width: 99%; }
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; }
.ui-tabs-vertical .ui-tabs-panel { padding: 0 !important; float: right; width: 75%;}

/* Модифицированный чекбокс */
.checkbox-container { display: block; position: relative; padding-left: 25px; cursor: pointer; line-height: 25px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.checkbox-container input { display: none; }
.checkbox-container .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background: url(../images/small_cb.png) center center no-repeat; }
.checkbox-container:hover input ~ .checkmark { background: url(../images/small_cb_hover.png) center center no-repeat; }
.checkbox-container input:checked ~ .checkmark { background: url(../images/small_cb_checked.png) center center no-repeat; }
.checkbox-container:hover input:checked ~ .checkmark { background: url(../images/small_cb_checked_hover.png) center center no-repeat; }
.checkbox-container .container input:checked ~ .checkmark:after { display: block; }

/* Select2 с выбором нескольких элементов */
.select2 .select2-search__field { width: 250px !important; }
.select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #bbb !important; max-height: 100px; overflow-y: auto }
.select2-container--default .select2-selection--multiple .select2-selection__choice { padding: 2px 5px !important; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 0 5px 4px 5px !important; }
.select2-container--default .select2-selection--single { border-radius: 2px !important; }
.select2-selection__rendered { line-height: 22px !important; }
.select2-container .select2-selection--single { height: 24px !important; }
.select2-selection__arrow { height: 22px !important; }

/* Отчеты */
.report-control-container { display: flex; align-items: center; }
.report-control-label { display: inline-flex; width: 150px; padding: 5px; justify-content: right; }
.report-control-area { display: inline-flex; text-align: left; min-width: 300px; }
.report-control-hint { display: inline-flex; text-align: left; font-size: 0.8em; padding: 5px; }
.report-control-divider { position: relative; display: inline-flex; width: 100%; justify-content: center; }
.report-control-divider div { width: 100%; height: 50%; border-bottom: 1px solid silver; position: absolute; z-index: 1; }
.report-control-divider span { background-color: #F3F5F6; color: silver; padding: 5px 10px; z-index: 2; border-radius: 3px; }
.report-control { width: 100%; }

/************************************************* Разное *************************************************/
/* Контейнер для текстового поля с кнопкой */
.field-with-button { display: inline-flex; }
.field-with-button input[type=text] { display: inline-flex; width: 200px; margin-right: 0.1em; background: #eee; }
.field-with-button button { padding: 0.1em 0.1em !important; }

/* Контейнер для текста Viber в списке */
.vbr-text-grid-container { position: relative; padding-right: 35px; min-height: 35px; }
.vbr-text-grid-container .type { position: absolute; top: 1px; right: 1px; font-size: 0.8em; color: white; border-radius: 2px; padding: 1px 2px; opacity: 0.9; }
.vbr-text-grid-container .transactional { background: black; }
.vbr-text-grid-container .advertising { background: green; }
.vbr-text-grid-container .icons { position: absolute; bottom: 1px; right: 1px; width: 35px; display: flex; align-items: flex-end; }
.vbr-text-grid-container .icon { display: flex; }
.vbr-text-hint .title { font-weight: bold !important; padding-bottom: 3px; }

/* Контейнер для даты/времени сообщений в спсике */
.msg-dates-grid-container { position: relative; }
.msg-dates-grid-container div { cursor: help; }
.msg-dates-grid-container div:nth-child(1) { color: silver; }
.msg-dates-grid-container div:nth-child(2) { color: gray; }
.msg-dates-grid-container div:nth-child(3) { color: black; }
