body {background-color:#fee; color:#2c2c2c; margin:0; font-family: golos,helvetica neue,helvetica,arial,sans-serif;}
.hidden {display:none;}
.title h1 {float:left; background: url(/img/logo.png) no-repeat 0, 50%; padding: 15px 0 15px 70px; margin: 10px 10px 10px 0;;}
.title a {color:#fff; text-decoration: none;}
.title a:hover {text-decoration: underline;}
a.simple {text-decoration: none; color:#52b;}
a.simple:hover {text-decoration: underline;}
.page-wrapper.main{display: flex; flex-direction:column; min-height: 100vh;}
header.main {position:relative; overflow:hidden; margin:0; padding:0; background:none; padding: 8px 15px 64px; max-width:100%; height:auto; display: flex;justify-content: space-between;}
header.main h1 {color:#fff; font-weight:700; font-size:42px; line-height:54px; clear:both; text-align:center;}
header.main .filter {position:absolute; top:0; bottom:0; left:0; right:0; z-index:-1; background:linear-gradient(45deg, rgba(168,29,132,1) 0%, rgb(234,57,111) 100%);}

ul.top_menu {margin: 16px 12px 16px;}
.main_page ul.top_menu {margin-top:38px;}
ul.top_menu li {display: inline-block;}
ul.top_menu li a {color:#fff; text-decoration: none; padding: 0 10px; border-right: 1px #fff solid;}
ul.top_menu li:last-child a {border: none; padding-right: 0;}
ul.top_menu li a:hover {text-decoration: underline;}

ul.footer_links li {display:inline-block;}
ul.footer_links li a {color:#fff; text-decoration: none; padding: 0 10px; border-right: 1px #fff solid;}
ul.footer_links li:last-child a {border: none; padding-right: 0;}

header.article {position:relative; overflow:hidden; margin:0; padding:0; background:none; height: 200px; border-radius:6px 6px 0 0;}
header.article img {position: absolute; left: 0; right:0; top: 0; bottom: 0; width: 100%; height: 100%; z-index: 1;}
header.article h1 {
	color: #fff; position: relative; top:100px; z-index: 10;
	width: 960px; max-width: 98%; margin: 0 auto; font-size: 1.5em;
}
header.article h1:after {
	content: ""; position: absolute; left: -20px; right:-20px; top: -20px; bottom: -20px; z-index: -1; border-radius:30px;
	background: linear-gradient(42deg, rgba(0,0,0, 0.8), rgba(0,0,0,0.1));
}

.content-wrapper.main {
	background:#fff; margin: -60px 15px 30px; border-radius:6px 6px 0 0;
	box-shadow: rgba(0,0,0,0.14) 0 16px 24px 2px, #0000001f 0 6px 30px 5px, rgba(0,0,0,0.2) 0 8px 10px -5px;
	display: flex; flex-direction: column; flex: 1 0 auto;
}
.content-wrapper .container {max-width:960px; margin:0 auto; padding:20px 15px 15px; width:100%; box-sizing:border-box;}
.wrap-footer{background:#234;}
.wrap-footer footer{padding:30px 0 18px;}
.wrap-footer footer .container{max-width:100%; padding:0 15px; color:#fff; display: flex; justify-content: space-between; align-items: center;}
footer a {color: #fff; text-decoration: none;}
footer a:hover {color: #fff; text-decoration: underline;}
a.telegramm_ico {display: block; width: 30px; height:30px; background-image: url(/img/telegram.svg); background-size: 30px; background-repeat: no-repeat;}

.article {font-size: 17px;}
.article p {text-align: justify;}
.article .comment {font-size: 15px; border-left: 4px solid #ccc; padding-left: 10px;}
.article h2 {font-size: 22px; margin-top: 23px;}
.article h3 {font-size: 17px; margin-top: 23px;}
.article h4 {font-size: 15px; margin-top: 23px;}

.article_info {background-color: #eee; padding: 4px 4px; display: flex; justify-content: space-between; font-size: 12px;}
.article_info a {text-decoration: none;}
.article_info.top {margin-top: -19px;}

.block_list {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.block_list .block {
	width: calc(33.333% - 22px); min-width:280px; height: 200px; overflow: hidden; border: 1px solid #003; padding: 0; position: relative; margin-bottom:20px; margin-right: 10px;
}
.block_list .block:nth-child(3n) {margin-right: 0;}
.block_list .block a {position: absolute; top:0; left:0; right:0; bottom:0; text-decoration: none; color: #003;}
.block_list .block a:hover {text-decoration: underline;}
.block_list .block img {position: absolute; top:0; height: 140px; left:0; right:0; width: 100%;}
.block_list .block h3, .block_list .block h2 {position: relative; top: 130px; padding: 0 10px; margin:20px 0 0; font-size: 16px;}
.block_list .book {margin-right:15px;}
.block_list .book:nth-child(4n) {margin-right:0;}
.block_list .book a {display: inline-block;}
.block_list .book img {width: 200px;}

span.icon {display: inline-block; width: 24px; height: 24px; position:relative; top:4px;}
.icon.smile {background: url(/img/smiles/smile.gif); background-size: cover;}
.icon.trollface {background: url(/img/smiles/trollface.png); background-size: cover;}
.icon.facepalm {background: url(/img/smiles/facepalm.gif); background-size: cover;}
.icon.wacko {background: url(/img/smiles/wacko.gif); background-size: cover;}

.feedback textarea {width: 390px; height: 200px;}
.feedback input[type="text"] {width: 390px;}
.feedback input[type="submit"] {cursor: pointer; padding: 5px 15px;}
.feedback .alert {font-weight: bold; color: #009;}

.article blockquote {border-left:5px solid; margin-inline-start: 20px; padding-inline-start: 20px;}
.article blockquote.opponent {border-color:#f66;}
.article blockquote.iam {border-color:#66f;}
.article i {color: #66a;}
.article div.annotation {background-color: #eee; padding: 1px 6px; font-size: 14px;}
.article .overflowx {display: block; overflow-x: auto;}
.article .bordered {border: 1px solid #999;}
.max100 {max-width: 100%;}
article p.info, article div.info {background-color: #eee; padding: 3px 6px; border-left: 2px solid #333; font-size: 14px; margin-block-start: 7px; margin-block-end: 7px;} 
article div.info p {margin-block-start: 7px; margin-block-end: 7px;}
article div.info {margin-top: 0; margin-bottom: 0;}

.parameters {display: flex; flex-wrap: wrap;}
.parameters dt, .parameters dd {margin:0 0 12px 0; padding: 0; border-bottom: solid 1px #ccc;}
.parameters dt {flex-basis: 160px; font-weight: bold;}
.parameters dd {flex-basis: calc(100% - 160px);}

section.main_page {margin-bottom: 30px;}
.main_page .chess {display: flex;}
.main_page .chess img {width: 150px;}
h2 a {text-decoration: none;}
h2 a:hover {text-decoration: underline;}
.main_page .chess .about {margin-left: 20px; text-align: justify; max-width: 550px;}
.main_page .chess .about h3 {margin-top: 5px; margin-bottom: 5px; font-size: 16px;}
section.main_page h2 {background-color: #eee; padding: 4px 10px; margin: 20px 0 7px 0; border-top-right-radius: 35px;}

/* BOOKS */
h1.bookshelf {margin: 10px 0 25px 0;}
.books_group h2 {background-color: #eee; padding: 8px 12px;}
.book_wrapper a {text-decoration: none;}
.book_wrapper h3 {margin: 0 0 6px 0;}
.book_wrapper h3 a {font-size: 17px; color: #551a8b;}
.book_wrapper h3 a:hover {text-decoration: underline;}
.book_wrapper::after {content:""; display: block; clear: both;}
.book_wrapper .image {float:left; width:238px; padding: 0 20px 10px 0;}
.book_wrapper .about {float:left; width:calc(100% - 268px)}
.book_wrapper .about .authors {padding: 8px 0; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; margin-bottom: 8px; font-size: 14px; font-weight: 600;}
.book_wrapper p {font-size:16px;}

span.filename {color: #800; font-family: monospace;}
pre span.filename {color: #000; font-family: monospace; font-weight: bold; background-color: #f8f8f8; display: block; padding-top:2px; padding-left: 8px; border-bottom: 1px solid #ccc; overflow-x: auto;}
span.line_number {color:#32f;}
span.class_name {color: #800; font-family: monospace;}
span.var_name {color: #444; font-family: monospace;}
span.const_name {color: #444; font-family: monospace;}
span.func_name {color: #800; font-family: monospace; font-weight: bold;}
span.tag {color:#444; font-family: monospace; font-weight: bold;}
span.code {color: #000; font-family: monospace; background-color: #eee;}
span.language {color: #800; font-family: monospace;}
span.cell_coord {color: #000; font-family: monospace; font-weight: bold;}
span.keyword {color: #000; font-family: monospace; font-weight: bold;}
span.param_name {color: #444; font-family: monospace;}
span.php_class_name {color: #800; font-family: monospace; font-weight: bold;}
span.not_imponant {font-style: italic; color: #666;}
span.marked {color: #444; font-family: monospace; background-color: #fe6;}
span.changed {background-color: #dfd;}
span.delete {background-color: #fdd;}
.small {font-size: 0.9em;}

ul.contents {padding-left: 0px; list-style-position: inside; margin-top: 10px;}
ul.contents li a {text-decoration: none; color:#52b;}
ul.contents li a:hover {text-decoration: underline;}
ul.contents.main_page {list-style-type: none;}

.main_page .contents_wrap {margin-left: 168px; margin-top: -65px; }

.privacy li {text-align: justify; padding-bottom: 8px;}

/* CHESS */
.chess_table_of_contents:before, .chess_table_of_contents:after {
	content: ''; display: block; height: 15px; width: 100%; background-image: url(/img/chess/board_background.svg); background-size: 10px 10px, cover;
}
.wide_container {overflow-x: auto; max-width: 100vw;}
.chess_table_of_contents:before {border-top-right-radius: 7px;}
.chess_table_of_contents::after {border-bottom-right-radius: 7px;}
.chess_table_of_contents h2 {margin: 5px; font-size: 18px;}
.chess_table_of_contents h3 {margin-top: 10px; margin-bottom: 5px; font-size: 16px;}
.chess_article {font-size: 17px;}
.field_representation th, .field_representation td {border: 1px solid #ccc; padding: 2px 5px;}
.field_representation th {font-size: 14px; text-align: center;}
.field_representation td:nth-child(n+2) {text-align: right; width: 130px;}
.field_representation td:first-child {text-align: center;}
header.chess_article {
	position:relative; overflow:hidden; margin:0; padding:0; border-radius:6px 6px 0 0;
	background-color: #edb;
	background-image: url(/img/chess/board_background.svg);
	background-size: 10px 10px, cover;
}
header.chess_article h1 {
	color: #000; position: relative; z-index: 10;
	width: 960px; max-width: 98%; margin: 18px auto; font-size: 1.5em;
}
header.chess_article:after {
	content: ""; position: absolute; left:0; right:0; top:0; bottom:0;
	background: linear-gradient(42deg, rgba(255,255,255, 0.8), rgba(255,255,255,0.6));
}

table.figure_images, table.in_article, table.field_representation {border-collapse: collapse;}
.figure_images td, .figure_images th, table.in_article th, table.in_article td {border: 1px solid #999; padding: 2px 5px;}
.figure_images th, table.in_article th {font-weight: bold; font-size: 15px;}


/* Banners */
.advsection {max-width:940px; margin:0 auto; padding:20px 15px 15px; width:100%; box-sizing:border-box;}
#ybanner1 {position: absolute; top:200px; right: calc(25% - 312px); border: 0px solid #000; width:162px; height: 602px;}
#ybanner1.article {top: 300px;}
#ybanner2 {border: 0px solid #000; width:94%; margin-top: 42px; height: 122px; display: none;}
#ybanner3 {border: 0px solid #000; width:100%; height: 122px;}

/* MOBIL */
@media only screen and (max-width: 700px) {
	.main_page .contents_wrap {margin-left: 0; margin-top: 5px; }
}

@media only screen and (max-width: 768px) {
	header.main {display:block;}
	.book_wrapper .image {float: none;}
	.book_wrapper .about {float: none; width: auto;}
	.book_wrapper::after {height: 10px; border-bottom: 1px solid #999; margin-bottom: 40px;}
}

@media only screen and (max-width: 1310px) {
    #ybanner1 {display: none;}
	#ybanner2 {display: block;}
}
