/*
	===========================================================================================
	= CSS файл стандартного описания классов и тегов для всех страниц сгенерированных движком =
	===========================================================================================
	= /system/style/css/standard/all_pages.css
*/


/* Классы ошибок и состояний (намерено без префикса pl_) */
	/* вывод чего-то связанного с ошибкой (ошибка) */
	.err, .err *, .err a {color: red !important;}
	/* вывод чего-то связанного с успешнностью (успех) */
	.ok, .ok *, .ok a {color: green !important;}
	/* вывод чего-то связанного с чем-то неважным */
	.off, .off *, .off a, .pl_body_templates_admin .off, .pl_body_templates_admin .off *, .pl_body_templates_admin .off a {color: #999;}
	
/* предопределенные классы курсовров */
.pl_hand, .pl_cursor_pointer {cursor: pointer;}

/* Линии отделители */
.pl_hr {border-bottom: 1px solid #999; margin: 7px 0; height: 1px;}

/* Для эмуляции ссылок */
.pl_link {cursor: pointer;}
.pl_link:hover {text-decoration: underline;}

/* объекты с опеределенным display */
.pl_ib {display: inline-block !important;}
.pl_ib_top {display: inline-block; vertical-align: top;}
.pl_ib_middle {display: inline-block; vertical-align: middle;}
.pl_ib_bottom {display: inline-block; vertical-align: bottom;}
.pl_block {display: block !important;}
.pl_inline {display: inline !important;}
.pl_ib_box > * {display: inline-block;}

/* Стандартное обтекание */
.pl_left {float: left !important;}
.pl_right {float: right !important;}

/* Стандартный текстовый блок */
.pl_txt {overflow: hidden; text-align: justify; text-align-last: left;}

/* Опредленное написание текста (заглавные или строчные буквы) */
.pl_strtoupper {text-transform: uppercase;}
.pl_strtlower {text-transform: lowercase;}

/* Стандартное выравнивание текста */
.pl_text_left {text-align: left !important;}
.pl_text_right {text-align: right !important;}
.pl_text_center {text-align: center !important;}
.pl_text_justify, .pl_text_page {text-align: justify !important;}

/* Вертикальное выравнивание */
.pl_v_align_top {vertical-align: top;}
.pl_v_align_middle {vertical-align: middle;}
.pl_v_align_bottom {vertical-align: bottom;}

/* Стандартный отступы */
.pl_margin {margin: 15px 0;}
.pl_margin_top {margin-top: 15px !important;}
.pl_margin_bottom {margin-bottom: 15px !important;}

/* Стандартные отмены отступов */
.pl_margin_not_top {margin-top: 0 !important;}
.pl_margin_not_bottom {margin-bottom: 0 !important;}

/* указание, содержимое блока не должно вылазить за пределы блока */
.pl_overflow {overflow: hidden;}
.pl_br_end:after {display: block; width: 100%; height: 0; overflow: hidden; content: "";}

/* Для указания позиционирования */
.pl_position_absolute {position: absolute;}
.pl_position_relative {position: relative;}
.pl_position_fixed {position: fixed;}

/* выключенный элемент (не отображается и не влияет на страницу). Класс pl_slip_load снимается с элементов после полной загрузки страницы, см JS в файле /system/js/system/pl.js */
.pl_slip, .pl_slip_box > .el, .pl_slip_load {display: none !important;}

/* Для создания иконок */
.pl_ico, .pl_ico_middle {display: inline-block; background-position: center; background-repeat: no-repeat;}
.pl_ico_middle {vertical-align: middle;}

/* классы для симуляции работы некоторых тегов */
.pl_b {font-weight: 700 !important;}

/* этот элемент будет открывать расположенное в нем изображение в лайтбоксе */
.pl_lightbox_link {display: inline-block;}

/* элементы только для чтения (обычно, только для элементов форм) */
[readonly] {background-color: #f2f2f2; color: #666;}
/* ошибка вывода input */
input.err, select.err, textarea.err {border:1px solid red;}
/* успех вывода input */
input.ok, select.ok, textarea.ok {border:1px solid green;}

/* блок-обертка HTML облогороженного загрузчика файла. см pl_form::file_html */
.pl_html_file_box {display: inline-block; user-select:none; cursor: pointer;}
.pl_html_file_box > .label {display: inline-block; z-index: 2;}
.pl_html_file_box > input[type=file] {opacity: 0; pointer-events: none; user-select: none; display: none;}

/* Постраничность (пагинация, номера страниц) */
.pl_pagination > * {background-color: #1a2c87; display: inline-block; margin-right: 7px; padding: 7px;}
.pl_pagination > * > * {color: #000;}
.pl_pagination > *.pl_now > * {color: #fff;}


/* Для работы скролов для таблиц */
.pl_table_box {max-width: 100%; overflow: auto; display: inline-block;}

/* Стандартные таблицы с контентом */
table.pl_standard {border-collapse: collapse;}
table.pl_standard td, table.pl_standard th {vertical-align: middle; padding: 3px; border: 3px solid #ededed;}
table.pl_standard td.pl_number, table.pl_standard th.pl_number {text-align: right;}
table.pl_standard td.pl_r, table.pl_standard th.pl_r {text-align: right;}

/* элементы форм */
.pl_form_box > .el, .pl_form_box_el {margin-bottom: 7px;}
.pl_form_box > .el, .pl_form_box_el, .pl_submit_box {margin-top: 0.5rem; margin-bottom: 0.5rem;}
.pl_form_box > .el:first-child {margin-top: 0;}
.pl_form_box > .el > .pl_label, .pl_form_box_el > .pl_label {display: block; font-weight: bold;}
.pl_submit, .pl_button {display: inline-block; cursor: pointer; text-align: center;}

/* Вывод параметров */
.pl_param_box > .el, .pl_param_box_el {border-bottom: 1px solid #f2f2f2; margin-bottom: 7px; padding-bottom: 7px;}
.pl_param_box > .el > .pl_label, .pl_param_box_el > .pl_label {display: block; font-weight: bold;}
.pl_param_box > .pl_link_box {text-align: right; border: none;}
@media (max-width: 768px) {
	.pl_param_box > .el, .pl_param_box_el {word-wrap: break-word;}
}

/* Классы для вывода частично скрытых данных (не уместившиеся данные заканчиваются многоточием) */
.pl_hidden_100px {text-overflow: ellipsis; display: inline-block; overflow: hidden; width: 100px;}

/* Сокрытие или частичное сокрытие блоков отображаемых на телефонах */
@media (max-width: 767px) {
	.pl_hidden_mobile {text-overflow: ellipsis; display: inline-block; overflow: hidden; width: 90%;}
	.pl_mobile_slip {display: none; visibility: hidden;}
}

/*
	Настройки отображения на устройствах разной ширины экрана:
	* от 1200 - l
	* 767 - 1199 - m
	* до 767 - s
*/
.pl_block_l, .pl_block_m, .pl_block_s {display: none; visibility: hidden;}
.pl_ib_l, .pl_ib_m, .pl_ib_s {display: none; visibility: hidden;}
.pl_inline_l, .pl_inline_m, .pl_inline_s {display: none; visibility: hidden;}
@media (min-width: 1200px) {
	.pl_block_l {display: block; visibility: visible;}
	.pl_ib_l {display: inline-block; visibility: visible;}
	.pl_inline_l {display: inline; visibility: visible;}
	.pl_box_2 > .el, .pl_box_2_el {display: inline-block; width: 50%;}
	.pl_box_3 > .el, .pl_box_3_el {display: inline-block; width: 33.33%;}
	.pl_box_4 > .el, .pl_box_4_el {display: inline-block; width: 25%;}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.pl_block_m {display: block; visibility: visible;}
	.pl_ib_m {display: inline-block; visibility: visible;}
	.pl_inline_m {display: inline; visibility: visible;}
	.pl_box_2 > .el, .pl_box_2_el {display: inline-block; width: 50%;}
	.pl_box_3 > .el, .pl_box_3_el {display: inline-block; width: 50%;}
	.pl_box_4 > .el, .pl_box_4_el {display: inline-block; width: 33.33%;}
}
@media (max-width: 767px) {
	.pl_block_s {display: block; visibility: visible;}
	.pl_ib_s {display: inline-block; visibility: visible;}
	.pl_inline_s {display: inline; visibility: visible;}
	.pl_box_4 > .el, .pl_box_4_el {display: inline-block; width: 50%;}
}


/* Для обрезания текста */
.pl_clip {white-space: nowrap; overflow: hidden; padding: 5px; text-overflow: ellipsis;}


/* Скрывающийся / раскрывающийся блок */
.pl_box_slip > .pl_header {cursor: pointer;}
.pl_box_slip.close > .pl_content {display: none; visibility: hidden;}


/* * */


/* Блоки "для админов" в контент зоне сайта */
.pl_admin_box, .pl_admin_box.pl_content_box {background-color: #dedede;}
.pl_admin_box.pl_param_box > .el, .pl_admin_box.pl_form_box > .el {border-color: #999;}


/* завершающая отбивка в сессионных переменных */
#pl_body_session_message_in .beating_bottom {color: #999;}