/* ================================================
   БАЗОВЫЕ СТИЛИ
   ================================================ */
html,
body {
    background-color: #fafafa;
    font-size: 1em;
    color: #333333;
    font-family: Arial, sans-serif;
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

ul,
ol {
    padding-left: 30px;
}

.btn-group-sm > .btn,
.btn-sm {
    font-size: .875em;
}

form {
    margin: 0;
    justify-content: center;
}

.navblock {
    margin-bottom: 0;
}

.navprev,
.navnext {
    display: inline-block;
}

.navnext {
    float: right;
}

.navprev a,
.navnext a {
    color: #888;
}

/* ================================================
   ССЫЛКИ
   ================================================ */
a {
    outline: none !important;
    color: var(--link-color, #007bff);
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
    color: var(--link-hover-color, #0056b3);
}

/* ================================================
   ИЗОБРАЖЕНИЯ
   ================================================ */
img {
    max-width: 100%;
    height: auto;
}

img.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

img.alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
}

img.aligncenter {
    display: block;
    margin: 0 auto 20px auto;
}

img.signature {
    margin: 0 4px 0 0 !important;
    position: relative;
    top: -5px;
}

/* ================================================
   ОСНОВНОЙ КОНТЕНТ
   ================================================ */
#wrapper-content {
    flex: 1;
    background: #fafafa;
    padding-top: 6px;
}

#calendar_wrap td {
    padding: 6px;
}

#calendar_wrap tfoot {
    display: none;
}

#calendar_wrap caption {
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
    margin-bottom: 10px;
}

.slb_group_status {
    display: none !important;
}

.attachment-thumbnail {
    margin: 0 auto;
}

/* ================================================
   ЗАГОЛОВКИ
   ================================================ */
.h2,
h2 {
    font-size: 1.2em;
}

.h5,
h5 {
    font-size: 1.1em;
}

/* ================================================
   КНОПКИ И МЕТА-ДАННЫЕ
   ================================================ */
.more-link {
    display: block;
    border-top: 1px solid #e5e5e5;
    margin-top: 20px;
    padding-top: 10px;
    clear: both;
}

.blogbottom span {
    margin-right: 5px;
    color: #fff;
    border: 1px solid #fff;
    font-size: 12px;
    padding: 2px 8px;
    display: inline-block;
    margin-bottom: 5px;
}

.blogbottom span a {
    color: #fff;
}

.blogbottom .fa {
    margin-right: 4px;
}

.blogbottom-single > div,
.blogbottom-single > ul > li {
    margin-bottom: 5px;
}

.blogbottom-single div {
    background: var(--info-bg, #0094dd);
    color: var(--info-color, #fff);
    font-size: 0.8em;
    margin-right: 5px;
    padding: 2px 10px;
    border-radius: 4px;
    display: inline-block;
}

.blogbottom-single div a:hover {
    color: var(--info-color, #fff);
}

.blogbottom-single .tags-blog {
    list-style: none;
    display: inline-block;
    margin: 0;
    padding: 0;
}

.blogbottom-single .tags-blog li {
    background: var(--tags-bg, #ff5422);
    display: inline-block;
    font-size: 0.8em;
    margin-right: 5px;
    padding: 2px 10px;
    border-radius: 4px;
}

.blogbottom-single .tags-blog li a:hover {
    color: var(--tags-color, #fff);
}

.blogbottom-single .tags-blog li::before {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
    content: "\f02c";
    font-weight: 900;
    font-size: 12px;
    color: var(--tags-color, #fff);
    margin-right: 6px;
}

.rubric-blog > a::before {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
    content: "\f07b";
    font-weight: 900;
    font-size: 12px;
    color: var(--info-color, #fff);
    margin-right: 6px;
}

.blogbottom-single a {
    color: var(--info-color, #fff);
}

.blogbottom-single i {
    margin-right: 5px;
}

/* ================================================
   ЗАПИСИ И АРХИВЫ
   ================================================ */
.img-news-single {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
    padding-top: 5px;
}

.img-news-archive-thumbnail {
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.post-archive {
    border: 1px solid #ccc;
}

.archive-page,
h2.table-title,
.homepage-title {
    background: var(--titlepage-bg, #01a0e2);
    color: var(--titlepage-color, #fff);
    padding: 10px;
    margin: 0;
}

.text-center.homepage-title {
    margin-left: -7px;
    margin-right: -7px;
    margin-top: 0;
    margin-bottom: 7px;
}

.icon-color {
    color: #01a0e2;
}

/* ================================================
   МЕНЮ С ИКОНКАМИ
   ================================================ */
.icon-menu.custom {
    justify-content: center;
    padding: 0;
    margin-bottom: 0;
}

.icon-menu.custom > li {
    padding: 10px;
    text-align: center;
    background-color: var(--iconmenu-bg, #01a0e2);
    list-style: none;
    border: 5px solid #fafafa;
    border-radius: 10px;
}

.icon-menu.custom > li > a:after {
    display: block;
    content: "";
    margin: 10px auto;
    background-color: #fff;
    width: 20%;
    height: 3px;
    transition-duration: .4s;
}

.icon-menu.custom > li > a:hover:after {
    width: 80%;
    transition-duration: .4s;
}

.icon-menu.custom .current-menu-item,
.icon-menu.custom li:hover {
    background-color: var(--iconmenu-hover, #0286bc);
}

.icon-menu.custom li a {
    color: #fff;
}

.icon-menu-section {
    background: #fafafa;
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
}

#BottomBanners .custom.row > li::before {
    display: block;
    text-align: center;
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
    font-weight: 900;
    margin: 10px auto 20px auto;
    width: 80px;
    height: 80px;
    border: 4px solid #fff;
    border-radius: 50%;
    line-height: 70px;
    color: #fff;
    font-size: 30px;
}

#BottomBanners .custom.row > li a {
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1.3;
    font-size: 0.875rem;
}

.icon-menu.custom > li ul {
    display: none !important;
}

/* ================================================
   ЛОГОТИП И ШАПКА
   ================================================ */
.custom-logo {
    float: left;
    margin-right: 30px;
}

.titleheader {
    overflow: hidden;
    display: flex;
    align-items: center;
    text-align: center !important;
    justify-content: center !important;
}

.titleheader h1 {
    line-height: 30px;
    font-size: 22px;
    color: #545454;
    text-transform: uppercase;
}

.titleheader p {
    color: #c94c08;
    font-size: 18px;
    margin-top: 10px;
}

.titleheader table {
    vertical-align: middle;
}

.titlename,
.adress {
    margin-top: -10px;
}

.adress ul {
    list-style: none;
    text-decoration: none;
}

.adress li {
    margin-bottom: 4px;
}

.title {
    margin: 30px 0;
}

#CecutientBtn .fa,
.userBtn .fa {
    position: relative;
    top: 2px;
    font-size: 22px;
    margin-right: 10px;
}

#CecutientBtn span,
.userBtn span {
    font-size: 0.75em;
}

#header-top {
    background: var(--header-bg, #ddd);
    background-position: center;
    background-repeat: no-repeat;
    padding: 10px 0 15px 0 !important;
}

#header-top img {
    height: 150px;
}

#header-top .titlename h1 {
    line-height: 1.4 !important;
    font-size: var(--title-size, 1.5rem);
    font-weight: var(--title-weight, 600);
    color: var(--h1-color, #545454);
    cursor: pointer;
}

#header-top .titlename p {
    font-size: var(--sub-size, 1.25rem);
    color: var(--sub-color, #007bff);
    cursor: pointer;
}

#header-top .titleheader {
    text-align: var(--title-align, left);
    justify-content: var(--title-align, left);
}

.content {
    margin-top: 30px;
}

/* ================================================
   ЗАПИСИ (POST)
   ================================================ */
.img-news {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.post-wrapper {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.clear {
    clear: both;
}

.wp-pagenavi {
    text-align: center;
}

.post {
    border: 1px solid #eee;
    border-radius: 0 0 4px 4px;
    background: #fff;
    position: relative;
    padding: 10px;
    margin-bottom: 15px;
    height: 100%;
}

.post-main {
    position: relative;
}

.title-block {
    background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    padding: 10px;
    position: absolute;
    width: 100%;
    bottom: 0;
}

.post_title {
    margin-bottom: 10px;
}

.post_title h2 {
    line-height: 1.6rem;
}

.post_title .single_title {
    line-height: 1.2;
    hyphens: auto;
}

.post_title h2 a {
    color: #fff;
    font-size: 1.125rem;
    text-transform: uppercase;
}

.post_title h2 a:after {
    content: "";
    display: block;
    height: 1px;
    width: 0;
    background: #fff;
    transition: 0.5s;
}

.post_title h2 a:hover:after {
    width: 100%;
}

.post.post-one {
    height: auto;
}

.navblock {
    margin-bottom: 20px;
}

.post h2 span {
    font-size: 14px;
    font-weight: 400;
    margin-left: 20px;
}

/* ================================================
   ЗАГОЛОВКИ СТРАНИЦ
   ================================================ */
.post_title_block {
    overflow: hidden;
    margin-bottom: 10px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.blogdata {
    border-radius: 5px;
    text-align: center;
    color: #fff;
    margin-right: 20px;
}

.post_title_page {
    background-color: var(--titlepage-bg, #0398d6);
    color: var(--titlepage-color, #fff);
    padding: 10px 10px 5px 10px;
    margin: 0;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: baseline;
    place-content: space-between;
}

.post .post_title_page .fa {
    font-size: 24px;
    margin-right: 10px;
}

.blogbottom {
    margin-bottom: 5px;
}

/* ================================================
   ПАГИНАЦИЯ
   ================================================ */
.pagination-link {
    margin: 20px auto;
    text-align: center;
}

.pagination-link span,
.pagination-link a {
    display: inline-block;
    background: var(--readmore-bg, #1585b5);
    padding: 6px 12px;
    margin: 0;
    color: #fff;
    text-decoration: none;
}

.pagination-link span.current {
    background: var(--readmore-hover, #555);
}

.pagination-link a:hover {
    background: var(--readmore-hover, #555);
    color: #fff;
}

/* ================================================
   РАЗДЕЛИТЕЛИ
   ================================================ */
.linebottom {
    display: block;
    visibility: hidden;
    height: 1px;
    background-color: #ddd;
    clear: both;
    margin: 10px 0;
}

.linetop {
    display: block;
    height: 1px;
    background-color: #60a6c3;
    clear: both;
    margin: 10px 0;
}

/* ================================================
   ГОРИЗОНТАЛЬНОЕ МЕНЮ
   ================================================ */
#top-menu-size {
    top: 0;
    width: 100%;
    z-index: 10;
}

.menu-fixed {
    position: sticky;
    z-index: 999;
}

.menu-nofixed {
    position: inherit;
}

.TopMenuBtn {
    background-color: var(--topmenu-bg, #1b7b98);
    padding: 0 0 10px 10px;
    margin-top: -10px;
    color: #fff;
    margin-bottom: 1px;
    display: none;
}

.TopMenuBtn .fa {
    cursor: pointer;
    margin-right: 20px;
}

.TopMenuBtn span {
    font-size: 30px;
    display: none;
}

.TopMenu .header-menu {
    text-align: var(--menu-align, left) !important;
    color: #fff;
    position: relative;
}

.TopMenu {
    background: var(--topmenu-bg, #01a0e2);
}

.TopMenu .header-menu a:hover {
    cursor: pointer;
}

.TopMenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.TopMenu ul li {
    display: inline-block;
}

.TopMenu .header-menu > li > a {
    display: block;
    color: #fff;
    padding: 10px 20px 10px;
    text-transform: uppercase;
    font-weight: 700;
    transition: 0.5s;
    font-size: 15px;
}

ul.header-menu li a,
ul.header-menu li {
    position: relative;
}

ul.header-menu > li ul {
    display: none;
}

.header-menu > li > ul {
    position: absolute;
    top: 100%;
    right: 0;
    background: #4a4a4a;
    z-index: 999;
    width: 100%;
    min-width: 200px;
    text-align: left;
}

.header-menu > li > ul li {
    text-align: left;
    width: 100%;
}

.header-menu > li > ul a {
    color: #fff;
    display: block;
    padding: 8px 15px;
    border-bottom: 1px solid #6a6a6a;
}

.header-menu li:last-child > a {
    border-bottom: none !important;
}

.header-menu > li > ul > li ul {
    position: absolute;
    width: 100%;
    left: 100%;
    right: 100%;
    top: 0;
    background: #616161;
}

.header-menu > li:last-child > ul {
    left: auto;
    right: 0;
}

.header-menu > li:last-child > ul > li ul {
    left: -100%;
}

.TopMenu ul > .menu-item-has-children > a {
    padding-right: 40px;
}

.TopMenu ul > .menu-item-has-children > a:after {
    content: "";
    position: absolute;
    right: 8px;
    top: 48%;
    border-left: 5px solid transparent;
    border-top: 5px solid #fff;
    border-right: 5px solid transparent;
    z-index: 10;
}

.header-menu > li > ul > li > ul > li ul {
    background: #767676;
    left: 0;
    right: 0;
    top: 100%;
}

.header-menu li:last-child {
    border-bottom: none !important;
}

/* Режим открытия по наведению */
.TopMenu.hover-menu > div > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu {
    display: none;
}

.TopMenu.hover-menu > div > ul > li.menu-item-has-children:hover .sub-menu,
.TopMenu.hover-menu > div > ul > li.menu-item-has-children > .sub-menu > li:hover .sub-menu {
    display: block;
}

.TopMenu .header-menu > .open,
.TopMenu .header-menu > li:hover,
.TopMenu .header-menu > li.current-menu-item {
    background: var(--topmenu-hover, #0286bc);
}

/* ================================================
   МОДАЛЬНЫЕ ОКНА
   ================================================ */
.Window {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 99999;
    transition: opacity 400ms ease-in;
    display: none;
    pointer-events: none;
}

.Window:target {
    display: block;
    pointer-events: auto;
}

.Window > div {
    width: 500px;
    position: relative;
    margin: 10% auto;
    padding: 30px 10px 20px 30px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0px 0px 20px 2px;
}

.close-modal {
    background: #dd3333;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 12px;
    box-shadow: 1px 1px 3px #000;
    opacity: 1;
}

.close-modal:hover {
    background: #dd3333;
    opacity: 1;
    color: #FFFFFF;
    text-decoration: none;
}

/* ================================================
   КНОПКА "НАВЕРХ"
   ================================================ */
#toTop {
    text-align: center;
    position: fixed;
    bottom: 10px;
    width: 50px;
    height: 50px;
    border: 2px solid #555;
    background: #555;
    border-radius: 8px;
    right: 20px;
    cursor: pointer;
    display: none;
    color: #fff;
    z-index: 1060;
}

#toTop .fas.fa-angle-up {
    font-size: 45px;
}

/* ================================================
   ИКОНКИ В ШАПКЕ
   ================================================ */

/* Базовый класс для всех кнопок-иконок */
.userBrandBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 2px solid #fff;
    border-radius: 50%;
    margin: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    background: transparent;
    color: #fff;
}

/* Все иконки внутри кнопки */
.userBrandBtn .fa,
.userBrandBtn .fab,
.userBrandBtn .fas,
.userBrandBtn .custom-icon {
    display: inline-block;
    line-height: 1;
}

/* Font Awesome иконки */
.userBrandBtn .fa,
.userBrandBtn .fab,
.userBrandBtn .fas {
    font-size: 20px;
}

/* Кастомные SVG иконки */
.userBrandBtn .custom-icon {
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}

/* Hover состояние */
.userBrandBtn:hover {
    background-color: #fff;
    border-color: #555;
    color: #000;
}

.userBrandBtn:hover .custom-icon {
    background-color: #000;
}

/* Специфичные иконки */
.icon-max {
    mask-image: url('../icons/max.svg');
    -webkit-mask-image: url('../icons/max.svg');
}

/* ================================================
   ПОИСК
   ================================================ */
.toppanel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.userSearch {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 10px;
    background: var(--top-bg, #1b7b98);
    padding: 15px 25px;
    border: 1px solid #fff;
    border-radius: 4px;
    z-index: 999;
    min-width: 370px;
}

.userSearch .form-inline {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.userSearch .form-control {
    height: 34px;
}

.userSearch #searchsubmit {
    height: 34px;
    border: none;
}

/* ================================================
   ПОДВАЛ
   ================================================ */
#footer {
    flex-shrink: 0;
    margin-top: auto;
    background-color: var(--footer-bg, #333);
    color: #ececec;
    padding-top: 20px;
}

#footer .footerblock > h3,
#footer .title-hit {
    background: rgba(255, 255, 255, .1);
}

.footerblock {
    margin-bottom: 20px;
    padding: 0;
}

#footer .footerblock > h3,
#footer .title-hit {
    display: block;
    margin: 0 0 20px 0;
    padding: .4em;
    color: #fff;
    text-transform: uppercase;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 700;
    margin-left: -5px;
    margin-right: -5px;
}

#footer a {
    color: #fff;
    padding: 0;
    transition: 0.4s;
}

#footer .tag-cloud-link {
    display: inline-block;
    background: var(--readmore-bg, #1585b5);
    color: #eee;
    padding: 4px 15px;
    border-radius: 0;
}

#footer .tag-cloud-link:hover {
    background: var(--readmore-hover, #105d7d);
}

#footer caption {
    color: #fff;
}

#footer a:hover,
#footer a:active,
#footer a:focus {
    color: #ccc;
}

#footer ul {
    list-style: none !important;
    margin-left: 0;
    padding: 0;
}

#footer ul li {
    padding: 4px 0 4px 0;
}

#footer ul ul {
    font-size: 0.8rem;
    list-style: inside;
    margin-left: 5px;
}

#footer .hit-items ul {
    list-style: none !important;
}

#debug {
    background-color: var(--footer-bg, #283347);
    color: #ececec;
    text-align: center;
    padding: 16px 0px 16px 0px;
    font-size: 12px;
}

.menuBottom ul {
    list-style: none;
}

.menuBottom a {
    color: #fff;
}

#footer .menuBottom a:hover {
    background: none;
    color: #888;
}

.menuBottom ul li ul {
    display: none;
}

.menuBottom .maps:before {
    font: normal normal normal 20px/1 FontAwesome;
    display: inline-block;
    content: "\f0e8";
    margin-right: 7px;
}

/* ================================================
   СОЦИАЛЬНЫЕ КНОПКИ
   ================================================ */
.socTop {
    display: block;
    float: right;
    margin-right: 50px;
}

.socBottom {
    text-align: center;
}

.socBtnTop,
.socBtnBottom {
    color: #fff;
    display: inline-block;
    border: 2px solid #fff;
    border-radius: 50%;
    margin: 5px;
    text-align: center;
    transition: 0.5s;
}

.socBtnBottom {
    width: 42px;
    height: 42px;
}

.socBtnTop {
    width: 34px;
    height: 34px;
}

.socBtnTop:hover,
.socBtnBottom:hover {
    background-color: #fff;
    color: #000;
}

.socBtnTop .fa {
    font-size: 20px;
    line-height: 32px;
}

.socBtnBottom .fa {
    font-size: 24px;
    line-height: 39px;
}

/* ================================================
   ВИДЖЕТЫ
   ================================================ */
.widget {
    margin-bottom: 30px;
}

#gallery-1 img {
    margin: 0 auto;
}

.moduletable {
    border: 1px solid #eee;
    margin-bottom: 20px;
    padding: 10px;
    background: #fff;
    border-radius: 4px;
}

.moduletable h3.moduletable-title {
    background: var(--moduletable-bg, #555);
    font-size: 0.9em;
    line-height: 25px;
    text-transform: uppercase;
    color: #fff;
    margin: -11px -11px 10px -11px;
    padding: 10px 15px;
}

.moduletable > ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.moduletable ul > li {
    border-bottom: 1px solid #ccc;
}

.moduletable ul > li:last-child,
.moduletable ul ul li {
    border: none;
}

.moduletable ul ul {
    padding-left: 15px;
}

.moduletable-title-top {
    font-size: 1.25rem;
    color: #007bff;
    padding-bottom: 10px;
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid #ccc;
}

.moduletable > ul > li a {
    padding: 10px 0;
    display: inline-block;
}

/* Меню в виджетах */
.moduletable .menu {
    background: var(--modulmenu-bg, #01a0e2);
    margin: -10px -11px -11px -11px;
    list-style: none;
    padding: 0;
    color: #fff;
}

.moduletable .menu > li:hover {
    background: var(--modulmenu-hover, #0398d6);
}

.moduletable .menu a {
    display: block;
    color: #fff;
    position: relative;
    cursor: pointer !important;
    padding: 10px 15px;
}

.moduletable .menu > li {
    border-bottom: none;
    position: relative;
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.moduletable .menu > li > ul > li {
    border-bottom: 1px solid #6c6c6c;
}

.moduletable .menu > li > ul > li > ul > li {
    border-bottom: 1px solid #5c5c5c;
}

.moduletable .menu li:last-child {
    border-bottom: none !important;
}

.moduletable .menu > li ul li {
    position: relative;
}

.moduletable .menu > li > ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #555;
    display: none;
}

.moduletable .menu > li > ul > li > ul {
    background: #424242;
    list-style: none;
    padding: 0;
    display: none;
}

.moduletable .menu > li > ul > li > ul > li > ul {
    list-style: none;
    background: #383838;
    padding-left: 0;
    padding-right: 0;
    display: none;
}

/* ================================================
   КОММЕНТАРИИ
   ================================================ */
#comments {
    display: none;
}

#reply-title {
    font-size: 18px;
}

.commentlist {
    list-style: none;
}

.comment-author.vcard,
.comment-meta.commentmetadata {
    display: inline-block;
}

.commentlist .children {
    list-style: none;
    padding: 10px;
    margin-bottom: 10px;
}

.avatar {
    border-radius: 50%;
    border: 2px solid #999;
}

.comment-body {
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
}

.navigation {
    margin-bottom: 15px;
}

/* ================================================
   СЛАЙДЕР И БАННЕРЫ
   ================================================ */
.populargb {
    text-align: center;
}

.popularimg {
    border: 1px solid #fff;
    height: 160px !important;
    max-width: 350px !important;
    background-size: cover !important;
    margin: 0 auto;
}

.populyar {
    margin-top: 20px;
    box-shadow: 0px 0px 5px 0px #b0b0b0;
}

.populyar,
.bannerblock {
    background-color: #fafafa;
    border-top: 1px solid #ccc;
    padding: 20px 0;
}

.banner-edu {
    margin-bottom: 15px;
}

.banner-edu img {
    transition: .6s;
    border: 1px solid #eee;
    border-radius: 4px;
}

.banner-edu:hover img {
    opacity: 0.6;
    border: 1px solid #333;
}

.popularentry {
    text-align: center;
    color: #1b7b98;
    margin-bottom: 15px;
}

.populartitle {
    display: block;
    margin: 15px;
}

.popularentry.container-fluid {
    background: #ddd;
}

.breadcrumbs {
    background-color: #fafafa;
    padding: 10px 0;
}

.headerslider {
    overflow: hidden;
}

.headerslider .metaslider .caption {
    font-size: 22px;
    text-align: center;
    padding: 10px 20px;
}

.bannerlink {
    display: block;
    margin: -10px;
    transition: 0.5s;
}

.bannerlink:hover {
    opacity: 0.8;
}

.bannerlink img {
    display: block;
    margin: 0 auto;
}

/* ================================================
   КАТЕГОРИИ
   ================================================ */
.category_list > li a {
    font-size: 22px;
    display: block;
    padding: 8px 0;
    line-height: 30px;
}

.table-data {
    font-size: 14px;
}

.politiclink {
    margin-left: 32px;
    font-size: 15px;
}

.carousel {
    margin-bottom: 0;
}

/* ================================================
   ГАЛЕРЕЯ
   ================================================ */
.gallery.gallery-columns-2,
.gallery.gallery-columns-3,
.gallery.gallery-columns-4,
.gallery.gallery-columns-5,
.gallery.gallery-columns-6,
.gallery.gallery-columns-7,
.gallery.gallery-columns-8,
.gallery.gallery-columns-9 {
    margin-left: 0;
    margin-right: 0;
    display: flex;
    flex-wrap: wrap;
    box-sizing: content-box;
}

.gallery.gallery-columns-2 .gallery-item {
    flex: 0 0 50%;
    max-width: 50%;
}

.gallery.gallery-columns-3 .gallery-item {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.gallery.gallery-columns-4 .gallery-item {
    flex: 0 0 25%;
    max-width: 25%;
}

.gallery.gallery-columns-5 .gallery-item {
    flex: 0 0 20%;
    max-width: 20%;
}

.gallery.gallery-columns-6 .gallery-item {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.gallery.gallery-columns-7 .gallery-item {
    flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
}

.gallery.gallery-columns-8 .gallery-item {
    flex: 0 0 12.5%;
    max-width: 12.5%;
}

.gallery.gallery-columns-9 .gallery-item {
    flex: 0 0 11.1111111111%;
    max-width: 11.1111111111%;
}

.gallery-item {
    padding: 5px;
}

.gallery-icon {
    height: 200px;
    border: 1px solid #ccc;
    padding: 4px;
    background: #fafafa;
}

.gallery-item img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 1px;
}

.wp-caption-text.gallery-caption {
    border: 1px solid #ccc;
    background: #fafafa;
    padding: 10px 15px;
    border-top: none;
}

/* ================================================
   РАЗНОЕ
   ================================================ */
.announce-page {
    padding: 20px;
    background: #fafafa;
    border: 1px solid #ccc;
    border-left: 15px solid #01a0e2;
    height: 100%;
}

.freesidebar-title {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
}

p.form-submit #submit.submit {
    border: none;
    transition: .4s;
    background: var(--readmore-bg, #1585b5);
    padding: 10px 20px;
    color: #fff;
}

p.form-submit #submit.submit:hover {
    background: var(--readmore-hover, #555);
}

.thumbnail-hit img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
}

.wp-block-code {
    background: #fee;
    border: 1px solid #ffb1b1;
    padding: 10px;
}

.ruk {
    border: 1px solid #ddd;
    overflow: hidden;
    padding: 10px;
}

.ruk img {
    border: 1px solid #ddd;
    padding: 5px;
}

.moduletable .ruk h3 {
    color: #60a6c3;
    font-size: 28px;
    background: transparent;
    padding: 15px;
    text-align: center;
}

.sitemap-page ul {
    list-style: url(../images/ul.png);
}

h2.content-code {
    padding: 10px;
    margin: 20px 0;
}

.tag-cloud-link {
    display: inline-block;
    background: #ff5422;
    padding: 4px 10px;
    color: #fff;
    margin-bottom: 4px;
}

.tag-cloud-link:hover,
.tag-cloud-link:focus,
.tag-cloud-link:active {
    color: #fff;
}

.post_count {
    right: 0px;
    top: 8px;
    color: #fff;
    background: #1585b5;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
}

.post-date {
    font-size: 14px;
    font-weight: 600;
    display: block;
}

#footer .post-date {
    color: #26b6f4;
}

.post-time {
    background: #ddd display: inline-block;
    text-align: center;
    width: 70px;
    height: 80px;
    border-radius: 0px;
    padding: 8px;
    line-height: 27px;
    padding-top: 13px;
    color: #dcdcdc;
    font-weight: 700;
    position: absolute;
    z-index: 10;
    top: -10px;
    right: 19px;
}

.post-time::before {
    content: "";
    width: 0;
    height: 0;
    right: 0;
    top: 80px;
    position: absolute;
    border: 35px solid transparent;
    border-top: 25px solid rgb(180, 195, 231);
}

.img-news-blog-full {
    object-fit: cover;
    max-width: var(--post-image-width, 200px);
}

img.img-news-blog-full.img-fluid.wp-post-image {
    object-fit: scale-down;
    height: 250px;
    margin-bottom: 10px;
}

.blog-cols.col-md-12 .img-news-blog-full {
    margin-bottom: 10px;
}

.blog-cols.col-md-6 .img-news-blog-full {
    margin-bottom: 10px;
    height: 250px;
    object-fit: cover;
}

.blog-cols.col-md-6 .post {
    height: 100%;
}

.blog-cols.col-md-6 .post .col-lg-auto,
.blog-cols.col-md-4 .post .col-lg-auto,
.blog-cols.col-md-3 .post .col-lg-auto {
    width: 100%;
}

.blog-cols.col-md-4 .post {
    height: 100%;
}

.blog-cols.col-md-3 .post {
    height: 100%;
}

.blog-cols.col-md-4 .img-news-blog-full {
    max-width: 100%;
    margin-bottom: 20px;
    height: 200px;
    object-fit: cover;
}

.blog-cols.col-md-3 .img-news-blog-full {
    max-width: 100%;
    margin-bottom: 20px;
    height: 150px;
    object-fit: cover;
}

h2.title-news-blog {
    font-size: 1.05rem;
    color: #333;
    padding: 0;
    hyphens: auto;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.4;
}

.readmore-block {
    text-align: right;
}

.readmore-btn {
    display: inline-block;
    background-color: var(--readmore-bg, #1585b5);
    color: #fff;
    padding: 4px 10px;
    transition: 0.5s;
    border-radius: 4px;
}

.readmore-btn:hover,
.readmore-btn:active,
.readmore-btn:focus {
    color: #fff;
    background-color: var(--readmore-hover, #555);
}

.info-blog-data {
    background: #e8357c;
    display: inline-block;
    color: #fff;
    padding: 2px 10px;
}

.info-blog-cat {
    display: inline-block;
}

.info-blog-cat a {
    color: #fff;
}

.info-blog-views i {
    margin-right: 4px;
}

.info-blog-tags a {
    color: #fff;
}

.row.no-gutters.info-blog {
    font-size: 12px;
}

.adress-school #adress-top::before,
.adress-school #mainfon::before,
.adress-school #email::before {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
    font-weight: 900;
    position: absolute;
    font-size: 16px;
    left: -24px;
    top: 3px;
}

.adress-school #adress-top::before {
    content: "\f3c5";
}

.adress-school #mainfon::before {
    content: "\f879";
}

.adress-school #email::before {
    content: "\f0e0";
}

.adress-school {
    margin-right: auto;
    margin-left: auto;
}

.ov-h {
    overflow: hidden;
}

.mh-300 {
    min-height: 300px;
}

.table-responsive {
    overflow: auto;
}

.wp-block-table table,
.table-bordered {
    border: 1px solid #c2c2c2;
    border-left: 0;
    border-radius: 0;
}

.wp-block-table table th,
.wp-block-table table td,
table-bordered td,
.table-bordered td {
    border-left: 1px solid #c2c2c2;
    border-top: 1px solid #c2c2c2;
    padding: 8px;
}

thead th {
    color: #fff;
    background-color: #373a3c;
    vertical-align: bottom;
}

#first-screen,
#first-screen .row {
    height: 100%;
}

#first-screen .row > div {
    display: flex;
}

#first-screen,
#first-screen .row > div {
    align-items: center;
}

.first-screen-title {
    background-color: rgba(255, 255, 255, .8);
    padding: 20px;
    width: 100%;
}

.col-md-6.offset-md-3 .first-screen-title {
    text-align: center;
}

.first-screen-title-text {
    font-size: 20px;
    line-height: 30px;
}

.top_sidebar .col-md.p-2 {
    align-content: stretch;
    display: flex;
    flex-direction: column;
}

.moduletable.moduletable-top {
    height: 100%;
    max-height: 100%;
}

/* ================================================
   КАРТОЧКИ НОВОСТЕЙ И ОБЪЯВЛЕНИЙ
   ================================================ */
.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #eee;
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.card-img-top {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}

.no-thumbnail {
    width: 100%;
    height: 200px;
    background-color: #f5f5f5;
    display: block;
}

.card-body {
    padding: 1.25em;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-title {
    margin-bottom: 0.75em;
    font-size: 1.2em;
}

.card-title a {
    color: #333;
    text-decoration: none;
}

.card-title a:hover {
    color: #0066cc;
}

.card-meta {
    margin-bottom: 5px;
    font-size: 0.85em;
    color: #666;
}

.card-meta .date {
    margin-right: 10px;
    color: #fff;
    background: var(--info-bg, #555555);
    padding: 2px 10px;
    border-radius: 4px;
}

.card-meta .category a {
    color: #fff;
    text-decoration: none;
    background: var(--info-bg, #555555);
    padding: 2px 10px;
    border-radius: 4px;
}

.card-meta .category a:hover {
    text-decoration: underline;
}

.excerpt {
    margin: 10px 0;
    color: #666;
    font-size: 1em;
    flex-grow: 1;
}

.btn-outline-primary {
    align-self: flex-start;
    margin-top: auto;
    padding: 6px 10px;
    color: #fff;
    transition: 0.5s;
    border-radius: 4px;
    border: none;
    background-color: var(--readmore-bg, #0398d6);
}

.btn-outline-primary:hover {
    background-color: var(--readmore-hover, #555);
    border: none;
}

/* ================================================
   СЕТКИ ДЛЯ НОВОСТЕЙ И ОБЪЯВЛЕНИЙ
   ================================================ */
.news-grid,
.announce-grid {
    display: flex;
    flex-wrap: wrap;
    margin: -15px;
}

.news-grid > [class*="col-"],
.announce-grid > [class*="col-"] {
    padding: 15px 15px 0 15px;
}

.news-widget .news-thumbnail {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}

.news-widget .no-thumbnail {
    width: 100%;
    height: 200px;
    background-color: #f5f5f5;
    display: block;
}

.news-widget .blogbottom-single {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.85em;
    color: #666;
}

.news-widget .blogbottom-single > div {
    display: flex;
    align-items: center;
}

.announcements-widget .announce-thumbnail {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
}

.announcements-widget .no-thumbnail {
    width: 100%;
    height: 200px;
    background-color: #f5f5f5;
    display: block;
}

.announcements-widget .blogbottom-single {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.85em;
    color: #666;
}

.announcements-widget .blogbottom-single > div {
    display: flex;
    align-items: center;
}

/* ================================================
   ГЛАВНОЕ ВЕРТИКАЛЬНОЕ МЕНЮ
   ================================================ */
.menu-main-menu-container li.current-menu-item > ul.sub-menu {
    display: block;
}

.menu-main-menu-container .menu {
    border-radius: 4px;
    overflow: hidden;
    padding: 0;
    list-style: none;
    font-size: 1.1em;
}

.menu-main-menu-container .menu > li ul {
    border-radius: 0 0 4px 4px;
    font-size: 0.95em;
    display: none;
}

.menu-main-menu-container .menu li > a {
    display: block;
    padding: 10px 15px;
    background-color: transparent;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.menu-main-menu-container > ul > li > a:hover {
    background-color: var(--modulmenu-hover, #0398d6);
}

.menu-main-menu-container .menu li ul li > a:hover {
    background-color: #333;
}

.menu-main-menu-container > ul > li.current-menu-item > a {
    background-color: #333;
}

.menu-main-menu-container .menu li ul li.current-menu-item > a {
    background-color: #333;
}

.menu-main-menu-container > ul > li.current-menu-ancestor > a {
    background-color: var(--modulmenu-hover, #0398d6);
}

.menu-main-menu-container .menu li ul li.current-menu-ancestor > a {
    background-color: var(--modulmenu-hover, #0398d6);
}

.menu-main-menu-container > ul > li.current-page-ancestor > a {
    background-color: var(--modulmenu-hover, #0398d6);
}

/* Показываем подменю только когда есть класс open */
.menu-main-menu-container .menu .menu-item-has-children.open > ul.sub-menu {
    display: block;
}

/* ===== СТРЕЛОЧКИ ДЛЯ ГЛАВНОГО МЕНЮ ===== */
.menu-main-menu-container .menu .menu-item-has-children > a {
    position: relative;
    padding-right: 30px !important;
}

/* Создаем стрелочку через ::after */
.menu-main-menu-container .menu .menu-item-has-children > a::after {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    border: 2px solid;
    border-top-width: 2px;
    border-right-width: 2px;
    border-right-width: 0;
    border-top-width: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(-135deg);
}

/* Поворот стрелочки при открытом подменю (класс open) */
.menu-main-menu-container .menu .menu-item-has-children.open > a::after {
    transform: translateY(-50%) rotate(-45deg) !important;
}

/* Для родительского пункта с активной дочерней страницей, 
   когда подменю НЕ открыто - стрелка ВПРАВО (а не вниз) */
.menu-main-menu-container .menu .menu-item-has-children.current-menu-ancestor:not(.open) > a::after {
    transform: translateY(-50%) rotate(-135deg);
}

/* Для родительского пункта с активной дочерней страницей, 
   когда подменю открыто - стрелка вниз (уже повернута через open) */
.menu-main-menu-container .menu .menu-item-has-children.current-menu-ancestor.open > a::after {
    transform: translateY(-50%) rotate(-45deg) !important;
}

/* Для обычного состояния (без open и без current-menu-ancestor) - стрелка вправо */
.menu-main-menu-container .menu .menu-item-has-children:not(.open):not(.current-menu-ancestor) > a::after {
    transform: translateY(-50%) rotate(-135deg);
}

/* Скрываем меню на мобильных */
@media (max-width: 767.98px) {
    .moduletable:has(.menu-main-menu-container) {
        display: none !important;
    }
}

/* ================================================
   МОБИЛЬНОЕ МЕНЮ (OVERLAY)
   ================================================ */
.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
}

.mobile-menu-overlay.active {
    display: block;
}

.mobile-menu-sidebar,
.sub-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 85%;
    max-width: 300px;
    height: 100%;
    background: #fff;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    z-index: 10000;
}

.mobile-menu-sidebar.active {
    transform: translateX(0);
}

.sub-menu-panel {
    z-index: 10001;
    display: none;
}

.sub-menu-panel.active {
    display: block;
    transform: translateX(0);
}

.mobile-menu-panels,
.mobile-main-nav {
    height: 100%;
}

.mobile-menu-content,
.sub-menu-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mobile-menu-header,
.sub-menu-header {
    display: flex;
    align-items: center;
    padding: 15px;
    background: var(--topmenu-bg, #01a0e2);
    color: white;
    position: sticky;
    top: 0;
    z-index: 1;
}

.sub-menu-header {
    justify-content: flex-start;
}

.mobile-menu-list,
.sub-menu-content {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
    overflow-y: auto;
}

.mobile-menu-list > li,
.sub-menu-content > li {
    border-bottom: 1px solid #eee;
}

.mobile-menu-list > li > a,
.sub-menu-content > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    background-color: transparent;
}

.mobile-menu-list > li > a {
    color: #333;
    font-size: 16px;
    font-weight: 500;
    transition: color 0.3s ease;
}

.mobile-menu-list > li > a:active {
    color: var(--modulmenu-hover, #0398d6);
}

.mobile-menu-list > li.open > a {
    color: var(--modulmenu-hover, #0398d6);
}

.mobile-menu-list .sub-menu .mobile-menu-list > li > a,
.sub-menu-content .mobile-menu-list > li > a,
.mobile-menu-list .sub-menu li > a {
    color: #555;
    padding-left: 5px;
    font-size: 15px;
    font-weight: 400;
    transition: color 0.3s ease;
}

.mobile-menu-list .sub-menu .mobile-menu-list > li.open > a,
.sub-menu-content .mobile-menu-list > li.open > a,
.mobile-menu-list .sub-menu li.open > a {
    color: var(--modulmenu-hover, #0398d6);
}

.mobile-menu-list .sub-menu .sub-menu .mobile-menu-list > li > a,
.mobile-menu-list .sub-menu .sub-menu li > a {
    padding-left: 10px;
    font-size: 14px;
}

.submenu-toggle {
    margin-left: 10px;
    color: #555;
    font-size: 14px;
    display: inline-block;
    transition: transform 0.3s ease, color 0.3s ease;
}

.menu-item-has-children > a:active .submenu-toggle {
    transform: rotate(90deg);
    color: var(--modulmenu-hover, #0398d6);
}

.mobile-menu-list > li.open > a .submenu-toggle {
    transform: rotate(90deg);
    color: var(--modulmenu-hover, #0398d6);
}

.submenu-toggle i {
    transition: transform 0.3s ease;
    display: inline-block;
}

.mobile-menu-title {
    margin: 0;
}

.sub-menu-back {
    background: none;
    border: none;
    outline: none;
    color: white;
    cursor: pointer;
    padding: 0;
    font-size: 1.5em;
    margin-right: 30px;
}

body.menu-open {
    overflow: hidden;
}

/* ================================================
   FULLMENU
   ================================================ */
.fullmenu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    overflow: auto;
}

.fullmenu.active {
    display: block;
}

.fullmenu-content {
    position: relative;
    background: #fff;
    padding: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 40px auto;
    border-radius: 8px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
}

i.fa.fa-ellipsis-v {
    padding: 7px;
}

.fullmenu-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    align-items: start;
}

.fullmenu-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.menu-group {
    break-inside: avoid-column;
    page-break-inside: avoid;
}

.menu-title a {
    font-size: 17px;
    font-weight: 700;
    color: #222;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 5px;
}

.menu-sublist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-sublist li {
    margin-bottom: 8px;
}

.menu-sublist a {
    font-size: 15px;
    font-weight: 400;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
    padding: 3px 0;
}

.menu-sublist a:hover {
    color: #0056b3;
}

.fullmenu-close {
    position: absolute;
    top: 1px;
    right: 1px;
    font-size: 30px;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    color: #555;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s;
}

.fullmenu-close:hover {
    color: #000;
    background: #f5f5f5;
}

/* ================================================
   АДАПТАЦИЯ (МЕДИАЗАПРОСЫ)
   ================================================ */
@media (max-width: 1199.98px) {
    .TopMenu .header-menu > li > a {
        padding: 20px;
    }
    .TopMenu ul > .menu-item-has-children > a {
        padding-right: 30px;
    }
}

@media (max-width: 991.98px) {
    .gallery.gallery-columns-4 .gallery-item {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }
    .TopMenu .header-menu > li > a {
        padding: 15px 8px;
    }
    .TopMenu ul > .menu-item-has-children > a {
        padding-right: 20px;
    }
    .blog-cols.col-md-12 .img-news-blog-full {
        max-width: 100%;
    }
    .news-widget .news-thumbnail,
    .announcements-widget .announce-thumbnail,
    .news-widget .no-thumbnail,
    .announcements-widget .no-thumbnail {
        height: 200px;
    }
    /* Левая колонка на планшетах остается видимой */
    .col-lg-3.col-md-4.p-2 {
        display: block !important;
    }
}

@media (max-width: 767.98px) {
    .gallery.gallery-columns-3 .gallery-item,
    .gallery.gallery-columns-4 .gallery-item {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .hidden-smart {
        display: none !important;
    }
    .userSearch {
        width: 100%;
    }
    .TopMenuBtn {
        display: block;
    }
    .TopMenu.hover-menu ul.header-menu > li ul,
    .TopMenu.hover-menu > div > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu {
        display: block;
    }
    .menu-fixed {
        position: inherit;
    }
    #top-menu > .container {
        padding-left: 0;
        padding-right: 0;
    }
    #top-menu.TopMenu .header-menu > li > a {
        padding: 15px;
    }
    #top-menu {
        display: none;
    }
    .TopMenu .header-menu {
        text-align: left !important;
    }
    .TopMenu .header-menu li {
        display: block;
    }
    .TopMenu .header-menu ul {
        position: inherit !important;
        left: 0 !important;
        right: 0 !important;
    }
    #BottomBanners .custom.row > li::before {
        display: none;
    }
    /* На мобильных левая колонка уходит вниз, а не скрывается */
    .col-lg-3.col-md-4.p-2 {
        display: block !important;
    }
    #toTop .fas.fa-angle-up {
        padding-top: 4px;
        font-size: 1.875em;
    }
    #toTop {
        width: 40px;
        height: 40px;
    }
    .fa-2x {
        font-size: 1.4em !important;
    }
    .bannerblock .row > div {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0 8px;
    }
    .raigl-gallery-slider .slick-slide {
        padding: 0 0 5px 0 !important;
    }
    .img-news-blog-full {
        max-width: 100%;
    }
    .news-grid > [class*="col-"],
    .announce-grid > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .news-widget .news-thumbnail,
    .announcements-widget .announce-thumbnail,
    .news-widget .no-thumbnail,
    .announcements-widget .no-thumbnail {
        height: 180px;
    }
    .news-widget .blogbottom-single,
    .announcements-widget .blogbottom-single {
        gap: 8px;
    }
    .nav-button,
    #more-menu-button,
    #fullmenu-button {
        display: none !important;
    }
    .title-link-header {
        margin-top: 5px;
    }
    .row {
        position: relative;
    }
    .logo-header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 0;
        opacity: 0.3;
        pointer-events: none;
    }
    .col-md-auto.logo-header {
        padding: 0;
    }
    .titleheader,
    .titlename {
        position: relative;
        z-index: 1;
    }
    #header-top img {
        height: 140px;
    }
    .titlename,
    .adress {
        margin: 11px 0;
    }
    .titleheader h1 {
        margin-top: -10px;
    }
    .pb-3,
    .py-3 {
        padding-bottom: 0 !important;
    }
    .pt-3,
    .py-3 {
        padding-top: 4px !important;
    }
    .mobile-menu-sidebar {
        width: 85%;
        max-width: 300px;
    }
}

@media (max-width: 575.98px) {
    .gallery.gallery-columns-2 .gallery-item,
    .gallery.gallery-columns-3 .gallery-item,
    .gallery.gallery-columns-4 .gallery-item,
    .gallery.gallery-columns-5 .gallery-item,
    .gallery.gallery-columns-6 .gallery-item {
        flex: 0 0 100%;
        max-width: 100%;
    }
    #searchsubmit {
        width: 100%;
        margin-top: 10px;
    }
    .Window > div {
        width: 350px;
    }
}

@media (min-width: 768px) {
    #header-top img {
        padding-left: 40px;
    }
    #top-menu {
        display: block !important;
    }
}

/* ================================================
   COOKIE-УВЕДОМЛЕНИЕ
   ================================================ */
.cookie-notice {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    max-width: 600px;
    background: rgba(255, 255, 255, 0.98);
    color: #333;
    padding: 15px 20px;
    z-index: 9999;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
}

.cookie-notice-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    padding-right: 15px;
}

.cookie-notice p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    text-align: justify;
    flex: 1;
}

.cookie-notice a {
    color: #0073aa;
    text-decoration: underline;
}

.cookie-notice a:hover {
    text-decoration: none;
}

#cookie-accept {
    background: #0073aa;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    font-size: 14px;
    font-weight: normal;
    flex-shrink: 0;
}

#cookie-accept:hover {
    background: #005a87;
}

.cookie-close-btn {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
    color: #999;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
    z-index: 10;
}

.cookie-close-btn:hover {
    color: #333;
}

/* Адаптация под мобильные */
@media (max-width: 767px) {
    .cookie-notice {
        bottom: 0;
        left: 0;
        right: 0;
        transform: none;
        width: 100%;
        max-width: 100%;
        border-radius: 0;
        padding: 15px;
    }
    
    .cookie-notice-container {
        flex-direction: column;
        text-align: center;
        padding-right: 0;
    }
    
    .cookie-notice p {
        font-size: 14px;
        padding-top: 15px;
        text-align: justify;
    }
    
    #cookie-accept {
        width: 25%;
        padding: 10px;
        font-size: 15px;
    }
    
    .cookie-close-btn {
        top: -10px;
        right: -10px;
        width: 24px;
        height: 24px;
        font-size: 22px;
    }
}

/* ================================================
   ФИКС ПОРЯДКА КОЛОНОК НА ПЛАНШЕТАХ
   ================================================ */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Левая колонка должна быть слева, а не снизу */
    .row > .col-lg-3.col-md-12.order-lg-1.order-3.p-2 {
        order: 1 !important;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    
    /* Основной контент по центру */
    .row > .col-md.order-lg-2.order-sm-1.p-2 {
        order: 2 !important;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    
    /* Правая колонка справа */
    .row > .col-lg-3.col-md-4.p-2.order-lg-3.order-sm-2 {
        order: 3 !important;
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* ================================================
   ДОПОЛНИТЕЛЬНЫЕ СТИЛИ
   ================================================ */
.menu-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
}

.main-nav {
    flex: 1;
}

.header-menu > li.hidden-item {
    opacity: 0;
    position: absolute;
    pointer-events: none;
    visibility: hidden;
}

#top-menu .header-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    width: 100%;
    justify-content: center;
}

#top-menu .menu-wrapper {
    padding-right: 30px;
}

#more-menu-button {
    position: absolute;
    right: 0;
    top: 0;
}

#top-menu .header-menu > li {
    position: relative;
    z-index: 1000;
}

#top-menu .header-menu > li > a {
    color: white;
    padding: 7px 27px 7px 7px;
    margin-left: 15px;
    display: block;
    text-decoration: none;
    font-size: 0.9375em;
    line-height: 1.4;
    transition: background 0.2s;
    white-space: nowrap;
}

#top-menu .header-menu > li > ul.sub-menu {
    display: none;
    position: absolute;
    z-index: 1001;
    top: 100%;
    right: 0;
    min-width: 180px;
    padding: 0;
    margin: 0;
    list-style: none;
    background: #4a4a4a;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
    animation: fadeIn 0.3s ease-out;
    text-align: left;
    white-space: normal;
    overflow-wrap: break-word;
}

#top-menu .header-menu > li:hover > ul.sub-menu,
#top-menu .header-menu > li:focus-within > ul.sub-menu {
    display: block;
}

#top-menu .header-menu > li > ul.sub-menu a {
    color: #fff;
    display: block;
    padding: 8px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
    transition: background 0.2s;
}

#top-menu .header-menu > li > ul.sub-menu li:last-child a {
    border-bottom: none;
}

#top-menu .header-menu > li > ul.sub-menu a:hover {
    background: rgba(0, 0, 0, 0.1);
}

#top-menu .header-menu > li > ul.sub-menu ul.sub-menu {
    left: 100%;
    top: 0;
}

.nav-button {
    background: transparent;
    border: none;
    outline: none;
    color: white;
}

.nav-button:hover,
.nav-button:active,
.nav-button:focus {
    background: var(--topmenu-hover, #0286bc);
    border: none;
    outline: none;
    cursor: pointer;
}

i.fa.fa-ellipsis-h {
    padding: 8px 10px;
}

#more-menu-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: #4a4a4a;
    z-index: 1002;
    min-width: 200px;
    text-align: left;
    white-space: normal;
    overflow-wrap: break-word;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

#more-menu-dropdown.active {
    display: block;
}

#more-menu-dropdown a {
    color: #ffffff;
}

#more-menu-dropdown .dropdown-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

#more-menu-dropdown .dropdown-menu-list > li {
    display: block;
    padding: 8px 15px;
    white-space: nowrap;
    position: relative;
    border-bottom: 1px solid #6a6a6a;
}

#more-menu-dropdown .sub-menu {
    display: none;
    position: absolute;
    right: 100%;
    top: 0;
    background: #4a4a4a;
    min-width: 250px;
    z-index: 1000;
    white-space: normal;
    overflow-wrap: break-word;
    padding: 0;
}

#more-menu-dropdown .sub-menu li {
    display: block;
    padding: 8px 15px;
    border-bottom: 1px solid #6a6a6a;
}

#more-menu-dropdown .dropdown-menu-list > li:hover,
#more-menu-dropdown .sub-menu li:hover {
    background: #5a5a5a;
    cursor: pointer;
}

#top-menu .header-menu > .menu-item-has-children > a:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 40%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #fff;
    transition: transform 0.3s ease;
}

#top-menu .header-menu > .menu-item-has-children:hover > a:after,
#top-menu .header-menu > .menu-item-has-children.open > a:after {
    transform: translateY(-50%) rotate(180deg);
}

#top-menu .header-menu > li > ul.sub-menu > .menu-item-has-children > a {
    position: relative;
    padding-right: 30px !important;
}

#top-menu .header-menu > li > ul.sub-menu > .menu-item-has-children > a:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #fff;
    border-right: none;
}

.header-menu > li.hidden-item {
    display: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ================================================
   БЛОК ОБРАТНОЙ СВЯЗИ
   ================================================ */
.content-wrapper {
    display: flex;
    justify-content: center;
}

.address-block {
    min-width: 45%;
}

.form-block {
    width: 50%;
}

.address-block h2,
.form-block h2 {
    font-size: 1.25em;
    color: #333;
    margin: 0 0 15px 0;
    position: relative;
    padding-bottom: 8px;
}

.address-block h2::after,
.form-block h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: var(--readmore-bg, #0398d6);
}

.address-block a {
    color: #333;
    vertical-align: middle;
}

.wpcf7-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wpcf7-form-control {
    box-sizing: border-box;
    width: 100%;
    font-size: 1em;
    margin-bottom: 5px;
}

.wpcf7-submit {
    background: var(--readmore-bg, #0398d6);
    color: white;
    padding: 10px 25px !important;
    border: none !important;
    border-radius: 4px !important;
    transition: background 0.3s;
    width: fit-content !important;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.consent-form {
    margin: 20px 0;
    line-height: 1.4;
    font-size: 0.9em !important;
    text-align: justify;
}

.consent-form a {
    color: #0066cc;
    text-decoration: none;
}

.wpcf7-list-item {
    margin-left: 0;
    padding: 0.1em 0.3125em 0.1em 0.3125em;
    border: 1px solid #ddd;
    border-radius: 4px;
}

textarea.wpcf7-textarea {
    display: flex;
    resize: auto;
    min-height: 100px;
}

.captcha-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
}

.captcha-image img {
    width: 160px;
    height: 50px;
    object-fit: contain;
}

.captcha-input input {
    width: 160px;
    height: 50px;
    padding: 8px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column;
    }
    .address-block,
    .form-block {
        width: 100%;
    }
    .wpcf7-submit {
        width: 50%;
    }
}

/* ================================================
   АККОРДЕОН
   ================================================ */
.accordion {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin: 15px 0;
    background: #fff;
    overflow: hidden;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #fafafa;
    cursor: pointer;
    border-bottom: 1px solid #e0e0e0;
    transition: background-color 0.2s;
}

.accordion-header:hover {
    background-color: #f8f9fa;
}

.accordion-header i {
    transition: transform 0.3s ease;
    color: #666;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 15px;
    background: #fff;
}

.accordion.active .accordion-content {
    max-height: 1000px;
}

.accordion.active .accordion-header {
    border-bottom-color: transparent;
}

.accordion.active .accordion-header i {
    transform: rotate(180deg);
}

/* ================================================
   РАБОТА С PDF
   ================================================ */
.doc-header {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 10px;
}

.doc-header a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.doc-header i.fa-file-pdf {
    font-size: 2.5em;
    color: #ff4444;
    margin-right: 8px;
}

.doc-header i.fa-file-video {
    font-size: 2.5em;
    color: var(--readmore-bg, #0398d6);
    margin-right: 8px;
}

.fa-file-pdf:before {
    color: #ff4444;
}

.doc-links {
    display: flex;
    gap: 20px;
}

.download-btn,
.preview-btn {
    background: #555555;
    color: white;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: small;
    transition: background-color 0.3s, color 0.3s;
    box-sizing: border-box;
    border: 1px solid transparent;
}

.download-btn {
    margin: 0 10px 0 50px;
}

.download-btn:hover,
.preview-btn:hover {
    background-color: white;
    color: black;
    border: 1px solid #555555;
}

.doc-header-divider {
    border-bottom: 1px solid #ddd;
    margin: 10px 0;
}

@media (max-width: 768px) {
    .doc-links {
        gap: 12px;
        flex-wrap: wrap;
    }
    .download-btn,
    .preview-btn {
        padding: 6px 12px;
        font-size: 0.875em;
    }
}

@media (max-width: 480px) {
    .download-btn,
    .preview-btn {
        padding: 5px 10px;
        font-size: 0.75em;
    }
    .doc-links {
        gap: 10px;
    }
}

.pdfViewer .page {
    border: 2px solid #333 !important;
}

/* ================================================
   НАСТРОЙКИ БЛОГА
   ================================================ */
.panel-body {
    padding-top: 5px;
}

.custom-media {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    padding-top: 10px;
}

.custom-attachments,
.embed-responsive {
    aspect-ratio: 4/3;
}

.custom-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.embed-responsive {
    background: #000;
}

.embed-responsive-item {
    width: 100%;
    height: 100%;
    border: 0;
}

.img-thumbnail {
    background-color: #fafafa;
}

@media (max-width: 768px) {
    .custom-media {
        grid-template-columns: 1fr;
    }
}

/* ================================================
   ГЛАВНАЯ СТРАНИЦА
   ================================================ */
.post.post-one .p {
    margin-top: -20px !important;
}

.p-2 {
    padding: 0 .5rem .5rem .5rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 0 !important;
}

.blogbottom-single.mb-3.mt-3 {
    margin-top: 5px !important;
}

.col-12 {
    padding-left: 9px;
    padding-right: 9px;
    margin-bottom: -10px;
}

.news-header-block {
    display: flex;
    align-items: baseline;
    place-content: space-between;
    background: #fff;
    margin: 0 -7px 0 -7px;
    border: 1px solid #eee;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    padding-top: 10px;
    font-size: inherit;
}

.title-link-header {
    display: flex;
    align-items: baseline;
    place-content: space-between;
    background: #fafafa;
    margin: 0 -7px -7px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: none;
    font-size: inherit;
    padding: 10px;
}

a.title-link-url {
    color: #fff;
}

/* ================================================
   ГАЛЕРЕЯ И МЕДИА
   ================================================ */
.raigl-breadcrumb-wrp {
    padding-left: 10px;
}

.raigl-gallery-slider .slick-slide {
    border: solid 2px #eee;
    border-top: none;
    padding: 0 !important;
}

.raigl-design-1 .raigl-img-caption {
    border-radius: 0 0 4px 4px;
}

.raigl-gallery-wrp .raigl-img,
.raigl-gallery-album-wrp .raigl-img {
    border-radius: 4px !important;
}

/* ================================================
   ШАПКА САЙТА
   ================================================ */
#topPanel {
    background: var(--top-bg, #01a0e2);
}

/* ================================================
   ОБЩИЕ НАСТРОЙКИ
   ================================================ */
.container {
    max-width: var(--container-size, 1280px);
}

.submenu-toggle {
    margin-left: 10px;
    color: #555;
    font-size: 14px;
    display: inline-block;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.submenu-toggle i {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block;
}

.submenu-toggle.open {
    transform: rotate(90deg);
}

.TopMenu .menu-item-has-children.open > a .submenu-toggle {
    transform: rotate(90deg);
    color: #fff;
}

.moduletable .menu-item-has-children.open > a .submenu-toggle {
    transform: rotate(90deg);
    color: #fff;
}

.mobile-menu-list > li.open > a .submenu-toggle {
    transform: rotate(90deg);
    color: var(--modulmenu-hover, #0398d6);
}

.sub-menu-panel .submenu-toggle.open {
    transform: rotate(90deg);
    color: var(--modulmenu-hover, #0398d6);
}

.menu-item-has-children > a:active .submenu-toggle {
    transform: rotate(90deg);
}

.mobile-menu-list .sub-menu .menu-item-has-children > a:active .submenu-toggle {
    transform: rotate(90deg);
}


/* Общий класс для кастомных иконок */
#.custom-icon {
#    display: inline-block;
#    width: 16px;
#    height: 16px;
#    vertical-align: middle;
#}

#.icon-max {
#    background-image: url('../icons/max.svg');
#}

.custom-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: background-color 0.3s;
}

.icon-max {
    mask-image: url('../icons/max.svg');
    -webkit-mask-image: url('../icons/max.svg');
}

.userBrandBtn:hover .icon-max {
    background-color: #000;
}
