/* responsive.css
   Адаптив поверх текущей вёрстки, без изменения HTML-структуры
   Подключать ПОСЛЕ основного CSS
*/

/* ----------------------------------------------------
   Базовые улучшения
---------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

img,
iframe,
video,
canvas,
svg {
	max-width: 100%;
	height: auto;
}

table {
	max-width: 100%;
}

html,
body {
	overflow-x: hidden;
}

body {
	min-width: 320px;
}

.content,
.header {
	max-width: 100%;
}

.popup-auth,
.popup-forgot,
.auth_page {
	max-width: calc(100vw - 30px);
}

.new_msg input[type=text],
.new_msg input[type=password],
.new_msg textarea,
.auth_page input[type=text],
.auth_page input[type=password],
.popup-wrap input[type=text],
.popup-wrap input[type=password] {
	max-width: 100%;
}

.bxlhe-frame,
.bxlhe-frame-table,
.bxlhe-editor-cell,
.lha-source-div,
.lha-textarea {
	max-width: 100% !important;
}

/* ----------------------------------------------------
   Large tablet / small desktop
---------------------------------------------------- */

@media (max-width: 1199px) {
	.header,
	.content {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

	.main-all,
	.main-forum,
	.main-wrap,
	.footer {
		min-width: 0;
	}

	.left_content {
		width: calc(100% - 260px);
	}

	.main-all .fresh,
	.detail_header,
	.comments_block .add_comment,
	.comments_block .comment,
	.left_content .text_page.detail_page,
	.left_content.text_page,
	.left_content.list_page {
		width: 100%;
	}

	.hot {
		width: 220px;
	}

	.detail_header .right_block {
		width: calc(100% - 112px);
	}

	.detail_header .right_block h1,
	.detail_header h1 {
		width: auto;
		max-width: 100%;
	}

	.comments_block .add_comment .right_block {
		width: calc(100% - 116px);
	}

	.comments_block .comment .right_block {
		width: calc(100% - 116px);
	}

	.footer .footer-left-wrap,
	.footer .footer-right-wrap {
		width: 50%;
	}

	.footer_sign_up .text {
		width: calc(100% - 320px);
	}
}

/* ----------------------------------------------------
   Tablet
---------------------------------------------------- */

@media (max-width: 991px) {
	body {
		padding-bottom: 0;
	}

	.header {
		width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	.content {
		width: 100%;
		padding: 0 16px 40px;
	}

	.main-all,
	.main-forum,
	.main-wrap,
	.footer {
		min-width: 0;
	}

	.header .header-menu {
		padding-bottom: 10px;
	}

	.logo {
		float: none;
		display: block;
		width: auto;
		margin-top: 16px;
		text-align: center;
	}

	.logo img {
		max-width: 140px;
	}

	.header-nav {
		float: none;
		width: 100%;
		text-align: center;
		margin-top: 12px;
	}

	.header-nav li a {
		padding: 14px 12px;
		font-size: 15px;
	}

	.header-nav li.activ a:before {
		left: 12px;
		width: calc(100% - 24px);
	}

	.header-nav li#login a,
	.header-nav li#exit a {
		margin-left: 8px;
		margin-top: 6px;
	}

	.header-content {
		margin: 20px 0 0;
	}

	.header-content h1 {
		font-size: 30px;
		line-height: 38px;
		max-width: 100%;
	}

	.header-content .form-search input {
		height: 54px;
		padding: 2px 54px 0 48px;
		background-position: 16px 50%;
		background-size: 18px;
	}

	.header-content .form-search button {
		width: 54px;
		height: 54px;
		background-position: 16px 50%;
	}

	.subsection-list.forum_page {
		margin-bottom: 18px;
	}

	.subsection-list.forum_page li a {
		padding: 0 12px;
		font-size: 12px;
		line-height: 28px;
		height: 28px;
	}

	.left_content,
	.hot.right_content {
		float: none;
		width: 100%;
	}

	.hot {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	.right_content h2,
	.hot h2 {
		padding-top: 20px;
	}

	.list_page .item.forum {
		padding-right: 0;
	}

	.list_page .item.forum h3 {
		width: 100%;
		padding-right: 0;
		margin-bottom: 8px;
	}

	.list_page .item.forum .show_author,
	.list_page .item.forum .comment,
	.list_page .item.forum .view,
	.list_page .item.forum .time {
		position: static;
		display: inline-block;
		vertical-align: middle;
		margin: 6px 14px 0 0;
		left: auto;
		top: auto;
	}

	.list_page .item.forum .show_author {
		width: auto;
	}

	.list_page .item.forum .time span {
		display: inline;
		width: auto;
	}

	.detail_header {
		width: 100%;
		margin: 16px 0 20px;
	}

	.detail_header .img {
		width: 64px;
		height: 64px;
		margin-right: 18px;
		border-radius: 64px;
	}

	.detail_header .img img {
		max-width: 64px;
		max-height: 64px;
	}

	.detail_header .right_block {
		width: calc(100% - 82px);
	}

	.detail_header h1 {
		font-size: 22px;
		line-height: 30px;
		margin-bottom: 12px;
	}

	.detail_quotes {
		padding-left: 70px;
		background-position: 12px 5px;
		background-size: 38px auto;
	}

	.comments_block .add_comment,
	.comments_block .comment {
		width: 100%;
	}

	.comments_block .add_comment .img,
	.comments_block .comment .img {
		width: 64px;
		height: 64px;
		margin-right: 18px;
		border-radius: 64px;
	}

	.comments_block .add_comment .img img,
	.comments_block .comment .img img {
		max-width: 64px;
		max-height: 64px;
	}

	.comments_block .add_comment .right_block,
	.comments_block .comment .right_block {
		width: calc(100% - 82px);
	}

	.comments_block .comment .delete {
		right: 0;
	}

	.footer {
		position: static;
		width: 100%;
		min-width: 0;
	}

	.footer:before,
	.footer:after {
		display: none;
	}

	.footer .content {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.footer .footer-left-wrap,
	.footer .footer-right-wrap {
		float: none;
		width: 100%;
		height: auto;
		padding: 0;
	}

	.footer .footer-right-wrap {
		margin-top: 24px;
	}

	.footer-nav-club {
		float: none;
		width: 100%;
		margin-top: 0;
	}

	.footer-club {
		float: none;
		margin-top: 16px;
		text-align: left;
	}

	.footer_sign_up {
		padding: 24px 20px 100px;
		margin-bottom: 30px;
	}

	.footer_sign_up .title {
		font-size: 22px;
		line-height: 28px;
	}

	.footer_sign_up .text {
		width: 100%;
	}

	.footer_sign_up .btn {
		top: auto;
		right: 20px;
		left: 20px;
		bottom: 24px;
		width: auto;
		height: 46px;
		line-height: 46px;
		font-size: 18px;
	}

	.fixb24 {
		position: static;
		height: 70px;
		background-size: contain;
	}

	.to_top {
		right: 8px;
		bottom: 8px;
		transform: scale(0.9);
		transform-origin: bottom right;
	}
}

/* ----------------------------------------------------
   Mobile
---------------------------------------------------- */

@media (max-width: 767px) {
	.header,
	.content {
		padding-left: 12px;
		padding-right: 12px;
	}

	h2 {
		padding: 28px 0 18px;
		font-size: 26px;
		line-height: 30px;
	}

	.left_content h2 {
		font-size: 22px;
		line-height: 26px;
		padding-bottom: 10px;
	}

	.logo {
		text-align: left;
	}

	.logo div {
		height: 32px;
		width: 44px;
		line-height: 32px;
		font-size: 14px;
	}

	.logo div:before {
		right: -7px;
		border-left: 7px solid #0c5f9f;
		border-top: 16px solid transparent;
		border-bottom: 16px solid transparent;
	}

	.logo img {
		margin-left: 10px;
		max-width: 120px;
	}

	.header-nav {
		text-align: left;
		font-size: 0;
	}

	.header-nav li {
		display: inline-block;
		width: 50%;
	}

	.header-nav li a {
		padding: 12px 8px;
		font-size: 14px;
		line-height: 20px;
		text-align: center;
	}

	.header-nav li#login,
	.header-nav li#exit {
		width: 100%;
		margin-top: 8px;
	}

	.header-nav li#login a,
	.header-nav li#exit a {
		margin-left: 0;
		width: 100%;
		max-width: none;
	}

	.header-content {
		margin-top: 16px;
	}

	.header-content .form-search {
		margin-top: 0;
	}

	.header-content .form-search input {
		height: 48px;
		padding: 2px 48px 0 42px;
		font-size: 15px;
		line-height: 20px;
		background-position: 14px 50%;
		background-size: 16px;
	}

	.header-content .form-search button {
		width: 48px;
		height: 48px;
		background-position: 14px 50%;
		background-size: 18px auto;
	}

	.breadcrumbs {
		padding: 14px 0 10px;
	}

	.breadcrumbs a {
		font-size: 10px;
		line-height: 14px;
	}

	.header-content h1 {
		font-size: 24px;
		line-height: 30px;
	}

	.subsection-list {
		margin-bottom: 14px;
	}

	.subsection-list li {
		margin-right: 8px;
		margin-bottom: 8px;
	}

	.subsection-list li a {
		padding: 0 10px;
		height: 30px;
		line-height: 30px;
		font-size: 12px;
	}

	.subsection-list li a span {
		margin-left: 6px;
		font-size: 10px;
	}

	.subsection-list.forum_page li.new_theme {
		display: block;
		width: 100%;
	}

	.subsection-list.forum_page li.new_theme a {
		display: inline-block;
		padding-left: 27px;
	}

	.left_content {
		padding-bottom: 20px;
	}

	.left_content .item {
		padding: 14px 0;
	}

	.item h3 {
		font-size: 15px;
		line-height: 22px;
	}

	.item .section,
	.item .author,
	.item .view,
	.item .comment,
	.item .source,
	.item .time,
	.tags,
	.search-page .desc,
	.text_page,
	.text_page p {
		font-size: 14px;
		line-height: 22px;
	}

	.left_content .item .subsection {
		margin-bottom: 10px;
	}

	.list_page .item.forum .show_author,
	.list_page .item.forum .show_date_create,
	.list_page .item.forum .comment,
	.list_page .item.forum .view,
	.list_page .item.forum .time {
		font-size: 11px;
		line-height: 16px;
		margin-right: 10px;
	}

	.list_page .item.forum .time {
		padding-left: 18px;
	}

	.list_page .item.forum .comment,
	.list_page .item.forum .view,
	.list_page .item.forum .time,
	.list_page .item.forum .show_author,
	.list_page .item.forum .show_date_create {
		display: inline-block;
	}

	.hot {
		margin-top: 24px;
	}

	.hot h2,
	.right_content h2 {
		padding: 0 0 10px 24px;
		font-size: 18px;
		line-height: 22px;
	}

	.hot h2:before {
		width: 16px;
		height: 24px;
		background-size: contain;
		background-repeat: no-repeat;
		bottom: 8px;
	}

	.hot .item {
		padding: 10px 0 40px;
	}

	.hot .item h3 {
		font-size: 14px;
		line-height: 20px;
	}

	.text_page {
		padding-bottom: 25px;
	}

	.text_page h2 {
		font-size: 18px;
		line-height: 26px;
		padding-top: 18px;
	}

	.text_page ul li {
		padding-left: 16px;
	}

	.detail_header {
		padding-bottom: 14px;
		margin-top: 10px;
	}

	.detail_header .img {
		display: block;
		margin: 0 0 14px;
	}

	.detail_header .right_block {
		display: block;
		width: 100%;
	}

	.detail_header .right_block .author {
		font-size: 14px;
		line-height: 22px;
		height: auto;
		padding: 2px 8px;
	}

	.detail_header h1 {
		font-size: 20px;
		line-height: 28px;
		width: auto;
	}

	.detail_header .right_block .subsection-list {
		display: block;
		margin: 0 0 10px;
	}

	.detail_header .right_block .comment,
	.detail_header .right_block .time {
		margin-top: 4px;
		margin-right: 16px;
	}

	.detail_quotes {
		padding-left: 0;
		padding-top: 42px;
		background-position: 0 0;
		background-size: 30px auto;
		font-size: 15px;
		line-height: 24px;
	}

	.block-new-part_text {
		font-size: 13px;
		line-height: 20px;
	}

	.comments_block {
		padding-top: 24px;
		margin-top: 18px;
	}

	.comments_block .title,
	.comments_block .no_comments {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 16px;
	}

	.comments_block .needAuth {
		font-size: 14px;
		line-height: 22px;
	}

	.comments_block .add_comment,
	.comments_block .comment {
		margin-bottom: 20px;
	}

	.comments_block .add_comment .img,
	.comments_block .comment .img {
		display: block;
		margin: 0 0 12px;
	}

	.comments_block .add_comment .right_block,
	.comments_block .comment .right_block {
		display: block;
		width: 100%;
	}

	.comments_block .comment .right_block .author {
		font-size: 14px;
		line-height: 20px;
		height: auto;
		margin-bottom: 6px;
	}

	.comments_block .comment .right_block .date,
	.comments_block .comment .right_block .time {
		font-size: 11px;
		line-height: 16px;
	}

	.comments_block .comment .right_block .text {
		font-size: 14px;
		line-height: 22px;
	}

	.comments_block .add_comment textarea {
		height: 110px;
		padding: 10px 14px;
		font-size: 14px;
		line-height: 22px;
	}

	.comments_block .add_comment input[type=submit] {
		float: none;
		width: 100%;
		height: 42px;
		line-height: 42px;
		text-align: center;
	}

	.new_msg {
		padding-top: 10px;
	}

	.new_msg .select div {
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
		height: auto;
		min-height: 40px;
		line-height: 20px;
		padding-top: 9px;
		padding-bottom: 9px;
	}

	.new_msg .select input {
		width: 100%;
	}

	.new_msg .wrap-field,
	.auth_page .wrap-field,
	.popup-wrap .wrap-field {
		margin-bottom: 12px;
	}

	.new_msg input[type=text],
	.new_msg input[type=password],
	.auth_page input[type=text],
	.auth_page input[type=password],
	.popup-wrap input[type=text],
	.popup-wrap input[type=password] {
		height: 42px;
		padding: 10px 12px;
	}

	.new_msg textarea {
		height: 120px;
		padding: 10px 12px;
	}

	.new_msg input[type=submit],
	.auth_page input[type=submit],
	.popup-wrap button {
		height: 42px;
	}

	.policy_personal_data {
		font-size: 12px;
		line-height: 17px;
	}

	.policy_personal_data label {
		padding: 4px 0 4px 26px;
		font-size: 12px;
		line-height: 18px;
	}

	.policy_personal_data input {
		top: 4px;
	}

	.popup-wrap {
		padding: 15px 10px;
		white-space: normal;
	}

	.popup-wrap:after {
		display: none;
	}

	.popup-auth,
	.popup-forgot {
		width: 100%;
		max-width: 420px;
	}

	.popup-auth .login-btn,
	.popup-auth .reg-btn {
		font-size: 14px;
		height: 50px;
		line-height: 50px;
	}

	.popup-auth .body-login,
	.popup-auth .body-reg,
	.popup-forgot .body-popup {
		padding: 20px 14px 24px;
	}

	.footer .content {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.footer-nav-b24,
	.footer-nav-club {
		border-top: none;
	}

	.footer-nav-b24 li,
	.footer-nav-club li {
		display: block;
	}

	.footer-nav-b24 li a,
	.footer-nav-club li a {
		margin-right: 0;
		padding: 6px 0;
	}

	.footer-bitrix {
		margin-top: 0;
	}

	.fixb24 {
		height: 56px;
	}

	.to_top {
		width: 34px;
		height: 34px;
		padding: 6px;
	}

	.to_top:before {
		width: 34px;
		height: 34px;
	}

	.to_top:after {
		top: 29px;
		left: 27px;
		width: 8px;
		height: 8px;
	}
}

/* ----------------------------------------------------
   Small mobile
---------------------------------------------------- */

@media (max-width: 479px) {
	.header,
	.content {
		padding-left: 10px;
		padding-right: 10px;
	}

	.logo {
		margin-top: 12px;
	}

	.logo img {
		max-width: 110px;
	}

	.header-nav li {
		width: 100%;
	}

	.header-nav li a {
		padding: 10px 6px;
		text-align: left;
	}

	.header-nav li.activ a:before {
		left: 6px;
		width: calc(100% - 12px);
	}

	.header-content .form-search input {
		font-size: 14px;
	}

	.header-content h1 {
		font-size: 22px;
		line-height: 28px;
	}

	h2 {
		font-size: 24px;
		line-height: 28px;
	}

	.left_content h2 {
		font-size: 20px;
		line-height: 24px;
	}

	.item h3 {
		font-size: 14px;
		line-height: 20px;
	}

	.subsection-list li {
		display: block;
		margin-right: 0;
	}

	.subsection-list li a {
		display: block;
		text-align: left;
	}

	.detail_header .img,
	.comments_block .add_comment .img,
	.comments_block .comment .img {
		width: 56px;
		height: 56px;
	}

	.detail_header .img img,
	.comments_block .add_comment .img img,
	.comments_block .comment .img img {
		max-width: 56px;
		max-height: 56px;
	}

	.detail_header h1 {
		font-size: 18px;
		line-height: 25px;
	}

	.comments_block .comment .right_block .text,
	.text_page,
	.text_page p {
		font-size: 14px;
		line-height: 21px;
	}

	.footer_sign_up {
		padding: 18px 14px 86px;
	}

	.footer_sign_up .title {
		font-size: 20px;
		line-height: 25px;
	}

	.footer_sign_up .btn {
		left: 14px;
		right: 14px;
		bottom: 18px;
		font-size: 16px;
	}

	.policy_personal_data label {
		display: block;
	}

	.auth_page,
	.popup-auth,
	.popup-forgot {
		max-width: 100%;
	}
}

/* ----------------------------------------------------
   Форум: кнопка "Предложить тему" и список разделов
---------------------------------------------------- */

@media (max-width: 767px) {
	.subsection-list.forum_page {
		display: block;
		font-size: 0;
	}

	.subsection-list.forum_page li {
		vertical-align: top;
	}

	.subsection-list.forum_page li.new_theme a:before {
		top: 7px;
	}

	.subsection-list.forum_page li.new_theme a:after {
		top: 14px;
	}
}

/* ----------------------------------------------------
   Пагинация
---------------------------------------------------- */

@media (max-width: 767px) {
	.newPagination {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 4px;
	}

	.newPagination ul {
		white-space: nowrap;
		min-width: max-content;
		padding-left: 0;
	}

	.newPagination li {
		display: inline-block;
		vertical-align: middle;
	}
}

/* ----------------------------------------------------
   Встроенный редактор Bitrix
---------------------------------------------------- */

@media (max-width: 991px) {
	.bxlhe-frame {
		height: auto !important;
	}

	.bxlhe-frame-table {
		width: 100% !important;
		table-layout: fixed;
	}

	.bxlhe-editor-cell {
		height: 220px !important;
	}

	.lha-iframe,
	.lha-textarea {
		width: 100% !important;
		height: 220px !important;
	}
}

@media (max-width: 767px) {
	.bxlhe-editor-buttons {
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}

	.lhe-stat-toolbar-cont {
		display: inline-block;
		min-width: max-content;
	}

	.bxlhe-editor-cell {
		height: 180px !important;
	}

	.lha-iframe,
	.lha-textarea {
		height: 180px !important;
	}
}

/* ----------------------------------------------------
   Скрытие/смягчение декоративных элементов на мобильных
---------------------------------------------------- */

@media (max-width: 767px) {
	.main-wrap:after {
		display: none;
	}

	.text_page + .hot.right_content,
	.detail_header + .text_page.detail_page + .hot.right_content {
		margin-top: 24px;
	}

	.main-all .right_220 {
		margin: 20px 0;
	}
}