html, body {
	margin: 0;
	padding: 0;
	height: 100%;
}
body {
	font-family: "Times New Roman";
	font-size: 16px;
}

/* Главная обёртка */
#wrap {
	position: relative;
	max-width: 1300px;
	box-sizing: border-box;
	margin: 0 auto;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

/* Контейнер верхнего меню */
#layout_top {
	flex-shrink: 0;
	/* margin-bottom: 5px; */
	padding: 0;
	height: 70px;
	background: url("/public/head_bg.png") repeat-x;
}
#layout_top .menu_top {
	height: 100%;
	vertical-align: middle;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: left;
	align-items: center;
}
#menu_top_right {
	display: flex;
}
#layout_top .menu_top .aButton {
	background-color: rgba(255, 255, 255, 0.9);
	border: 1px solid #cecece;
	border-radius: 10px;
	font-size: 1.5rem;
	margin: 0 0 0 10px;
	padding: 3px 10px 0 10px;
	text-decoration: none;
	cursor: pointer;
}

#layout_top .menu_top .aButton:hover {
	background-color: #ffdf86;
}

#layout_top .menu_top > div {
	/* див с кнопкой меню */
	margin-left: auto;
	margin-right: 10px;
}

/* Блок с содержимым (меню2 и контент) */
#layout_boxes {
	margin-top: .5rem;
	padding: 0 .2rem;
}
/* #layout_boxes {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
} */

/* Меню с кнопками (создать/редактировать/назад), т.е. левая колонка */
/* #layout_box_1 {
	box-sizing: border-box;
	flex-grow: 0;
	flex-shrink: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin-top: 0;
	padding: .3rem ;
	background-color: grey;	
}
#layout_box_1:empty {
	display: none;
} */

/* пункты меню слева */

.menu2 {
	background-color: whitesmoke;
	font-size: 1.1rem;
	padding: .2rem;
	color: black;
	border: 1px solid #e4e6e7;
	text-decoration: none;
	border-radius: 2px;
	cursor: pointer;
}

.menu2_selected {
	background: linear-gradient(rgba(38, 181, 240, 0), #26B5F0);
}

.menu2:hover {
	background-color: #dcdcdc;
}
.menu2_green {
	color: #1c662a;
}
.menu2_red {
	color: #9a2d29;
}

/* Правая колонка */
/* #layout_box_2 {
	padding: 3px 7px;
	flex-grow: 1;
	background-image: url("/public/bg_right.png");
	background-position: left;
	background-repeat: repeat-y;
}
#layout_box_2 > div {
	margin-bottom: 5px;
	box-sizing: border-box;
} */

/* Контейнер с кнопкой "назад" и крошками */
#layout_sub_box_1 {
	display: flex;
	justify-content: start;
}
#layout_sub_box_1 > div:first-child {
	margin-right: .8rem;
}
#layout_sub_box_1 > div:first-child:empty {
	display: none;
}

/* всплывающее меню по кнопке-гамбургер */
#popup_menu {
	display: none;
	max-width: 75%;
	/* min-height: 25ch; */
	background-color: whitesmoke;
	box-shadow: 3px 3px 3px 1px rgba(0, 0, 0, 0.4);
	padding: .4rem 1rem;
	position: absolute;
	left: 0;
	top: 0;
	border-bottom-left-radius: 1rem;
	border-bottom-right-radius: 1rem;
	border: #cecece 1px solid none #cecece 1px solid #cecece 1px solid;
}
/* div с кнопкой закрытия */
#popup_menu div {
	display: block;
	text-align: right;
}
#popup_menu label {
	padding: .1rem;
	border: 1px grey solid;
	border-radius: 5px;
	display: inline-block;
}
#popup_menu label img {
	display: block;
}
#popup_menu label:hover{
	background-color: #ffdf86;
}
#popup_menu label img{
	width: 1rem;
}
/* пункты меню */
#popup_menu a {
	text-decoration: none;
	color: black;
	cursor: pointer;
}
#popup_menu > ul > li > a:hover {
	text-decoration: underline;
	text-decoration-thickness: .25rem;
	text-decoration-color: rgb(189, 189, 189);
	color: black;
	
}
#popup_menu ul {
	list-style-type: none;
}
#popup_menu > ul {
	margin: 0;
	padding: 0;
	font-size: 1.1rem;
}
#popup_menu > ul > li {
	padding: .5rem;
}
#popup_menu > ul > li:not(#popup_menu > ul > li:last-child) {
	border-bottom: 2px dotted gainsboro;
}
#popup_menu > ul > li > ul {
	margin-top: .8rem;
	display: flex;
	flex-wrap: wrap;
	padding-left: 1rem;
}
#popup_menu > ul > li > ul > li {
	font-size: 1rem;
	margin-top: .2rem;
	margin-right: 1rem;
	padding: 0;
	display: block;
	border: 1px solid gainsboro;	
}
#popup_menu > ul > li > ul > li > a{
	display: block;
	margin: 0rem;
	padding: .5rem;
}
#popup_menu > ul > li > ul > li > a:hover{
	background-color: beige;
}


#menu_switcher {
	display: none;
}
#menu_switcher:checked + #popup_menu {
	display: block;
}

@media all and (min-width: 800px) {
	#wrap {
		padding: 0 1rem;
	}

	#layout_boxes {
		flex-grow: 1;
		/* display: flex;
		flex-direction: row;
		justify-content: flex-start; */
	}

	#layout_box_1 {
		box-sizing: border-box;
		flex-grow: 0;
		flex-basis: 180px;
		flex-shrink: 0;
		align-items: stretch;
		display: block;
		background-color: transparent;

		margin-right: 10px;
		margin-top: 0;
		background-image: url("/public/bg_left.png");
		background-position: right;
		background-repeat: repeat-y;
		padding-left: 5px;
		padding-right: 5px;
	}

	.menu2 {
		display: block;
		margin-bottom: 5px;
		/* border-bottom: 1px solid #26B5F0; */
		font-size: 1.1rem;
		padding: 3px 7px;
		cursor: pointer;
	}
}


/* Хлебные крошки */
#layout_breadcrumb {}
#layout_breadcrumb a {
	text-decoration: none;
	font-size: 1.2rem;
	color: black;
}
#layout_breadcrumb a:hover {
	background-color: #e7e7e7;
	color: #2169f0;
}
#layout_breadcrumb a::before {
	content: "/ ";
	vertical-align: middle;
	font-weight: bold;
	color: #2169f0;
	margin-right: 5px;
	margin-left: 5px;
}

/* Кнопки для содержимого */
#layout_buttons {
	display: flex;
	align-items: flex-start;
}
#layout_buttons a {
	align-content: center;
	display: block;
	margin-right: 5px;
	background-color: #a86a18;
	font-size: 1.1rem;
	padding: .2rem;
	color: #ffffff;
	border: 1px solid #6b4109;
	text-decoration: none;
	border-radius: 2px;
	cursor: pointer;
}
#layout_buttons a:hover {
	background-color: #d38928;
}
#layout_buttons:empty {
	display: none;
}


/* Содержимое */
#layout_content h1, #layout_content h2, #layout_content h3 {
	color: #1d3e93;
	margin-top: .8rem;
	margin-bottom: .6rem;
	/*border-bottom: #e7e7e7 1px solid;*/
}

/* отступ снизу */
.spaceBottom20 {
	margin-bottom: 20px;
}


/* Навигационная кнопка */
/*
.btnNav {
	display: block;
	margin-bottom: 5px;
	text-decoration: none;
	color: black;
	background-color: #efefef;
	border: 1px solid #1d3e93;
	border-radius: 3px;
	font-size: 1.1rem;
	padding: 3px 7px;
	cursor: pointer;
}

.btnNav:hover {
	background-color: darkgrey;
}
.btnNavGreen {
	color: #1c662a;
	background-color: #efefef;
	border: 1px solid #007c1f;
}
.btnNavGreen:hover {
	background-color: #5ae36c;
}
.btnNavRed {
	color: #9a2d29;
	background-color: #efefef;
	border: 1px solid #9a2d29;
}
.btnNavRed:hover {
	background-color: #e33b3b;
	color: #ff9c99;
}
*/

/* Блок сообщений всегда вверху родителя> */
#alf_messages_box{
	position: absolute;
	/*height: 100%;*/
	left:0;
	right:0;
	top:0;
	bottom:0;
	pointer-events: none;
	z-index: 99999;
	/*background-color: rgba(234, 79, 240, 0.5);*/
}
#alf_messages {
	position: sticky;
	top: 1em;
	pointer-events: auto;
	margin: 10px;
	background-color: rgba(255, 255, 255, 0.9);
	border: darkgrey 2px solid;
	box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.4);
	border-radius: 5px;
	padding: 5px;

}
@media all and (min-width: 800px) {
	#alf_messages {
		margin: 80px;
	}
}
/* Переназначаем стили стандартной кнопке "скрыть всё" в блоке сообщений */
#alf_messages .btnHideAll {
	display: inline-block;
	margin: 10px 0;
	color: black;
	background-color: darkgrey;
	border: 1px solid black;
	border-radius: 3px;
	font-size: .8rem;
	padding: 3px 7px;
	cursor: pointer;
}
#alf_messages .btnHideAll:hover {
	background-color: #efefef;
}

/* Содержимое */
.record_name {
	font-size: 1.2rem;
	color: #1c1c1c;
	font-weight: bold;
	text-decoration: none;
}
.record_name:hover {
	background-color: #e7e7e7;
}
.record_description {
	color: darkgrey;
}

/* Кнопки */
.btn {
	padding: 3px 10px;
	border-radius: 5px;
	cursor: pointer;
	font-weight: bold;

}
.btn img {
	vertical-align: middle;
	margin-right: 8px;
}

.btnGreen {
	color: #1c662a;
	background-color: #efefef;
	border: 1px solid #007c1f;
}
.btnGreen:hover {
	background-color: #5ae36c;
}

.btnGrey {
	color: black;
	background-color: #efefef;
	border: 1px solid black;
}
.btnGrey:hover {
	background-color: darkgrey;
}

.btnOrange {
	color: #ff702f;
	background-color: #efefef;
	border: 1px solid #ffa73f;
}
.btnOrange:hover {
	background-color: #ffa73f;
}

#layout_content code {
	color: #010942;
	background-color: #eff8ff;
}

#layout_content ul,#layout_content ol {
	margin-top: .5rem;
	margin-bottom: .5rem;
}
#layout_content li {
	margin-top: .3rem;
}
#layout_content details {
	margin-top: .3rem;
}
#layout_content details p {
	padding: .5rem;
	border: #c2f1be 1px solid;
	background-color: #ecf9ee;
}
#layout_content details summary {
	cursor: pointer;
	color: darkgreen;
}
#layout_content table {
	border-collapse: collapse;
}
#layout_content table tr:nth-child(2n+1) {
	background-color: #e8e2e1;
}
#layout_content table tr th {
	background-color: #92cae3;
	border: grey 1px solid;
	text-align: left;
	padding: 3px;
	/*padding-left: 3rem;*/
	font-size: 1.2rem;
}
#layout_content table tr td {
	border: grey 1px solid;
	padding: 3px;
	vertical-align: top;
}

.deprecated {
	color: red;
}
.carefully {
	color: #ffaa2d;
}


/* Записи */
.record_contents {
	margin-top: 1rem;
}

.content {
	margin-bottom: 2rem;
}
.content .term_box {
	/*display: flex;*/
	margin-bottom: .5rem;
}
.content .term_box .term {
	font-weight: bold;
	font-size: 1.1rem;
	padding: 0;
	margin-right: 1rem;
}
.content .term_box .description {
	padding: 0;
}
.content .example {
	padding: 0;
	margin-bottom: .5rem;
	clear: both;
}
.content .text {
	padding: 0;
	margin-bottom: .5rem;
}

.content .files {
	padding: 0;
	margin-bottom: .5rem;
	display: flex;
	flex-wrap: wrap;
}
.content .file {
	margin-right: 5px;
	margin-bottom: 5px;
	width: 206px;
	border: darkgrey 1px solid;
	border-radius: 3px;
	padding: 5px;
	display: flex;
	flex-direction: column;
}
.content .file .image_box {
	margin: 0 auto;
	max-width: 100%;
	height: 200px;
	padding: 0;
}
.content .file .image {}
.content .file .image img{
	/*display: block;*/
	margin: auto;
	max-width: 100%;
	max-height: 200px;
}
.content .file .attachment {
	display: flex;
}
.content .file .attachment a{
	margin: auto;
}
.content .file .name{
	text-align: center;
	word-wrap: break-word;
	color: #8dafc3;
}
.content .file .description{
	word-wrap: break-word;
	color: #8dafc3;
}
.content .file .comment{
	word-wrap: break-word;
	color: gray;
}

.content_mark {
	margin-right: 1rem;
	margin-bottom: .2rem;
	float: left;
}
.content_mark img {
	width: 32px;
	height: 32px;
	float: left;
}

.content_mark_base {
	background-color: #e6fadf;
}
.content_mark_deprecated {
	background-color: #fbdedf;
}
.content_mark_experimental {
	background-color: #f6fcff;
}
.content_mark_new {
	background-color: #fafaec;
}

.as_code {
	font-family: 'Courier New', Courier, monospace;
	/*white-space: pre;*/
	unicode-bidi: embed;
	tab-size: 2rem;
	/*overflow-y: scroll;*/
}

/* раскраска текста */
.text_red {
	color: red;
	background-color: pink;
}

.mark_red, .mark_orange {
	border-radius: 5px;
	font-size: .8rem;
	padding: 2px;
	display: inline-block;
	margin: 0px 5px;
}

.mark_red {
	background-color: red;
	color: white;

}

.mark_orange {
	background-color: orange;
	color: white;
}

/* ссылки */
.a_img_text {
	display: inline-block;
	padding: 2px;
	border-radius: 2px;
	border: grey 1px solid;
	background-color: #dcdcdc;
	color: darkblue;
	text-decoration: none;
	/*height: 50px;*/
}
.a_img_text img {
	display: inline-block;
	vertical-align: middle;
}

.a_img {
	display: inline-block;
	padding: 2px;
	border-radius: 2px;
	border: grey 1px solid;
	background-color: #dcdcdc;
	color: darkblue;
	text-decoration: none;
	/*height: 50px;*/
}
.a_img img {
	display: block;
}

/* Контент */

#layout_content a {
	color: black;
	text-decoration-color: gray;
}
#layout_content a:hover {
	background-color: lightgray; 
}

/* Текст */
.text_highlight {
	font-size: 1.1rem;
	font-weight: bold;
}

/* Адаптивная таблица */

.adaptive_table {
	display: table;
	border-spacing: 3px;
}
.at_header {
	font-weight: bold;
}
.at_row, .at_header {
	display: table-row;
}
.at_row > div, .at_header > div{
	display: table-cell;
}
.at_br {
	display: none !important;
}

@media all and (max-width: 800px) {
	.adaptive_table {
		display: block;
	}
	.at_header {
		display: none;
	}
	.at_row {
		display: block;
		margin-bottom: .5rem;
		display: flex;
		flex-wrap: wrap;
		/* justify-content: space-between; */
		margin-bottom: 1.5rem;
	}
	.at_br {
		padding: 0 !important;
		margin: 0 !important;
		width: 100%;
		display: block !important;
	}
	.at_row > div {
		display: block;
		margin-right: 1rem;
		margin-bottom: .5rem;
	}
}

/* Поля формы */
.form_fields {
	display: inline-block;
	width: 70%;
}
@media all and (max-width: 800px) {
	.form_fields {
		width: 100%;
	}
}
@media all and (min-width: 800px) {
	.form_fields > div > div:first-child {
		width: 20ch;
	}
}
.form_fields > div {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: .2rem;
	padding: .2rem 0;
}
.form_fields > div:nth-child(2n-1) {
	background-color: #e8e2e1;
}
.form_fields > div > div:first-child {
	margin-right: .5rem;
}
.form_fields > div > div:last-child {
	flex-grow: 1;
}
.form_fields > div textarea {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-width: 30ch;
	max-width: 60ch;
}

/* Список с данными (2 или 3 колонки, 2-я растягивается)*/
.data_list {
	display: inline-block;
}
.data_list > div {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	align-content: start;
}
.data_list > div:nth-child(2n-1) {
	background-color: #e8e2e1;
}
.data_list > div > div {
	padding: .2rem 0;
}
.data_list > div > div:not(.data_list > div > div:last-child) {
	margin-right: .5rem;
}
/* .data_list > div > div:not(.data_list > div > div:first-child, .data_list > div > div:last-child) { */
/* .data_list > div > div:nth-child(2) {
	flex-grow: 1;
} */


/* второй див в списке получает свойство flex-grow: 1 */
.data_list_grow_2 > div > div:nth-child(2) {
	flex-grow: 1;
}
.data_list_grow_2 > div {
	flex-wrap: nowrap !important;
}
