/* BASIC LAYOUT
----------------------------------------------- */
.wrapper {min-width: 320px; position: relative;}
.wrapper-container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;}
.header {background-color: var(--bg); box-shadow: 0 0 30px rgba(0,0,0,0.16); position: relative; z-index: 15;}
.header__inner {padding: 0px var(--indent);}
.content {background-color: var(--bg); box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.06); padding: 50px var(--indent); 
	position: relative; z-index: 10; margin-top: -150px; margin-bottom: -50px;}
	
	.cols {display: flex; gap: 50px; justify-content: stretch;}
.cols__side {grid-area: sidebar;}
.cols__main {width: 100%; overflow: hidden;}
.side-block {width: 280px;}
.mobile-menu .side-block {width: 100%;}
.footer {background-color: var(--bg-black); color: #fff;}
.footer__inner {padding: 30px var(--indent); padding-top: 80px; gap: 30px;}

.scrolltop {position: fixed; width: 44px; height: 40px; right: -60px; bottom: 0px;
	z-index: 990; border-radius: 0; font-size: 20px; opacity: 0; transition: right 0.2s, opacity 0.2s;}
.scrolltop.is-active {right: 0px; opacity: 1;}


/* HEADER
----------------------------------------------- */
.logo {display: block; height: 80px; line-height: 80px; font-weight: 700; color: #000 !important;
	font-size: 24px; letter-spacing: 1px; padding-left: 40px;  
	background: url(../images/logo.svg) 0 center / 30px no-repeat;}
.logo span {font-weight: 400;}
.header__logo {min-width: 280px; margin-right: 30px;}
.header__btn-login {padding: 0 10px;}
.header__btn-fav {margin-left: 30px;}
.header__btn-fav:before {color: #fac51f; font-size: 15px;}
.header__btn-fav span:last-child {font-size: 12px; display: flex; align-items: center; height: 24px; 
	padding: 0 9px; border: 1px solid var(--bdc); border-radius: 3px; min-width: 34px;}

.search-block {width: 100%; position: relative; margin-bottom: 20px;}
.search-block__input, .search-block__input:focus {border-radius: 0; padding: 0 40px 0 13px; box-shadow: none;}
.search-block__input:not(:focus)::placeholder {color: var(--tt-fade); opacity: 1; font-size: 14px;}
.search-block__btn {position: absolute; right: 0; top: 0; width: 40px; border-radius: 0px; font-size: 16px;}


/* NAV
----------------------------------------------- */
.header__menu {gap: 30px;}
.header__menu > li {position: relative;}
.header__menu > li > a {height: 80px; display: flex; align-items: center; justify-content: space-between; 
	font-weight: 600; font-size: 16px; gap: 10px;}
.header__menu-submenu {width: 240px; padding: 15px 30px; border-radius: 0 0 4px 4px; display: grid; gap: 10px; 
	position: absolute; left: -30px; top: 100%; background: var(--bg); box-shadow: 0 12px 12px rgba(0,0,0,0.27); 
	opacity: 0; visibility: hidden; transform: translateY(30px);}
.header__menu-submenu li + li {border-top: 1px dashed var(--bdc); padding-top: 10px;}
.header__menu-has-submenu > a::after {content:"\f107"; font-weight: 300; font-family:'Font Awesome 5 Pro';}


/* HERO
----------------------------------------------- */

.hero__inner {padding: 50px var(--indent); display: grid; gap: 10px 30px; grid-template-columns: 1fr min-content;}
.hero__btn {grid-row: 1 / 3; grid-column: 2 / 3; align-self: center; 
	background-color: transparent; border: 1px solid rgba(255,255,255,0.4);}
.hero__title {font-weight: 600; font-size: 18px;}
.hero__caption {opacity: 0.8; font-size: 13px;}


/* SECTION
----------------------------------------------- */
.sect:not(:last-child) {margin-bottom: 50px;}
.sect__header {margin-bottom: 30px;}
.sect__title {font-size: 24px; font-weight: 700;}

.speedbar {color: var(--tt-fade); font-size: 14px; margin-bottom: 15px;}

.sect__sort {height: 36px;}
.sect__sort ul {height: 36px; background-color: var(--bg-lighter);
	border-radius: 6px; position: relative; z-index: 50; cursor: pointer; text-align: center;}
.sect__sort ul li {height: 36px; line-height: 36px; visibility: hidden; padding: 0 10px; font-size: 13px;}
.sect__sort ul li[class], .sect__sort ul:hover li {visibility: visible;}
.sect__sort ul:hover {height: auto; box-shadow: var(--bsh);}
.sect__sort ul li[class]::before {content: 'Сортировать по:'; margin-right: 6px;}
.sect__sort li.asc a::after, .sect__sort li.desc a::after {content: "\f063"; font-family: "Font Awesome 5 Pro"; 
	display: inline-block; margin-left: 6px; font-weight: 300; font-size: 10px;}
.sect__sort li.desc a::after {content: "\f062"}
.descr {display: grid; grid-gap: 20px; line-height: 1.7; font-size: 14px; color: #5c5c5c; 
	padding-top: 40px; border-top: 1px dashed #ccc;}
.descr h1, .descr h2, .descr h3 {font-size: 18px; font-weight: 700; color: var(--tt); line-height: 1.3;}
.descr a {text-decoration: underline; color: var(--accent);}
.descr ul li {position: relative; padding-left: 25px; margin-left: 25px;}
.descr ul li::before {content:"\f00c"; font-weight: 300; font-family:'Font Awesome 5 Pro'; 
	color: var(--accent); position: absolute; left: 0; top: 0;}
.descr__section {padding-top: 15px; margin-bottom: -15px;}
.descr__section p, .descr__section h2, .descr__section h3 {margin-bottom: 15px;}
.descr__img {width: 130px; height: 130px; border-radius: 50%; margin-right: 25px; float: left;
	box-shadow: 0 0 0 1px var(--bdc); border: 10px solid var(--bg); background-color: var(--bg-darker);}


/* SHORT STORY
----------------------------------------------- */
.short {padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid var(--bdc); gap: 30px; position: relative;}
.short__img {width: 240px; height: 160px; display: block;}
.short__fav {position: absolute; left: 200px; top: -5px; z-index: 5;}
.short__fav .fas {width: 30px; height: 30px; position: relative; padding-top: 5px;
	background-color: var(--bg-darker-2); color: var(--tt-fade-2); font-size: 14px;}
.short__fav .fas::after {content: ''; position: absolute; left: 0; top: 100%; transform-origin: center top;
	border: 15px solid transparent; border-top-color: var(--bg-darker-2); transform: scale(1,0.5);}
.short__fav .fas.short__fav-added {background-color: #ffc300; color: #fff;}
.short__fav .fas.short__fav-added::after {border-top-color: #ffc300;}
.short__fav a {transition: none;}
.short__meta {font-size: 13px; color: var(--tt-fade); margin-bottom: 8px; gap: 8px;}
.short__title {font-size: 19px; font-weight: 400; margin-bottom: 15px;}
.short__title a {color: var(--tt-colored);}
.short__text {-webkit-line-clamp: 3; color: #5c5c5c; line-height: 1.5;}


/* SIDEBAR
----------------------------------------------- */
.side-block:not(:last-child) {margin-bottom: 50px;}
.side-block__title {font-size: 19px; font-weight: 600; 
	margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--bdc);}
.side-block__title a {font-size: 13px; text-decoration: underline; position: relative; padding-right: 15px; font-weight: 400;}
.side-block__title a::before {position: absolute; right: 0; top: 3px; font-size: 15px;}
.side-block__grid {display: grid; gap: 20px; grid-template-columns: repeat(auto-fill,minmax(240px,1fr));}

.popular {gap: 15px; border-bottom: 1px solid var(--bdc); padding-bottom: 20px;}
.popular__img {width: 60px; height: 60px; border-radius: 50%;}
.popular__category {font-size: 13px; color: var(--tt-fade); margin-bottom: 5px;}
.cols__side .popular__title {-webkit-line-clamp: 3;}

.lcomm {border-bottom: 1px solid var(--bdc); padding-bottom: 20px;}
.lcomm__title {font-weight: 400;}
.lcomm__meta {font-size: 13px; color: var(--tt-fade); gap: 10px; margin: 5px 0;}
.lcomm__text {font-size: 14px; -webkit-line-clamp: 5; color: #5c5c5c;}

.nav-holder {margin-top: -50px; padding: 30px; padding-top: 50px; background-color: var(--bg-darker);}
.nav-holder__title {font-size: 19px; font-weight: 600; margin-bottom: 20px;}
.nav-holder__caption {font-size: 16px; display: block;}
.nav-holder__caption:not(:last-child) {border-bottom: 1px solid var(--bdc); margin-bottom: 15px;
	margin-left: -30px; margin-right: -30px; padding: 15px 30px; padding-top: 0;}
.nav-holder__list {font-size: 13px; display: grid; gap: 8px;}
.nav-holder__list a {font-size: 14px; margin-right: 5px;} 
.nav-holder__list + .nav-holder__caption {margin-top: 20px;}

.place-holder {height: 280px; padding: 30px; padding-bottom: 100px; position: relative; background: var(--bg-darker);}
.place-holder__btn {position: absolute; bottom: 30px; left: 30px; right: 30px; z-index: 1;}
.rkl-holder {background: #000 url(../images/hero-bg.jpg) center center / cover no-repeat; color: #fff; 
	overflow: hidden; box-shadow: inset 0 500px rgba(124, 104, 173, 0.4), inset 0 60px 60px rgba(0,0,0,1);}
.rkl-holder__title {font-weight: 600; font-size: 24px; line-height: 1.2; margin-bottom: 10px;}
.rkl-holder__caption {opacity: 0.8; font-size: 13px; line-height: 1.6;}
.rkl-holder::after {content: ''; width: 500px; height: 500px; position: absolute; right: -200px; bottom: -250px;
	background: radial-gradient(circle closest-side at center, #ffc300 0%, transparent 100%); 
	mix-blend-mode: overlay; opacity: 0.6;}
.vk-holder {background: radial-gradient(circle farthest-side at 50% 30%, #fff 0%, #fff 10%, #e9edf8 60%);}
.vk-holder .place-holder__btn {background-color: #587ba1; height: 32px; font-size: 13px;}
.vk-holder__title {color: #435d79; text-align: center; font-size: 13px;}
.vk-holder::before {width: 50px; height: 50px; border-radius: 50%; content: ''; display: block;
	margin: 15px auto 15px auto; background: url(../images/social/vk.svg) 0 0 / 50px no-repeat;}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer__menu {gap: 15px 30px;}
.footer__menu a {font-weight: 400; font-size: 16px; color: #fff;}
.footer__text {border-top: 1px solid rgba(255,255,255,0.13); margin-top: 30px; padding-top: 15px; 
	font-size: 13px; color: rgba(255,255,255,0.5);}
.footer__copyright {margin-top: 11px; color: rgba(255,255,255,0.66);}
.footer__copyright span {color: #fff;}
.footer__logo {filter: grayscale(1) invert(1); min-width: 280px; margin-top: -32px;}
.footer__counter {margin-top: 30px;}
.footer__socials {gap: 6px; margin-top: 5px;}
.footer__socials a, .footer__socials a img {width: 36px; height: 36px; border-radius: 50%; display: block;}

.pagination {gap: 30px 60px;}
.pagination a, .pagination span, .pagination__btn {display: grid; place-items: center; height: 36px;}
.pagination__btn-loader {width: 100%;}
.pagination__btn-loader a, .pagination__btn-loader span {height: 40px; border-radius: 4px; 
	background-color: var(--bg-darker); color: var(--tt-fade); width: 100%;}
.pagination__pages {gap: 10px 20px; font-size: 18px;}
.pagination__pages span:not(.nav_ext) {background-color: var(--accent); color: #fff; padding: 0 10px;}
.pagination__btn {width: 36px; background-color: var(--bg-darker-2); color: var(--tt-fade-2);}


/* INNER PAGE
----------------------------------------------- */
.page__title {font-size: 34px; line-height: 1.2; margin-bottom: 10px;}
.page__meta {color: var(--tt-fade); font-size: 13px; gap: 15px 20px; margin-bottom: 40px;}
.page__meta .short__fav {position: relative; left: 0; top: 0;}
.page__meta .short__fav a {display: flex; align-items: center; gap: 5px; color: var(--tt-fade);}
.page__meta .short__fav .fas {transform: scale(0.8,0.8); transform-origin: left center;}
.page__text {margin-bottom: 30px;}

.page__intro {line-height: 1.5; margin: 0 0 30px 0; padding: 15px 20px 15px 100px; 
	position: relative; background-color: #f2f5fc; color: #2d4550;}
.page__intro::before {content:"\f05a"; font-family:'Font Awesome 5 Pro'; font-weight: 300; 
	position: absolute; left: 30px; top: 50%; transform: translateY(-50%); color: #8babda; font-size: 40px;}
.page__img {padding-top: 46%; margin-bottom: 40px;}
.page__img-caption {font-size: 13px; position: absolute; left: 15px; bottom: 15px; z-index: 10; 
	color: #fff; opacity: 0.9; width: 46%;}

.page__prev-next {gap: 15px 90px; margin-bottom: 30px;}
.page__prev-next-link {min-width: 280px;}
.page__prev-next-link div:first-child {width: 100%; color: var(--accent); font-size: 13px; 
	justify-content: flex-start; margin-bottom: 6px; font-weight: 600; text-transform: uppercase;}
.page__prev-next-link + .page__prev-next-link {text-align: right;}
.page__prev-next-link + .page__prev-next-link div:first-child {justify-content: flex-end;}
.page__tags {margin-bottom: 30px; gap: 10px;}
.page__tags a {display: flex; align-items: center; white-space: nowrap; height: 30px; border-radius: 2px; 
	padding: 0 10px; font-size: 12px; text-transform: uppercase; color: var(--tt-fade); border: 1px solid var(--bdc);}

.page__info {border-bottom: 1px solid var(--bdc); padding-bottom: 20px; margin-bottom: 20px;}
.page__author {display: block; position: relative; padding-left: 50px;}
.page__author-caption {color: var(--tt-fade); font-size: 13px; margin-bottom: 3px;}
.page__author::before, .page__author img {position: absolute; left: 0; top: 50%; transform: translateY(-50%); 
	color: var(--accent); font-size: 40px;}
.page__author img {width: 40px; height: 40px; border-radius: 50%; object-fit: cover;}
.page__rating {gap: 30px;}
.page__rating > * {display: flex; align-items: center; gap: 10px;}
.page__rating > * .fal {font-size: 18px; height: 40px; width: 40px; border-radius: 50%; 
	border: 2px solid var(--ui-green); color: var(--ui-green);}
.page__rating > *:last-child .fal {border: 2px solid var(--ui-red); color: var(--ui-red); }

.ya-dzen {background: #ffdd2e url(../images/ya-dzen-bg.png) center center / cover no-repeat; margin-bottom: 30px;
	border-radius: 10px; padding: 18px 30px; position: relative;}
.ya-dzen__btn {position: absolute; right: 30px; top: 50%; margin-top: -20px; background-color: #e95631;}
.ya-dzen img {display: block; width: 100px; height: 30px; margin-top: 10px;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.full-text {line-height: 1.6; font-size: 17px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: #5278b1;}
.full-text img:not(.emoji), .full-text p, .full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5, 
.full-text > ul, .full-text > ol, .full-text table {margin-bottom: 25px;}
.full-text > img[style*="left"], .full-text > .highslide img[style*="left"] {margin:0 10px 10px 0;}
.full-text > img[style*="right"], .full-text > .highslide img[style*="right"] {margin:0 0 10px 10px;}
.full-text > ul li, .full-text > ol li {padding-left: 60px; position: relative;}
.full-text > ul li:before {content: ''; width: 8px; height: 8px; border-radius: 50%; 
	border: 3px solid #fcc506; position: absolute; top: 6px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: #fcc506; color: #000; 
	position: absolute; top: -3px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 600;
	display: flex; justify-content: flex-end; align-items: center; padding-right: 6px; box-sizing: border-box;}
.full-text > ol li:after {content: ''; border: 10px solid transparent; border-left-color: #fcc506; 
	position: absolute; left: 41px; top: -3px; transform: scale(0.66,1.5); transform-origin: 0 0;}
.full-text > ul li + li, .full-text > ol li + li {margin-top: 10px;}
.full-text table, .video-inside > * {width:100%;}
.full-text table tr td {padding:10px; border:2px solid #fff;}
.full-text table tr:nth-child(2n+1) {background-color:#f2f6f9;} 
.full-text table tr:nth-child(1) {background-color:#cee0ed;}
.full-text table img:not(.emoji) {margin:0; max-width:350px}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 60%; position: relative;}
.video-responsive > iframe, .video-responsive > video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 21px; margin-bottom: 20px;}
.full-text iframe {width: 100%; height: 400px; margin-bottom: 20px;}
.fdl-btn {display: block; position: relative; box-shadow: 0 3px 10px rgba(0,0,0,0.1); 
	text-decoration: none !important; padding: 15px 15px 15px 130px;
	background: linear-gradient(to top, #27ae60, #2ecc71); color: #fff !important; overflow: hidden;}
.fdl-btn-title {font-weight: 600; text-transform: uppercase; word-wrap: break-word;}
.fdl-btn-size {font-size: 14px; margin-top: -2px; margin-bottom: 6px; opacity: 0.9;}
.fdl-btn-caption {opacity: 0.7; font-size: 14px;}
.fdl-btn-dl {font-size: 12px; text-transform: uppercase; margin-left: 15px;}
.fdl-btn > * {position: relative; z-index: 3;}
.fdl-btn-icon {width: 50px; height: 50px; border-radius: 50%; margin-top: -25px; font-size: 24px;
	position: absolute; left: 40px; top: 50%; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 0 0 15px rgba(0,0,0,0.13), 0 0 0 30px rgba(0,0,0,0.08), 0 0 0 45px rgba(0,0,0,0.04);}


/* COMMENTS
----------------------------------------------- */
.page__comments {margin-top: 0px;}
.page__comments-title {font-size: 24px;}
.page__comments-info {color: var(--tt-fade); display: block; margin: 5px 0 20px;}
.page__comments-info::before {color: var(--ui-red); margin-right: 10px;}
.ac-form {margin-bottom: 20px;}
.ac-form__header, .ac-form__editor, .ac-form .message-info {gap: 10px; margin-bottom: 10px;}
.ac-form__btn {padding: 0 60px;}
.ac-form__bottom {gap: 25px;}
.confidential-check {font-size: 14px;}
.ac-form__header > span {margin-left: 15px;}
.ac-form .comments_subscribe {margin-top: 0px;}

.ac-form__editor .bb-editor textarea, .ac-form__editor .fr-wrapper {height: 100px !important;}
.ac-form__editor .fr-view {min-height: 80px !important;}
.ac-form .tox-tinymce {height: 160px !important;}
.comments_subscribe + br, .ac-form .bb-editor + br {display: none;}

.mass_comments_action {display: flex; align-items: center; flex-wrap: wrap; gap: 10px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -28px 0 0; border-radius: 0; box-shadow: none; min-width: 60%;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}

.comm__title {font-size: 18px; margin-bottom: 20px;}

.comm {margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--bdc);}
.comm__img {width: 40px; height: 40px; border-radius: 50%; margin-right: 15px;}
.comm__img::before {content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: var(--ui-red); 
	position: absolute; right: -1px; top: -1px; z-index: 5; border: 2px solid var(--bg);}
.comm--online .comm__img::before {background-color: var(--ui-green);}
.comm__letter {width: 100%; height: 100%; text-transform: uppercase; border-radius: inherit;
	position: absolute; left: 0; top: 0; color: #fff; font-size: 18px; font-weight: var(--ui-fw-bolder);}
.comm__author, .comm__author a {color: var(--tt-colored); font-weight: 600; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 13px; margin-top: 2px;}
.comm__main {margin: 10px 0 6px 0;}
.comm__action {gap: 20px; font-size: 13px;}
.comm__action li, .comm__action li a {color: var(--tt-fade); cursor: pointer; gap: 8px;}
.comm__ctrl, .comm__ctrl a {font-size: 15px; gap: 10px 15px; color: var(--tt-fade);}
.comm__ctrl li.has-checkbox {transform: scale(0.8,0.8); margin: 0 -10px 0 -5px;}
.comm__ctrl li.has-checkbox input {border-color: var(--tt-fade);}
.comm__rating {gap: 10px; font-size: 14px;}
.comm__rating::before {content: attr(data-text); display: inline;}
.comm__rating > * {display: flex; gap: 5px;}
.comm__rating > * > span:first-child {text-decoration: underline; color: var(--ui-green);}
.comm__rating > * + * > span:first-child {color: var(--ui-red);}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); overflow-y: auto;
	background-color: var(--ui-bg); width: 440px; border: 10px solid var(--ui-bg-darker); display: none;
	box-shadow: 0 15px 45px rgba(0,0,0,1); max-width: calc(100vw - 40px); max-height: calc(100vh - 40px);}
.login__header {padding: 20px 50px 25px 50px; border-bottom: 1px solid var(--ui-bdc); position: relative;}
.login__title {font-size: 24px; font-weight: var(--ui-fw-bolder);}
.login__caption {font-size: 13px; color: var(--ui-tt-fade); margin-top: 3px;}
.login__close {font-size: 23px; position: absolute; right: 10px; top: 10px; padding: 0; width: 40px; height: 40px;}
.login__content {display: grid; gap: 20px; padding: 25px 50px; padding-bottom: 30px; position: relative;}
.login__row, .login__row.fal, .login__row.fas {position: relative; display: grid; gap: 10px; justify-content: stretch;}
.login__row-caption a, .login__caption a {margin-left: 10px;}
.login__row::before {position: absolute; left: 2px; bottom: 0; width: 40px; height: 50px; 
	display: grid; place-items: center; opacity: 0.4; font-size: 18px;}
.login__input input {padding-left: 40px; border-radius: 4px; height: 50px; line-height: 48px;}
.login__row button {width: 100%; height: 40px; border-radius: 4px;}
.login__social {padding-top: 10px; text-align: center; gap: 10px;}
.login__social-caption {font-size: 13px; color: var(--ui-tt-fade); width: 100%;}
.login__social a, .login__social img {display: block; width: 34px; height: 34px;}
.login--logged .login__header {padding-left: 115px;}
.login__avatar {width: 50px; height: 50px; position: absolute; left: 50px; top: 25px;}
.login__menu a {border-bottom: 1px solid var(--ui-bdc); padding: 10px 0; width: 100%; justify-content: flex-start;}
.login__menu li:last-child a {border: 0;}
.login__menu a::before {width: 20px; font-size: 18px; text-align: center; color: var(--ui-accent); margin-right: 10px;}

.wrapper2 {position: relative; display: grid; height: 350px; width: 720px; background-color: #fff;}
.blocks {width: 100%; height: 350px; display: grid; grid-template-columns: repeat(4, 185px)}


/* ADAPTIVE, MOBILE MENU
----------------------------------------------- */
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; 
	opacity: 0.6; background-color: #000; cursor: pointer; display: none;}
.mobile-menu {width: 360px; height: 100%; overflow-x: hidden; overflow-y: auto;
	z-index: 999; position: fixed; left: -360px; top: 0; transition: left 0.4s; 
	background-color: var(--bg); visibility: hidden;}
.mobile-menu.is-active {left: 0; visibility: visible;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
@media screen and (max-width: 590px) { .mobile-menu {left: -100vw; width: 100%; height: 100vh;} }
.mobile-menu__header {padding: 0 20px; gap: 10px;}
.mobile-menu__search {background-color: var(--ui-bg-darker); padding: 10px 20px;}
.mobile-menu__search .search-block {margin: 0;}
.mobile-menu__header .logo {height: 60px; line-height: 60px; min-width: 100px; margin: 0;}
.mobile-menu__btn-close {font-size: 24px; width: 40px; height: 40px; margin-right: -10px;}
.mobile-menu__content .header__menu {margin: 0; padding: 20px; display: block;}
.mobile-menu__content .header__menu > li > a {height: 40px; line-height: 40px; padding: 0;}
.mobile-menu__content .header__menu-submenu {width: 100%; height: auto; position: static; display: none;
	border-radius: 0; padding: 5px 0 5px 20px; opacity: 1; visibility: visible; transform: none; box-shadow: none;}
.mobile-menu__content .header__menu-has-submenu > a::after {content:"\f067"; font-size: 18px;}
.mobile-menu__content .header__menu-has-submenu.is-active .header__menu-submenu {display: grid;}
.mobile-menu__content .header__menu-has-submenu.is-active > a::after {content:"\f068";}
.mobile-menu__content .nav-holder {padding: 20px; margin: 0;}

@media screen and (max-width: 1220px) {
	:root {--indent-negative: -20px; --indent: 20px;}
	body {background-image: none;}
	.wrapper {padding: 0; background-image: none; overflow: hidden;}
	.wrapper-container {max-width:1000px;}
	.header .header__menu, .cols__side .nav-holder {display: none;}
	.header__btn-mobmenu {display: flex; font-size: 28px; margin-left: 30px;}
	.header__logo {flex: 1 1 0; min-width: 120px; max-width: 100%; 
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.content {padding-top: 30px;}
	.cols {display: block;}
	.cols__side, .footer__right {margin-top: 30px;}
	.footer__inner {display: block; text-align: center;}
	.footer__logo {min-width: auto; display: inline-block;}
	.footer__socials, .footer__menu {justify-content: center;}
	.wrapper2 {position: relative; display: grid; height: 350px; width: 720px; background-color: #fff;}
	.blocks {width: 100%; max-width: 100%; height: 350px; display: grid; grid-template-columns: repeat(4, 245px)}
}

@media screen and (max-width: 950px) {
	.wrapper-container {max-width:768px;}
	.short {gap: 20px;}
	.wrapper2 {position: relative; display: grid; height: 350px; width: 720px; background-color: #fff;}
	.blocks {width: 100%; max-width: 100%; height: 350px; display: grid; grid-template-columns: repeat(4, 185px);}
}

@media screen and (max-width: 760px) {
	.wrapper-container {max-width:640px;}
	.hero__inner {grid-template-columns: 1fr; padding-top: 30px; padding-bottom: 30px;}
	.hero__btn {grid-column: span 1; grid-row: span 1; margin-top: 5px; justify-self: start;}
	.short__img {width: 160px;}
	.short__fav {left: 120px;}
	.pagination > a, .pagination > span {display: none;}
	.pagination__pages {width: 100%;}

	.page__title {font-size: 24px;}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 20px;}
	.page__intro, .page__text .quote {margin-left: var(--indent-negative); margin-right: var(--indent-negative); padding-right: var(--indent);}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 18px;}
	
	.ac-form__bottom {gap: 10px;}
	.ac-form__bottom button {padding: 0 20px;}
	.ac-form__header input + input {min-width: 100%; order: 10;}
	.ac-form__header > span, .comm__rating::before {display: none;}
	.wrapper2 {position: relative; display: grid; height: 350px; width: 100%; max-width: 100%; background-color: #fff;}
	.blocks {width: 100%; max-width: 100%; height: 350px; display: grid; grid-template-columns: repeat(4, auto);}
}

@media screen and (max-width: 590px) {
	.wrapper-container {max-width:480px;}
	.header__btn-fav, .header__btn-login::before, .descr__img {display: none;}
	.header__btn-mobmenu {margin-left: 10px; margin-right: -10px;}
	.header__btn-login1 {width: 40px; padding: 0;}
	.short__img {width: 100%; height: 180px;}
	.short__fav {left: 20px;}
}

@media screen and (max-width: 470px) {
	.wrapper-container123 {max-width:360px;}
	.login__header, .login__content {padding-left: 20px; padding-right: 20px;}
	.login--logged .login__header {padding-left: 85px;}
	.login__avatar {left: 20px;}
	.login__title span {display: none;}
	.login__input input, .login__row::before {height: 40px; line-height: 38px;}
	.login__menu {margin: -15px 0;}
	.hero__title {font-size: 19px;}
	
	.page__meta, .page__rating {gap: 10px 20px; font-size: 13px;}
	.page__rating .fal {width: 30px; height: 30px; font-size: 14px; border-width: 1px;}
	.page__meta-item:first-child, .page__intro::before {display: none;}
	.page__intro {padding-left: 20px;}
	.page__intro + .page__img {margin-top: -30px; margin-left: -20px; margin-right: -20px;}
	.full-text {font-size: 15px;}
	.ac-form__bottom .comments_subscribe {font-size: 13px;}
	.full-text iframe {width: calc(100% + 40px); max-width: calc(100% + 40px); height: 260px; margin-left: -20px; margin-right: -20px;}
	.blocks {width: 100%; max-width: 100%; height: 350px; display: grid; grid-template-columns: repeat(3, auto)}
	.wrapper2 {position: relative; display: grid; height: 350px; width: 100%; max-width: 100%; background-color: #fff;}
}

/* Стили таблицы (IKSWEB) */
table.iksweb{text-decoration: none;border-collapse:collapse;width:100%;text-align:center;}
table.iksweb th{font-weight:normal;font-size:14px; color:#ffffff;background-color:#354251;}
table.iksweb td{font-size:13px;color:#000000;}
table.iksweb td,table.iksweb th{white-space:pre-wrap;padding:10px 5px;line-height:13px;vertical-align: middle;border: 1px solid #354251;}	table tr:hover{background-color:#f9fafb}
table.iksweb tr:hover td{color:#000000;cursor:default;}
.mobile-table{width: 100%; max-width: 100%; overflow-x: auto;}

table {text-decoration: none;border-collapse:collapse;width:100%;text-align:center;}
table th{font-weight:normal;font-size:14px; color:#ffffff;background-color:#354251;}
table td{font-size:13px;color:#000000;}
table td,table th{white-space:pre-wrap;padding:10px 5px;line-height:13px;vertical-align: middle;border: 1px solid #354251;}	table tr:hover{background-color:#f9fafb}
table tr:hover td{color:#000000;cursor:default;}
.mobile-table{width: 100%; max-width: 100%; overflow-x: auto;}

/* Стили таблицы (IKSWEB) 2 
table.iksweb3{text-decoration: none;border-collapse:collapse;width:100%;text-align:center;}
table.iksweb3 th{font-weight:normal;font-size:14px; color:#ffffff;background-color:#ffffff;}
table.iksweb3 td{font-size:13px;color:#354251;}
table.iksweb3 td,table.iksweb th{white-space:pre-wrap;padding:10px 5px;line-height:13px;vertical-align: middle;border: 1px solid #ffffff;}	table.iksweb tr:hover{background-color:#f9fafb}
table.iksweb3 tr:hover td{color:#354251;cursor:default;}
.mobile-table{width: 100%; max-width: 100%; overflow-x: auto;} */

/* Стили таблицы (IKSWEB) */
table.iksweb3{text-decoration: none;border-collapse:collapse;width:100%;text-align:center;}
table.iksweb3 th{font-weight:normal;font-size:14px; color:#ffffff;background-color:#354251;}
table.iksweb3 td{font-size:13px;color:#000000;}
table.iksweb3 td,table.iksweb th{white-space:pre-wrap;padding:10px 5px;line-height:13px;vertical-align: middle;border: 1px solid #354251;}	table tr:hover{background-color:#f9fafb}
table.ikswe3 tr:hover td{color:#000000;cursor:default;}
.mobile-table{width: 100%; max-width: 100%; overflow-x: auto;}

table {text-decoration: none;border-collapse:collapse;width:100%;text-align:center;}
table th{font-weight:normal;font-size:14px; color:#ffffff;background-color:#354251;}
table td{font-size:13px;color:#000000;}
table td,table th{white-space:pre-wrap;padding:10px 5px;line-height:13px;vertical-align: middle;border: 1px solid #354251;}	table tr:hover{background-color:#f9fafb}
table tr:hover td{color:#000000;cursor:default;}
.mobile-table{width: 100%; max-width: 100%; overflow-x: auto;}

.glow-on-hover {
    width: 220px;
    height: 50px;
    border: none;
    outline: none;
    color: #fff;
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 0;
    border-radius: 10px;
}

.glow-on-hover:before {
    content: '';
    background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
    position: absolute;
    top: -2px;
    left:-2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing 20s linear infinite;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    border-radius: 10px;
}

.glow-on-hover:active {
    color: #000
}

.glow-on-hover:active:after {
    background: transparent;
}

.glow-on-hover:hover:before {
    opacity: 1;
}

.glow-on-hover:after {
    z-index: -1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #111;
    left: 0;
    top: 0;
    border-radius: 10px;
}

@keyframes glowing {
    0% { background-position: 0 0; }
    50% { background-position: 400% 0; }
    100% { background-position: 0 0; }
}

/* Banner
----------------------------------------------- */

.top-banner {
			width: 100%;
			height: auto;
			background-color: #f0f0f0;
			display: flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
			position: relative;
		}
		
		.top-banner img {
			width: 70%;
			height: 70%;
			object-fit: cover;
		}
		
		.top-banner__content {
			position: absolute;
			color: white;
			text-align: center;
			text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
			padding: 0 20px;
			max-width: 90%;
		}
		
		/* Адаптивность для мобильных устройств */
		@media (max-width: 768px) {
			.top-banner {
				height: 150px;
    }
     .contacts-wrapper {
      grid-template-columns: 1fr !important;
    }

    .map-block {
      border-left: none !important;
      border-top: 3px solid #c41e3a !important;
    }
			
		}
		
		@media (max-width: 480px) {
			.top-banner {
				height: 120px;
			}
			
			.top-banner__content h2 {
				font-size: 1.2rem;
			}
			
			.top-banner__content p {
				font-size: 0.9rem;
			}
		}

/* === Modern government school layout 2026 === */
:root{--gm-green:#006b3f;--gm-green-dark:#00452d;--gm-green-soft:#e9f6ef;--gm-text:#172033;--gm-muted:#667085;--gm-border:#e7edf0;--gm-bg:#f5f8f7;--gm-card:#fff;--gm-shadow:0 12px 34px rgba(20,35,45,.08);--gm-radius:18px}
*{box-sizing:border-box}body{background:var(--gm-bg);color:var(--gm-text);font-family:Manrope,Arial,sans-serif}.site-container{width:min(1560px,calc(100% - 40px));margin:0 auto}.topline{background:linear-gradient(90deg,var(--gm-green-dark),var(--gm-green));color:#fff;font-size:13px}.topline__inner{height:36px;display:flex;align-items:center;gap:24px}.topline a,.topline span{color:#fff;text-decoration:none;white-space:nowrap}.topline i{margin-right:6px}.topline__spacer{flex:1}.modern-header{background:#fff;box-shadow:0 4px 22px rgba(0,0,0,.06);position:sticky;top:0;z-index:50}.modern-header__inner{height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:14px;color:var(--gm-text);text-decoration:none;min-width:245px}.brand img{width:54px;height:54px;object-fit:contain}.brand b{display:block;font-size:20px;line-height:1.1}.brand small{display:block;color:var(--gm-muted);font-size:13px;margin-top:3px}.topnav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.topnav a{color:var(--gm-text);text-decoration:none;font-weight:700;font-size:15px}.topnav a:hover{color:var(--gm-green)}.search-toggle{font-size:20px;color:var(--gm-text)}.header__btn-login{height:46px;border-radius:10px;background:var(--gm-green)!important;color:#fff!important;padding:0 18px!important;box-shadow:0 8px 20px rgba(0,107,63,.25)}.header__btn-login span{font-family:Manrope,Arial,sans-serif;font-weight:700;margin-left:8px}.header__btn-fav{display:none!important}.header__btn-mobmenu{display:none;color:var(--gm-green);font-size:24px}.layout-grid{display:grid;grid-template-columns:280px minmax(0,1fr)260px;gap:20px;align-items:start;padding:20px 0 28px}.left-rail,.right-rail{position:sticky;top:98px;align-self:start}.rail-card,.content-card,.important-panel,.announcements,.official-wide{background:#fff;border:1px solid var(--gm-border);border-radius:var(--gm-radius);box-shadow:var(--gm-shadow)}.rail-card{padding:16px;margin-bottom:16px}.rail-title{font-weight:800;color:var(--gm-green);margin-bottom:14px;display:flex;gap:9px;align-items:center}.nav-card{padding:0;overflow:hidden}.nav-card .rail-title{padding:16px 18px 6px}.nav-card .search-block{padding:0 14px 14px}.search-block__input{border:1px solid var(--gm-border)!important;border-radius:12px!important;background:#fff!important;height:42px!important}.nav-card #cssmenu{background:#fff!important;border:0!important;width:100%!important}.nav-card #cssmenu ul,.nav-card #cssmenu li{background:transparent!important}.nav-card #cssmenu>ul>li>a{background:#fff!important;color:#27364a!important;border-top:1px solid #eef2f4!important;padding:12px 18px!important;font-weight:700!important}.nav-card #cssmenu>ul>li>a:hover,.nav-card #cssmenu>ul>li.active>a{background:var(--gm-green-soft)!important;color:var(--gm-green)!important}.nav-card #cssmenu ul ul li a{background:#f8fbfa!important;color:#475467!important;border-top:1px solid #eef2f4!important;padding:10px 16px 10px 28px!important;font-size:13px!important}.calendar-mini{text-align:center;color:#344054}.calendar-mini table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px}.calendar-mini td,.calendar-mini th{padding:5px}.calendar-mini .is-today{background:var(--gm-green);color:#fff;border-radius:50%;font-weight:800}.social-round{display:flex;gap:8px;flex-wrap:wrap}.social-round a{width:34px;height:34px;border-radius:50%;background:var(--gm-green);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.hero-modern{min-height:270px;border-radius:0 0 var(--gm-radius) var(--gm-radius);overflow:hidden;background:linear-gradient(90deg,rgba(0,55,37,.85) 0%,rgba(0,70,47,.62) 42%,rgba(0,0,0,.05) 70%),url('../images/hero-bg.jpg') center/cover no-repeat;box-shadow:var(--gm-shadow);display:flex;align-items:center}.hero-modern__content{padding:46px 56px;color:#fff;max-width:560px}.hero-kicker{font-size:42px;line-height:1.08;margin-bottom:16px}.hero-kicker b{display:block;font-size:48px}.hero-modern p{font-size:18px;line-height:1.55;margin-bottom:24px}.hero-btn{display:inline-flex;gap:10px;align-items:center;background:var(--gm-green);color:#fff!important;text-decoration:none;border-radius:12px;padding:14px 20px;font-weight:800}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--gm-border);border-radius:16px;box-shadow:var(--gm-shadow);margin:-28px 28px 20px;position:relative;z-index:2;overflow:hidden}.quick-actions a{display:grid;grid-template-columns:46px 1fr;gap:8px 14px;padding:22px;text-decoration:none;color:var(--gm-text);border-right:1px solid var(--gm-border)}.quick-actions a:last-child{border-right:0}.quick-actions i{grid-row:1/3;width:46px;height:46px;border-radius:14px;background:var(--gm-green-soft);color:var(--gm-green);display:grid;place-items:center;font-size:23px}.quick-actions b{font-size:15px}.quick-actions span{font-size:13px;color:var(--gm-muted);line-height:1.35}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-head h1,.section-head h2{font-size:24px;margin:0}.section-head h1:before,.section-head h2:before{content:'';display:inline-block;width:4px;height:22px;background:var(--gm-green);border-radius:4px;margin-right:10px;vertical-align:-4px}.section-head a{color:var(--gm-green);font-weight:800;text-decoration:none}.important-panel{padding:18px;margin-bottom:20px}.important-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.important-grid a{background:#f8fbfa;border:1px solid var(--gm-border);border-radius:14px;padding:16px;text-decoration:none;color:var(--gm-text);min-height:112px}.important-grid i{color:var(--gm-green);font-size:26px;margin-bottom:10px}.important-grid b{display:block;font-size:14px}.important-grid span{display:block;color:var(--gm-muted);font-size:12px;margin-top:5px;line-height:1.35}.news-section{margin-bottom:20px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.news-card{background:#fff;border:1px solid var(--gm-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(20,35,45,.06);position:relative;display:flex!important;flex-direction:column}.news-card__img{height:160px;background:#eef2f4;display:block;overflow:hidden}.news-card__img img{width:100%;height:100%;object-fit:cover;display:block}.news-card__body{padding:16px}.news-card__date{color:var(--gm-muted);font-size:13px;margin-bottom:8px}.news-card__title{font-size:17px;line-height:1.25;margin:0 0 9px}.news-card__title a{color:var(--gm-text);text-decoration:none}.news-card__text{color:#475467;font-size:14px;line-height:1.45;margin:0 0 12px}.news-card__more{color:var(--gm-green);font-weight:800;text-decoration:none;font-size:13px}.short__fav{position:absolute;right:12px;top:12px}.short__fav a,.short__fav span{background:rgba(255,255,255,.88);border-radius:10px;color:var(--gm-green);width:32px;height:32px;display:grid;place-items:center}.announcements{padding:18px;margin-bottom:20px}.announcements>a{display:grid;grid-template-columns:58px 1fr;gap:0 14px;padding:12px 0;border-top:1px solid var(--gm-border);color:var(--gm-text);text-decoration:none}.announcements time{grid-row:1/3;background:var(--gm-green-soft);color:var(--gm-green);border-radius:12px;display:grid;place-items:center;font-weight:900;text-transform:uppercase}.announcements time span{font-size:11px}.announcements b{align-self:end}.announcements span{color:var(--gm-muted);font-size:13px}.official-card{padding:16px}.official-banners{display:grid;gap:10px}.official-card .official-banners a{display:block;background:#fff;border:1px solid var(--gm-border);border-radius:10px;overflow:hidden;padding:6px}.official-banners img{display:block;max-width:100%;height:auto;margin:auto}.all-resources{display:flex;justify-content:center;gap:8px;margin-top:12px;color:var(--gm-green);font-weight:800;text-decoration:none}.official-wide{padding:20px;margin-bottom:0}.official-wide .official-banners{grid-template-columns:repeat(5,1fr)}.official-wide .official-banners a{background:#fff;border:1px solid var(--gm-border);border-radius:12px;padding:10px;display:flex;align-items:center;justify-content:center;min-height:74px}.content-card{padding:24px}.modern-footer{background:linear-gradient(135deg,var(--gm-green-dark),#002f22);color:#fff;margin-top:30px;padding:34px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}.modern-footer a,.modern-footer p{color:rgba(255,255,255,.84);text-decoration:none}.modern-footer h3{color:#fff;margin:0 0 12px}.brand--footer{color:#fff}.brand--footer small{color:rgba(255,255,255,.75)}.footer-map{width:100%;border-radius:12px;background:#fff;padding:6px}.serv.login{z-index:200}.speedbar{margin-bottom:16px;color:var(--gm-muted)}
@media(max-width:1200px){.layout-grid{grid-template-columns:260px minmax(0,1fr)}.right-rail{display:none}.official-wide .official-banners{grid-template-columns:repeat(3,1fr)}.important-grid{grid-template-columns:repeat(3,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.site-container{width:min(100% - 24px,1560px)}.topline__inner{overflow:auto}.topnav{display:none}.header__btn-mobmenu{display:block}.modern-header__inner{height:68px}.layout-grid{grid-template-columns:1fr}.left-rail{position:static;order:2}.main-area{order:1}.hero-modern__content{padding:34px 24px}.hero-kicker{font-size:32px}.hero-kicker b{font-size:38px}.quick-actions{margin:12px 0;grid-template-columns:1fr}.important-grid,.news-grid,.official-wide .official-banners,.footer-grid{grid-template-columns:1fr}.quick-actions a{border-right:0;border-bottom:1px solid var(--gm-border)}}

/* ===== Refinement pass: closer to approved mockup ===== */
.site-container{width:min(100% - 36px,1680px)}
.layout-grid{grid-template-columns:300px minmax(0,1fr) 300px;gap:22px;padding-top:18px}.main-area{min-width:0}.left-rail,.right-rail{top:104px}
.rail-card{border-radius:16px;box-shadow:0 12px 32px rgba(15,48,38,.07)}
.nav-card{border-color:#dcebe5}.nav-card .rail-title{font-size:15px;padding:17px 18px 8px;background:#fbfefd}.nav-card .search-block{padding:0 14px 12px}.nav-card #cssmenu{font-family:Manrope,Arial,sans-serif!important}.nav-card #cssmenu>ul{padding:4px 8px 10px!important}.nav-card #cssmenu>ul>li{margin:2px 0!important;border-radius:10px!important;overflow:hidden!important}.nav-card #cssmenu>ul>li>a{border:0!important;border-radius:10px!important;padding:10px 34px 10px 13px!important;min-height:38px;display:flex!important;align-items:center;font-size:13px!important;line-height:1.25!important;letter-spacing:-.01em;background:#fff!important;position:relative}.nav-card #cssmenu>ul>li>a:before{content:'\f111';font-family:'Font Awesome 5 Free';font-weight:900;font-size:5px;color:#0b7a4b;margin-right:9px;opacity:.55}.nav-card #cssmenu>ul>li.has-sub>a:after{content:'\f107';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:#8aa59a}.nav-card #cssmenu>ul>li.active>a,.nav-card #cssmenu>ul>li>a:hover{background:#eaf7f1!important;color:#006b3f!important}.nav-card #cssmenu ul ul{padding:4px 0 7px!important;background:#f7fbf9!important;border-radius:0 0 10px 10px!important}.nav-card #cssmenu ul ul li a{border:0!important;background:transparent!important;padding:7px 12px 7px 30px!important;font-size:12.5px!important;line-height:1.25!important;color:#4a5b55!important}.nav-card #cssmenu ul ul li a:hover{color:#006b3f!important;background:#eef8f3!important}.search-block__input{font-size:13px!important;padding-left:14px!important}.calendar-card,.socials-card,.poll-card{padding:16px;border-color:#e2eee9}.social-round{gap:9px}.social-round a{width:34px;height:34px;color:#fff!important;text-decoration:none!important;box-shadow:0 8px 16px rgba(0,0,0,.08)}.social-round a:nth-child(1){background:#4d76a1}.social-round a:nth-child(2){background:#29a9eb}.social-round a:nth-child(3){background:#ee8208}.social-round a:nth-child(4){background:#f00000}.social-round a:nth-child(5){background:radial-gradient(circle at 30% 110%,#fdf497 0,#fdf497 10%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.hero-modern{min-height:300px;border-radius:16px;background-position:center;position:relative}.hero-modern:after{content:'';position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:92px;height:12px;background:radial-gradient(circle,#fff 45%,transparent 48%) 0 0/18px 12px repeat-x;opacity:.9}.hero-modern__content{padding:48px 64px}.hero-kicker{font-size:46px}.hero-kicker b{font-size:54px}.quick-actions{margin:-34px 32px 22px;border-radius:18px}.quick-actions a{padding:22px 18px}.quick-actions i{width:52px;height:52px;border-radius:50%}.important-grid a{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.news-section--slider{position:relative}.news-carousel{position:relative}.news-section--slider .news-track{display:flex!important;grid-template-columns:none!important;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 4px 16px;scrollbar-width:none}.news-section--slider .news-track::-webkit-scrollbar{display:none}.news-section--slider .news-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-height:330px}.news-card{border-radius:14px;box-shadow:0 12px 30px rgba(15,48,38,.08);transition:transform .2s ease,box-shadow .2s ease}.news-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,48,38,.12)}.news-card__img{height:145px}.news-card__body{padding:15px 16px 16px}.news-card__title{font-size:16px}.news-card__text{font-size:13px;max-height:76px;overflow:hidden}.news-carousel__btn{position:absolute;top:50%;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#006b3f;box-shadow:0 8px 22px rgba(15,48,38,.18);display:grid;place-items:center;cursor:pointer;transform:translateY(-50%)}.news-carousel__btn--prev{left:-14px}.news-carousel__btn--next{right:-14px}.news-carousel__btn:disabled{opacity:.25;cursor:default}.news-carousel:not(.is-scrollable) .news-carousel__btn{display:none}.official-card{padding:14px}.official-card .official-banners{gap:9px}.official-card .official-banners a{min-height:72px;display:flex!important;align-items:center;justify-content:center;border-radius:12px}.official-card .official-banners img{max-height:122px;object-fit:contain}.official-wide{margin-top:8px}.official-wide .official-banners{grid-template-columns:repeat(6,1fr);gap:12px}.official-wide .official-banners a{min-height:100px}.official-wide .official-banners img{max-height:90px;object-fit:contain}.modern-footer{margin-top:26px}
@media(max-width:1400px){.layout-grid{grid-template-columns:270px minmax(0,1fr)260px;gap:18px}.news-section--slider .news-card{flex-basis:calc((100% - 20px)/2)}.official-wide .official-banners{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1200px){.layout-grid{grid-template-columns:260px minmax(0,1fr)}.right-rail{display:none}.news-section--slider .news-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:900px){.site-container{width:min(100% - 24px,1680px)}.news-section--slider .news-card{flex-basis:86%}.news-carousel__btn{display:none!important}.official-wide .official-banners{grid-template-columns:repeat(2,1fr)}.nav-card #cssmenu>ul>li>a{font-size:14px!important}}

/* v4: precise clean sidebar matching approved mockup */
.left-rail{width:300px!important;}
.rail-card.nav-card{
  background:#fff!important;
  border:1px solid #eef3f1!important;
  border-radius:0!important;
  box-shadow:0 8px 24px rgba(16,40,32,.04)!important;
  overflow:visible!important;
  padding:0!important;
}
.nav-card .rail-title{
  height:58px!important;
  padding:0 18px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:#fff!important;
  border-bottom:1px solid #f0f4f2!important;
  color:#006b3f!important;
  font-family:Inter,Manrope,Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
.nav-card .rail-title i{font-size:18px!important;color:#006b3f!important;line-height:1!important;}
.nav-card #cssmenu,
.nav-card #cssmenu ul,
.nav-card #cssmenu li,
.nav-card #cssmenu a{
  font-family:Inter,Manrope,Arial,sans-serif!important;
  text-shadow:none!important;
  filter:none!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.nav-card #cssmenu{background:#fff!important;border:0!important;width:100%!important;color:#172b27!important;}
.nav-card #cssmenu>ul{background:#fff!important;padding:12px 14px 12px!important;margin:0!important;}
.nav-card #cssmenu>ul>li{
  margin:0 0 2px!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.nav-card #cssmenu>ul>li>a{
  min-height:36px!important;
  height:auto!important;
  padding:9px 34px 9px 36px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#273c38!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.28!important;
  text-decoration:none!important;
  letter-spacing:-.005em!important;
}
.nav-card #cssmenu>ul>li>a span{display:block!important;white-space:normal!important;}
.nav-card #cssmenu>ul>li>a:hover,
.nav-card #cssmenu>ul>li.open>a{
  background:#f4faf7!important;
  color:#006b3f!important;
}
.nav-card #cssmenu>ul>li.active>a{
  background:#e9f7ef!important;
  color:#006b3f!important;
  border-radius:8px!important;
  font-weight:800!important;
}
.nav-card #cssmenu>ul>li>a:before{
  content:'\f111'!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:16px!important;
  height:16px!important;
  display:grid!important;
  place-items:center!important;
  font-family:'Font Awesome 5 Pro'!important;
  font-weight:900!important;
  font-size:11px!important;
  color:#61746f!important;
  opacity:1!important;
  margin:0!important;
  line-height:1!important;
}
.nav-card #cssmenu>ul>li.active>a:before,
.nav-card #cssmenu>ul>li>a:hover:before,
.nav-card #cssmenu>ul>li.open>a:before{color:#006b3f!important;}
.nav-card #cssmenu>ul>li.has-sub>a:after{display:none!important;content:none!important;}
.nav-card #cssmenu .holder{
  display:block!important;
  width:28px!important;
  height:36px!important;
  position:absolute!important;
  right:3px!important;
  top:0!important;
  z-index:5!important;
  background:transparent!important;
}
.nav-card #cssmenu .holder:before,
.nav-card #cssmenu .holder:after{
  content:''!important;
  display:block!important;
  width:7px!important;
  height:7px!important;
  position:absolute!important;
  right:11px!important;
  top:13px!important;
  border:0!important;
  border-right:1.5px solid #758782!important;
  border-bottom:1.5px solid #758782!important;
  transform:rotate(45deg)!important;
  background:transparent!important;
}
.nav-card #cssmenu .holder:before{display:none!important;}
.nav-card #cssmenu>ul>li.open>.holder:after{transform:rotate(225deg)!important;top:16px!important;border-color:#006b3f!important;}
.nav-card #cssmenu>ul>li:nth-child(1)>a:before{content:'\f015'!important;}
.nav-card #cssmenu>ul>li:nth-child(2)>a:before{content:'\f1ad'!important;}
.nav-card #cssmenu>ul>li:nth-child(3)>a:before{content:'\f0c0'!important;}
.nav-card #cssmenu>ul>li:nth-child(4)>a:before{content:'\f19d'!important;}
.nav-card #cssmenu>ul>li:nth-child(5)>a:before{content:'\f02d'!important;}
.nav-card #cssmenu>ul>li:nth-child(6)>a:before{content:'\f518'!important;}
.nav-card #cssmenu>ul>li:nth-child(7)>a:before{content:'\f02d'!important;}
.nav-card #cssmenu>ul>li:nth-child(8)>a:before{content:'\f5da'!important;}
.nav-card #cssmenu>ul>li:nth-child(9)>a:before{content:'\f14e'!important;}
.nav-card #cssmenu>ul>li:nth-child(10)>a:before{content:'\f3d1'!important;}
.nav-card #cssmenu>ul>li:nth-child(11)>a:before{content:'\f3ed'!important;}
.nav-card #cssmenu>ul>li:nth-child(12)>a:before{content:'\f06a'!important;}
.nav-card #cssmenu>ul>li:nth-child(13)>a:before{content:'\f0e0'!important;}
.nav-card #cssmenu>ul>li:nth-child(14)>a:before{content:'\f5dc'!important;}
.nav-card #cssmenu>ul>li:nth-child(15)>a:before{content:'\f1e3'!important;}
.nav-card #cssmenu>ul>li:nth-child(16)>a:before{content:'\f073'!important;}
.nav-card #cssmenu>ul>li:nth-child(17)>a:before{content:'\f0eb'!important;}
.nav-card #cssmenu>ul>li:nth-child(18)>a:before{content:'\f0c0'!important;}
.nav-card #cssmenu>ul>li:nth-child(19)>a:before{content:'\f19d'!important;}
.nav-card #cssmenu>ul>li:nth-child(20)>a:before{content:'\f091'!important;}
.nav-card #cssmenu>ul>li:nth-child(21)>a:before{content:'\f0b1'!important;}
.nav-card #cssmenu ul ul{
  display:none;
  margin:0 0 6px 48px!important;
  padding:9px 0 9px 12px!important;
  background:#f8fbfa!important;
  border:1px solid #e4f1eb!important;
  border-left:2px solid #cfe9dd!important;
  border-radius:0 0 12px 12px!important;
  box-shadow:none!important;
}
.nav-card #cssmenu li.open>ul{display:block;}
.nav-card #cssmenu ul ul li{background:transparent!important;border:0!important;margin:0!important;}
.nav-card #cssmenu ul ul li a{
  background:transparent!important;
  color:#50635e!important;
  border:0!important;
  box-shadow:none!important;
  padding:7px 10px!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.25!important;
  border-radius:7px!important;
}
.nav-card #cssmenu ul ul li a:hover,
.nav-card #cssmenu ul ul li.active>a{
  background:#eef8f3!important;
  color:#006b3f!important;
}
.nav-card #cssmenu ul ul li a:before,
.nav-card #cssmenu ul ul li a:after,
.nav-card #cssmenu ul ul li.has-sub>a:after{display:none!important;content:none!important;}
.nav-card .search-block{padding:10px 14px 14px!important;border-top:1px solid #f0f4f2!important;background:#fff!important;}
.search-block__form{position:relative!important;}
.search-block__input{
  height:40px!important;
  border:1px solid #e4ebe8!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#465a55!important;
  font-size:13px!important;
  padding:0 38px 0 12px!important;
  box-shadow:0 6px 14px rgba(16,40,32,.06)!important;
}
.search-block__btn{right:10px!important;color:#536660!important;font-size:18px!important;}
@media(max-width:1200px){.left-rail{width:auto!important;}}

/* v6: sidebar dropdown polish - centered, click-only */
.nav-card #cssmenu li:hover > ul{
  display:none!important;
}
.nav-card #cssmenu li.open > ul{
  display:block!important;
}
.nav-card #cssmenu ul ul{
  margin:6px auto 10px auto!important;
  width:calc(100% - 52px)!important;
  max-width:220px!important;
  padding:6px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.nav-card #cssmenu ul ul:before,
.nav-card #cssmenu ul ul:after{
  display:none!important;
  content:none!important;
}
.nav-card #cssmenu ul ul li{
  margin:0 0 6px 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.nav-card #cssmenu ul ul li:last-child{
  margin-bottom:0!important;
}
.nav-card #cssmenu ul ul li a{
  display:block!important;
  width:100%!important;
  padding:8px 12px!important;
  background:#eef8f3!important;
  border:0!important;
  border-radius:9px!important;
  color:#007044!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.25!important;
  box-shadow:none!important;
  text-align:left!important;
}
.nav-card #cssmenu ul ul li a:hover,
.nav-card #cssmenu ul ul li.active > a{
  background:#e3f4ec!important;
  color:#005f3b!important;
}
.nav-card #cssmenu ul ul li a:before,
.nav-card #cssmenu ul ul li a:after,
.nav-card #cssmenu ul ul li:before,
.nav-card #cssmenu ul ul li:after{
  display:none!important;
  content:none!important;
}

/* v11: DLE wraps disabled prev/next into an extra span on first/last page. Reset that wrapper so no green active-page frame appears. */
.news-section--tiles .pagination .pagination__btns > span:not(.pagination__btn){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:0!important;
    color:inherit!important;
}
.news-section--tiles .pagination .pagination__btns > span:not(.pagination__btn) > .pagination__btn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #e7edf0!important;
    border-color:#e7edf0!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--gm-green)!important;
    box-shadow:none!important;
    outline:0!important;
}
.news-section--tiles .pagination .pagination__btns > span:not(.pagination__btn):hover,
.news-section--tiles .pagination .pagination__btns > span:not(.pagination__btn):focus,
.news-section--tiles .pagination .pagination__btns > span:not(.pagination__btn):active{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}
.news-section--tiles .pagination .pagination__btns--prev > span,
.news-section--tiles .pagination .pagination__btns--next > span{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}


/* Footer final alignment and clickable developer link */
.footer-modern-final {
    padding: 32px 0 22px !important;
    margin-top: 26px;
}
.footer-grid-final {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap: 54px;
    align-items: start;
}
.footer-modern-final h3 {
    margin: 0 0 18px !important;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}
.footer-modern-final p {
    margin: 0 0 14px;
    line-height: 1.55;
}
.footer-brand-final {
    align-items: center;
    margin-bottom: 18px;
}
.footer-brand-final img {
    width: 58px;
    height: 58px;
}
.footer-brand-final b {
    font-size: 18px;
    color: #fff;
}
.footer-brand-final small {
    margin-top: 16px;
    font-size: 18px;
    font-style: italic;
    font-family: Georgia, 'Times New Roman', serif;
    color: #fff !important;
}
.footer-heart {
    color: #ff4d45;
    font-style: normal;
    font-family: Arial, sans-serif;
}
.footer-copy {
    color: rgba(255,255,255,.92) !important;
    font-size: 14px;
}
.footer-reginfo {
    margin-top: 16px;
    padding-left: 14px;
    border-left: 2px solid rgba(255,255,255,.32);
    color: rgba(255,255,255,.92);
    font-size: 14px;
    line-height: 1.75;
}
.footer-reginfo strong {
    color: #fff;
    font-weight: 800;
}
.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    color: #fff;
    font-size: 15px;
    line-height: 1.45;
}
.footer-contact-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 50%;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #fff;
}
.footer-contact-item a,
.footer-links a,
.footer-map-link,
.footer-dev {
    color: rgba(255,255,255,.92) !important;
    text-decoration: none;
}
.footer-contact-item a:hover,
.footer-links a:hover,
.footer-map-link:hover,
.footer-dev:hover {
    color: #fff !important;
    text-decoration: underline;
}
.footer-dev {
    display: inline-block;
    margin-top: 12px;
    font-size: 14px;
    color: rgba(255,255,255,.58) !important;
}
.footer-links p {
    margin: 0 0 11px;
    font-size: 15px;
}
.footer-map-card {
    max-width: 360px;
    background: #fffaf0;
    border: 6px solid #fffaf0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.footer-map-card iframe {
    display: block;
    width: 100%;
    height: 136px;
    border: 0;
    border-radius: 7px;
}
.footer-map-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 14px;
}
@media (max-width: 900px) {
    .footer-grid-final { grid-template-columns: 1fr; gap: 28px; }
    .footer-dev { margin-top: 4px; }
    .footer-map-card { max-width: 100%; }
}


/* Director card restored in right column */
.director-card-final {
    text-align: center;
    padding: 18px 16px 20px !important;
}
.director-card-final .rail-title {
    justify-content: center;
    margin-bottom: 14px !important;
}
.director-photo-wrap {
    width: 100%;
    max-width: 220px;
    margin: 0 auto 14px;
    padding: 6px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0,0,0,.13);
}
.director-photo-wrap img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.director-name {
    color: var(--gm-dark, #10231d);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 6px;
}
.director-meta {
    color: #5d6d68;
    font-size: 13px;
    margin-bottom: 4px;
}
.director-phone {
    color: var(--gm-green, #006b3f) !important;
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
}
.director-phone:hover {
    text-decoration: underline;
}

/* Director card: restored to the original right-column look */
.director-card-old-style {
    padding: 0 0 18px !important;
    overflow: hidden;
    text-align: center;
    background: #ffffff;
    border: 1px solid #dfe9e5;
    border-radius: 16px;
    box-shadow: 0 16px 38px rgba(17, 37, 31, .08);
}
.director-card-old-style .rail-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    padding: 17px 18px;
    border-bottom: 1px solid #dfe9e5;
    color: var(--gm-green, #007a46);
    font-size: 17px;
    font-weight: 800;
    text-align: left;
}
.director-card-old-style .rail-title i {
    color: var(--gm-green, #007a46);
}
.director-card-old-style .director-photo-wrap {
    width: auto;
    max-width: none;
    margin: 18px 18px 15px;
    padding: 0;
    background: transparent;
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}
.director-card-old-style .director-photo-wrap img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.director-card-old-style .director-name {
    color: var(--gm-dark, #10231d);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.22;
    margin: 0 18px 4px;
}
.director-card-old-style .director-meta {
    color: #71827c;
    font-size: 14px;
    margin: 0 18px 9px;
}
.director-card-old-style .director-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--gm-green, #007a46) !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    margin-bottom: 16px;
}
.director-card-old-style .director-phone:hover {
    text-decoration: underline;
}
.director-card-old-style .director-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0 18px;
    min-height: 44px;
    border-radius: 10px;
    background: #e7f5ee;
    color: var(--gm-green, #007a46) !important;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.director-card-old-style .director-more:hover {
    background: #d5eee2;
    transform: translateY(-1px);
}

/* ==========================================================
   Clean final: правая колонка без смещения при прокрутке
   ========================================================== */
.layout-grid .right-rail,
.right-rail {
    position: static !important;
    top: auto !important;
    transform: none !important;
    will-change: auto !important;
}

/* SAFE DLE CALENDAR STYLE — без удаления стилей сайта */
.calendar-card .calendar-mini > b {
    display: none !important;
}

.calendar-card .calendar-mini table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0;
    border: 1px solid #e4ebe8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.calendar-card .calendar-mini th {
    background: #006b3f !important;
    color: #fff !important;
    border: 0 !important;
    padding: 9px 6px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.calendar-card .calendar-mini td {
    border: 0 !important;
    border-right: 1px solid #e6ecea !important;
    border-bottom: 1px solid #e6ecea !important;
    background: #fff !important;
    color: #263832 !important;
    padding: 6px 3px !important;
    text-align: center !important;
    font-size: 13px !important;
}

.calendar-card .calendar-mini tr td:last-child {
    border-right: 0 !important;
}

.calendar-card .calendar-mini tr:last-child td {
    border-bottom: 0 !important;
}

.calendar-card .calendar-mini td a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #e7f5ee;
    color: #006b3f !important;
    font-weight: 800;
    text-decoration: none !important;
}

.calendar-card .calendar-mini td a:hover {
    background: #006b3f;
    color: #fff !important;
}

.calendar-card .calendar-mini td b,
.calendar-card .calendar-mini td strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #006b3f;
    color: #fff;
    font-weight: 800;
}
