/*@import url('./module-fonts.css');*/
@import url('./module-icons.css');
@import url('./module-navigation-menu.css');
@import url('./module-search-forms.css');
/*@import url('./module-spoilers.css');*/
/*@import url('./module-radial-contacts.css');*/
/*@import url('./module-qbpopups.css');*/
/*@import url('./module-ninjaforms-custom.css');*/
/*@import url('./module-cf7-custom.css');*/
@import url('./module-swiper847-custom.css');


/* ОБЩЕЕ - общие элементы структуры */
:root {
    --font-default: -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';
    --color-white-fff: #fff;
    --color-white-fff-rgb: 255 255 255;
    --color-black-000: #000;
    --color-black-000-rgb: 0 0 0;
    --color-black-212529: #212529;
    --color-black-212529-rgb: 33 37 41;
    --color-darkgrey-323232: #323232;
    --color-grey-666: #666;
    --color-grey-999: #999;
    --color-grey-ccc: #ccc;
    --color-lightgrey-999: #eee;
    --color-lightgrey-f7f7f7: #f7f7f7;
    --color-darkblue-10202d-rgb: 16 32 45;
    --color-darkblue-284f6e: #284f6e;
    --color-darkblue-2f5c81: #2f5c81;
    --color-darkblue-0056b3: #0056b3;
    --color-blue-007bff: #007bff;
    --color-blue-3d91fc: #3d91fc;
    --color-blue-569ffc: #569ffc;
    --color-weather-informer: #00acef;
    --color-purple-800080: #800080;
    --color-green-0f0: #0f0;
    --color-red-f00: #f00;
}
::placeholder {
    font-family: var(--font-default);
    color: var(--color-black-000);
}
html, body {
    font-family: var(--font-default);
    font-size: 16px;
    line-height: 1.5;
    color: var(--color-black-000);
}
body {
    --sidemenu-width: 4rem;
    padding-left: var(--sidemenu-width);
}
main {
    flex-grow: 1;
    padding: 4.375rem 0 6.5rem;
}
section {
    position: relative;
}
main > section {
    scroll-margin: 3.5rem;
    padding: 1.875rem 0;
}
main > section:first-child {
    padding-top: 0;
}
main > section:last-child {
    padding-bottom: 0;
}
main > section + section {
    padding-top: 0;
}
.site_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    min-height: 100%;
    background: top / contain no-repeat url('../imgs/main-background.jpg');
    overflow: hidden;
}
.container {
    width: 100%;
    max-width: calc(1920px - var(--sidemenu-width));
    margin: 0 auto;
    padding: 0 2.375rem;
}
.fullwidth_container {
    max-width: none;
    padding: 0;
}


/* ОБЩЕЕ - дополнительные элементы структуры */
.section_title {
    text-align: left;
    text-transform: uppercase;
    font-size: 1.75rem;
    line-height: 1.2;
    font-weight: 500;
    color: var(--color-darkgrey-323232);
}
.section_title > * {
    text-align: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
}

body.desktop .no_desktop,
body.mobile .no_mobile {
    display: none;
}


/* ОБЩЕЕ - общие элементы контента */
a {
    text-decoration: none;
    color: var(--color-blue-007bff);
}
a:hover, a:focus {
    text-decoration: underline;
    color: var(--color-darkblue-0056b3);
}
a:visited {
    color: var(--color-purple-800080);
}
a.obfusc_email {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
a.obfusc_email::before {
    content: attr(data-part_1) '@';
}
a.obfusc_email::after {
    content: attr(data-part_2) '.' attr(data-part_3);
}
strong, b {
    font-weight: 600;
}
img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}
button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    min-width: 15rem;
    max-width: 100%;
    min-height: 4rem;
    padding: 0.5rem 1.5rem;
    border: none;
    border-radius: 0.625rem;
    font-family: var(--font-default);
    font-size: 1.125rem;
    line-height: 1.2;
    font-weight: 600;
    color: var(--color-black-000);
    transition: all 0.2s ease;
    cursor: pointer;
}
button:has(> a),
button:has(> span) {
    align-items: stretch;
    padding: 0;
}
button:is(:hover, :focus){
    filter: brightness(1.1);
}
button.magenta_button {
    background-color: var(--color-magenta-c475ad);
    color: var(--color-white-fff);
}
button > a,
button > span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
    color: inherit;
    text-shadow: none;
    transition: inherit;
}
button:is(:hover, :focus) > a,
button:is(:hover, :focus) > span {
    text-shadow: none;
}

@keyframes call_animation {
    20% {transform: rotate(15deg);} 
    40% {transform: rotate(-10deg);} 
    60% {transform: rotate(5deg);} 
    80% {transform: rotate(-5deg);} 
    100% {transform: rotate(0deg);} 
}


/* ОБЩЕЕ - элементы текстовых секций */
.text_content {
    display: flow-root;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
}
.text_content > *,
.text_content :is(h1, h2, h3, h4, p, ul, ol, table) {
    margin-bottom: 1rem;
}
.text_content :is(h1, h2, h3, h4, *.h1_like) {
    margin-top: 1.5rem;
    line-height: 1.2;
    font-weight: 500;
}
.text_content :is(h1, *.h1_like) {
    font-size: 3rem;
}
.text_content h2 {
    font-size: 2.5rem;
}
.text_content h3 {
    font-size: 1.75rem;
}
.text_content h4 {
    font-size: 1.25rem;
}
.text_content a:is(:hover, :focus) {
    text-shadow: 0 0 0 currentColor;
}
.text_content ul,
.text_content ol {
    padding-left: 0.5rem;
}
.text_content ul > li,
.text_content ol > li {
    margin-bottom: 0.75rem;
}
.text_content li > p {
    margin-bottom: 1rem;
}
.text_content ul {
    --items-mark-size: 0.375rem;
    --items-line-height: 1.25em;  /* указывать в "em", не применяется напрямую, используется для расчёта положения метки */
    list-style-type: none;
}
.text_content ul > li {
    position: relative;
    padding-left: calc(var(--items-mark-size) + 0.5rem);
}
.text_content ul > li::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(calc(var(--items-line-height) * 0.5 - 50% + 3px));
    width: var(--items-mark-size);
    height: var(--items-mark-size);
    border-radius: 50%;
    background-color: var(--color-darkgrey-323232);
}
.text_content ol {
    list-style-position: inside;
}
.text_content ol > li::marker {
    font-weight: 600;
    color: var(--color-darkgrey-323232);
}
.text_content table {
    width: 100%;
    padding-top: 0.5rem;
    border-collapse: collapse;
    overflow: auto;
}
body.mobile .text_content table {
    display: block;
    max-width: 100%;
    overflow-x: scroll;
}
body.mobile .text_content tbody {
    display: block;
}
.text_content :is(tr, th, td) {
    margin: 0;
}
.text_content :is(th, td) {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-darkgrey-323232);
    text-align: center;
}
.text_content table td:first-child {
    text-align: left;
}
.text_content hr {
    margin-bottom: 1.5rem;
    padding-top: 0.5rem;
    border-bottom: 0.125rem solid var(--color-darkgrey-323232);
}
.text_content iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.text_content > *:first-child,
.text_content :is(h1, h2, h3, h4, p, ul, ol, table):first-child,
body.desktop .text_content .no_desktop:first-child + *,
body.mobile .text_content .no_mobile:first-child + * {
    margin-top: 0;
    padding-top: 0;
}
.text_content > *:last-child,
.text_content :is(h1, h2, h3, h4, p, ul, ol, table):last-child,
body.desktop .text_content :has(+ *.no_desktop:last-child),
body.mobile .text_content :has(+ *.no_mobile:last-child) {
    margin-bottom: 0;
    padding-bottom: 0;
}


/* ОБЩЕЕ - дополнительные элементы текстовых секций */
.text_content .imgs_flex {
    display: flex;
    gap: 1rem;
}
.text_content .imgs_flex > * {
    min-width: 0;
    aspect-ratio: 1/1;
}

.text_content .imgs_grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-cols), 1fr);
    gap: 1rem;
}
.text_content .imgs_grid * {
    font-size: 0;
}
.text_content .imgs_grid img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}


/* ОБЩЕЕ - элементы форм поиска */
.search_collapsed .wp_search_elems {
    flex-direction: row-reverse;
}
.search_collapsed .wp_search_elems > input[type=search] {
    position: static;
}
.search_collapsed .wp_search_elems > button {
    position: absolute;
}
.search_collapsed .wp_search_elems > button::after {
    background: center / 1.5rem no-repeat url('../img/icons/icon-search-blue.svg');
    transition: all 0.2s ease;
}


/* ОБЩЕЕ - элементы старого дизайна и контента */
.text_content ul > li > div:has(> table),
.text_content ol > li > div:has(> table) {
    display: flex;
}
.text_content ul > li > * + div:has(> table),
.text_content ol > li > * + div:has(> table) {
    padding-top: 0.75rem;
}
.text_content .infoblock {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    padding: 1rem;
    border-radius: 0.625rem;
    background-color: var(--color-lightgrey-f1f1f1);
}
.text_content .infoblock table :is(th, td) {
    padding: 0.5rem 0;
    border: none;
    text-align: left;
}
.text_content .infoblock table th {
    border-bottom: 1px solid var(--color-teal-7dc5ad);
}


/* БОКОВАЯ ПАНЕЛЬ МЕНЮ */
.sidepanel_container {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 991;
    width: var(--sidemenu-width);
    height: 100%;
    background-color: var(--color-darkgrey-323232);
}
.sidepanel_overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-white-fff-rgb) / 0.5);
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    cursor: pointer;

    /* для перехвата скролла */
    overflow: auto;
    overscroll-behavior: contain;
    touch-action: none;
    scrollbar-width: none;  /* Firefox */
}
.sidepanel_overlay::-webkit-scrollbar {  /* Chrome, Safari, Edge */
    display: none;
}
.sidepanel_container.active .sidepanel_overlay {
    opacity: 1;
    visibility: visible;
}
.sidepanel_overlay::before {
    content: '';
    display: block;
    width: 100%;
    height: 110%;
}

.sidepanel {
    --sidemenu-width-full: 15rem;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: var(--sidemenu-width);
    height: 150%;
    background-color: var(--color-darkgrey-323232);
    transition: all 0.5s ease;
    overflow: hidden;
}
.sidepanel_container.active .sidepanel {
    width: var(--sidemenu-width-full);
}
.sidepanel_wrapper {
    width: var(--sidemenu-width-full);
}

.sidepanel_controls {
    display: flex;
    height: var(--sidemenu-width);
}
.sidepanel_toggler {
    flex-shrink: 0;
    width: var(--sidemenu-width);
    padding: 1rem;
    background-color: var(--color-darkblue-2f5c81);
    cursor: pointer;
}
.sidepanel_toggler div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease;
}
.sidepanel_toggler:hover div {
    gap: 8px;
}
.sidepanel_toggler.active div {
    rotate: 90deg;
}
.sidepanel_toggler span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    background-color: var(--color-white-fff);
}

.sidepanel_search {
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
    background-color: var(--color-black-212529);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.sidepanel_container.active .sidepanel_search {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease;
}
.sidepanel_search .wp_search_form {
    --form-height: 2rem;
    --form-paddings-horz: 0.4em;

    --fields-border-width: 0px;
    --fields-border-radius: 0px;

    --search-background: var(--color-white-fff);  /* var(--color-darkgrey-323232); */
    --search-active-background: var(--color-white-fff);
    --search-filled-background: var(--color-white-fff);
    --search-trans-dur: 0s;
    --search-font-size: 1rem;
    --search-font-weight: 400;
    --search-font-color: var(--color-grey-666);  /* var(--color-black-212529); */
    --search-pholder-color: var(--color-grey-666);

    --button-background: var(--color-darkblue-2f5c81);
    --button-active-background: var(--color-darkblue-2f5c81);
    --button-trans-dur: 0s;
    --button-icon-size: 2rem;
    --button-font-size: 1rem;
    --button-font-weight: 400;
    --button-font-color: var(--color-white-fff);

    font-family: inherit;
    opacity: 0.8;
}
.sidepanel_search:hover .wp_search_form,
.sidepanel_search:has(*:focus) .wp_search_form {
    opacity: 1;
}
.sidepanel_search .wp_search_form input {
    flex-grow: 1;
}
.sidepanel_search button::before {
    content: '';
    position: static;
    width: 1rem;
    height: 1rem;
    background: none;
    font-family: 'icon';
    color: var(--color-white-fff);
}

.sidepanel_menu {
    width: var(--sidemenu-width);
    transition: all 0.2s ease 0s;
    overflow: hidden;
}
.sidepanel_container.active .sidepanel_menu {
    width: var(--sidemenu-width-full);
    transition: all 0.3s ease 0.5s;
}
.sidepanel_menu ul.wp-menu {
    --topitem-padds-vert : 1.25rem;
    --topitem-padds-horz: 1.5rem;
    --topitem-line-height: 1.5;
    --topitem-color: var(--color-white-fff);

    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: var(--sidemenu-width-full);
}
.sidepanel_menu ul.wp-menu li.menu-item:hover > span.link-wrapper,
.sidepanel_menu ul.wp-menu li.menu-item:has(*:focus) > span.link-wrapper,
.sidepanel_menu ul.wp-menu li.menu-item.active > span.link-wrapper {
    background-color: var(--color-black-212529);
}
.sidepanel_menu ul.wp-menu li.menu-item a {
    gap: 1.5rem;
}
.sidepanel_menu ul.wp-menu li.menu-item:hover > span.link-wrapper a,
.sidepanel_menu ul.wp-menu li.menu-item:has(*:focus) > span.link-wrapper a,
.sidepanel_menu ul.wp-menu li.menu-item.active > span.link-wrapper a {
    color: var(--color-white-fff);
}
.sidepanel_menu ul.wp-menu li.menu-item.current-menu-item > span.link-wrapper a,
.sidepanel_menu ul.wp-menu li.menu-item.current-menu-ancestor > span.link-wrapper a {
    color: var(--color-blue-569ffc);
}
.sidepanel_menu ul.wp-menu li.menu-item i.icon::before {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
    color: inherit;
}


/* ХЕДЕР */
header {
    --header-layout-padds-vert: 0px;
    --header-layout-height: 9rem;
    --header-height: calc(var(--header-layout-height) + var(--header-layout-padds-vert) * 2);
    --header-transition: 0.2s ease;
    height: var(--header-height);
}
.header_bar_section {
    position: relative;
    z-index: 990;
}
.header_bar_top_container {
    overflow: hidden;
}
.header_bar_top_layout {
    display: flex;
    align-items: center;
    gap: 0.5rem 2rem;
    padding: 1rem 0;
}

body.sticky_header.scrolled .header_bar_section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding-left: var(--sidemenu-width);
}
body.sticky_header.scrolled .header_bar_top_container {
    height: 0;
}
body.sticky_header.scrolled .header_bar_bottom_layout {
    box-shadow: 0 2px 10px 0 rgba(var(--color-black-212529-rgb) / 0.2);
}

/* лого */
.header_logo {
    flex-shrink: 0;
}
.header_logo a {
    display: block;
    font-size: 0;
}
.header_logo img {
    width: auto;
    height: 3rem;
    object-fit: contain;
    object-position: left;
}

/* контакты */
.header_contacts {
    display: flex;
    align-items: center;
    margin-left: auto;
    font-size: 1.25rem;
    font-weight: 500;
}

/* информеры */
.header_informers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.header_informer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
}

.header_weather_informer {
    background-color: var(--color-weather-informer);
    text-transform: uppercase;
    color: var(--color-white-fff);
}
.header_weather_informer > * {
    display: flex;
    height: 100%;
}
.header_weather_informer a {
    color: var(--color-white-fff);
}

.currency_informer {
    gap: 1rem;
    padding: 0 1.5rem;
    background-color: var(--color-black-212529);
    color: var(--color-white-fff);
}
.currency_informer_item {
    display: flex;
    align-items: center;
    gap: 0.25em;
}
.currency_informer_icon {
    display: flex;
    align-items: center;
}
.currency_informer_arrow {
    margin-left: 0.25em;
    font-weight: 700;
}
.currency_informer_arrow_up {
    color: var(--color-green-0f0);
}
.currency_informer_arrow_down {
    color: var(--color-red-f00);
}

.header_time_informer {
    padding: 0 1.5rem;
    background-color: var(--color-darkblue-2f5c81);
    text-transform: uppercase;
    color: var(--color-white-fff);
}
.time_informer {
    white-space: nowrap;
}

/* меню */
.header_menu {
    height: 4rem;
}
.header_menu ul.wp-menu {
    --topitem-height: 4rem;
    --topitem-backcolor: var(--color-darkblue-2f5c81);
    --topitem-active-backcolor: var(--color-darkblue-284f6e);
    --topitem-font-size: 1rem;
    --topitem-color: var(--color-white-fff);
    --topitem-active-color: var(--color-blue-569ffc);

    display: grid;
    grid-template-columns: repeat(var(--items-number), 1fr);
    width: 100%;
    gap: 0;
}
.header_menu ul.wp-menu li.menu-item {
    flex-grow: 1;
}
.header_menu ul.wp-menu li.menu-item a {
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
}
.header_menu ul.wp-menu li.menu-item.menu-item-black span.link-wrapper {
    background-color: var(--color-black-212529);
}
.header_menu ul.wp-menu li.current-menu-item > span.link-wrapper::after,
.header_menu ul.wp-menu li.current-menu-ancestor > span.link-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 0 0.5em 0.5em 0.5em;
    border-color: transparent transparent var(--color-white-fff) transparent;
}


/* ФУТЕР */
footer {
    position: relative;
    padding: 2rem 0;
    border-top: 3px solid var(--color-darkblue-2f5c81);
    background: top / cover no-repeat var(--color-black-212529) url('../imgs/footer-background.jpg');
    color: var(--color-white-fff);
}
.footer_layout {
    display: flex;
    gap: 4.875rem;
}
footer a {
    color: var(--color-blue-569ffc);
}
footer a:is(:hover, :focus) {
    color: var(--color-blue-569ffc);
}

.footer_block_title {
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    font-size: 1.25rem;
}
.footer_menu ul.wp-menu {
    --topitem-height: 2rem;
    --topitem-color: var(--color-white-fff);
    --topitem-active-color: var(--color-blue-569ffc);

    flex-direction: column;
    align-items: flex-start;
    gap: 0 4.875rem;
}
.footer_menu ul.wp-menu li.menu-item i.icon::before {
    width: 2em;
    text-align: center;
    font-size: 0.9em;
}

.footer_main_menu {
    flex-shrink: 0;
}
.footer_main_menu ul.wp-menu {
    display: grid;
    grid-template-columns: repeat(2, auto);
}

.footer_inform_menu {
    flex-shrink: 0;
}

.footer_text {
    flex-grow: 1;
    display: flex;
    justify-content: center;
}
.footer_text_wrapper.text_content {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
}

.footer_info {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5rem;
}
.footer_logo {
    flex-shrink: 0;
}
.footer_logo a {
    display: block;
    font-size: 0;
}
.footer_logo img {
    width: auto;
    height: 3.75rem;
    object-fit: contain;
    object-position: right;
}
.footer_typo_report a {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    text-decoration: none;
    line-height: 1.2;
    color: inherit;
}
.footer_typo_report a i.icon {
    font-size: 2em;
    color: var(--color-grey-ccc);
}
.footer_typo_report a b {
    color: var(--color-grey-999);
}


/* СТРАНИЦЫ, ЗАПИСИ, КАТЕГОРИИ - хлебные крошки */
.breadcrumbs_layout.layout {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.625rem;
    padding-top: 0.5rem;
    padding-bottom: 1.5rem;
    font-size: 1.125rem;
    line-height: 1.3;
}
.breadcrumbs_separator {
    width: 1px;
    background-color: var(--color-grey-a7a7a7);
}
.breadcrumbs_link {
    color: var(--color-black-000);
}
.breadcrumbs_link a {
    text-decoration: none;
    color: var(--color-teal-7dc5ad);
}
.breadcrumbs a:is(:hover, :focus) {
    text-decoration: underline;
}


/* СТРАНИЦЫ, ЗАПИСИ, КАТЕГОРИИ - общие элементы */
.default_page_section {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.breadcrumbs_section + .default_page_section {
    padding-top: 0;
}
.default_page_section .container:last-child {
    flex-grow: 1;
}
.page_content_columns {
    display: flex;
    gap: 2rem;
}
.page_content_columns > * {
    margin: 0;
}
.page_content_side_column {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 30%;
}
.page_content_left_column {
    padding-right: 2rem;
    border-right: 2px solid var(--color-teal-7dc5ad);
}
.page_content_right_column {
    padding-left: 2rem;
    border-left: 2px solid var(--color-teal-7dc5ad);
}
.page_content_side_column img.page_image {
    float: none;
    width: 100%;
    object-fit: scale-down;
    margin: 0;
    padding: 0;
}

h1.page_title {
    margin-bottom: 1.25rem;
    text-align: left;
    font-size: 4rem;
    line-height: 1.1;
    font-weight: 500;
}
h1.page_title_hidden {
    position: absolute;
    left: -200%;
    z-index: -1;
    height: 0;
    opacity: 0.01;
}
img.page_image {
    float: right;
    width: 30%;
    height: auto;
    margin-left: 3%;
    margin-bottom: 3%;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
}
img.page_image:is(:hover, :focus) {
    box-shadow: 0 0 6px var(--color-teal-7dc5ad);
}


/* СТРАНИЦЫ, ЗАПИСИ, КАТЕГОРИИ - страница ошибки 404 */
.page_404 p {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
}
.page_404 span {
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
}


/* СТРАНИЦЫ, ЗАПИСИ, КАТЕГОРИИ - страницы категорий */
/* собственный контент */
.category_posts_container {
    padding-top: 0;
}
.category_posts_layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.category_posts ul.posts_list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    list-style-type: none;
}

/* подкатегории */
.category_subcats {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.subcats_list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
}
.category_subcat h2 {
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 400;
    color: var(--color-black-000);
}

.subcat_items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.subcat_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    position: relative;
    font-size: 1.125rem;
}
.subcat_item img {
    width: 12.5rem;
    height: 17.5rem;
    border: 3px solid #ededed;
}
.subcat_item h3 {
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--color-magenta-c475ad);
}
.subcat_item:is(:hover, :focus) h3 {
    text-shadow: 0 0 0 currentColor;
}
.subcat_item a {
    display: block;
    text-decoration: none;
}
.subcat_item a:is(:hover, :focus) {
    text-decoration: underline;
}

/* дочерние записи */
.category_posts_simple ul.posts_list {
    --list-marks-size: 0.375rem;
    gap: 0.75em;
}
.category_posts_simple li.post_simple {
    position: relative;
    padding-left: calc(var(--list-marks-size) + 0.5em);
}
.category_posts_simple li.post_simple::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-right: 0.5em;
    transform: translateY(0.5em);
    width: var(--list-marks-size);
    height: var(--list-marks-size);
    border-radius: 50%;
    background-color: var(--color-magenta-c475ad);
}

.category_posts_extended li.post_extended {
    display: flex;
    gap: 1rem;
    position: relative;
    padding: 1.5rem 0 2.875rem;
    border-bottom: 1px solid #eeeeee;
}
.category_posts_extended li.post_extended:has(a.post_more:hover, a.post_more:focus) {
    border-color: var(--color-magenta-c475ad);
}
.category_posts_extended li.post_extended:first-child {
    padding-top: 0;
}
.category_posts_extended img.post_image {
    width: 18rem;
    height: 18rem;
    border: 1px solid var(--color-teal-7dc5ad)
}
.category_posts_extended .post_description {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.category_posts_extended .post_description {
    height: 18.5rem;
}
.category_posts_extended .post_title {
    margin-bottom: 0.875rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid var(--color-teal-7dc5ad);
    font-size: 1.75rem;
    font-weight: 400;
}
.category_posts_extended .post_title > * {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}
.category_posts_extended .post_title a {
    text-decoration: none;
}
.category_posts_extended .post_text {
    flex-grow: 1;
    font-size: 12px;
    overflow: hidden;
}
.category_posts_extended .post_extra {
    display: flex;
    align-items: flex-end;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    font-size: 12px;
}
.category_posts_extended .post_extra > * {
    padding: 0.5rem 0.625rem;
}
.category_posts_extended .post_more {
    display: block;
    width: max-content;
    margin-left: auto;
    background-color: #eeeeee;
    text-decoration: none;
    color: #666;
}
.category_posts_extended .post_more:is(:hover, :focus) {
    background-color: var(--color-magenta-c475ad);
    color: #fff;
}

.category_posts_filter input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-grey-a7a7a7);
    border-radius: 4px;
    font-size: 1rem;
}

.category_pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
}
.category_pagination .nav-links > * {
    display: block;
    width: max-content;
    min-width: calc(1em + 2rem);
    padding: 0.5rem 0;
    text-align: center;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-black-000);
}
.category_pagination .nav-links > a {
    background-color: var(--color-white-fff);
    text-decoration: none;
    color: var(--color-magenta-c475ad);
}
.category_pagination .nav-links > a:is(:hover, :focus) {
    box-shadow: 0 0 2px var(--color-magenta-c475ad);
}


/* НОВОСТИ - основная секция */
.news_main_layout {
    display: flex;
    gap: 3.375rem;
}

.news_main_today {
    flex-grow: 1;
}
.news_main_today_title {
    margin-bottom: 0.5rem;
}
.news_main_today_post_image {
    position: relative;
    width: 100%;
    height: 0;
    margin-bottom: 1rem;
    padding-bottom: 43.3%;
    font-size: 0;
}
.news_main_today_post_image img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news_main_today_post_image a {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 1rem;
    transition: all 0.5s ease;
    overflow: hidden;
}
.news_main_today_post_image a:is(:hover, :focus) {
    background-color: rgba(var(--color-darkblue-10202d-rgb) / 0.9);
}
.news_main_today_post_image span {
    display: block;
    transform: translateY(200%);
    padding: 0 1em;
    background-color: var(--color-darkblue-2f5c81);
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 2em;
    color: var(--color-white-fff);
    transition: all 0.5s ease;
}
.news_main_today_post_image a:is(:hover, :focus) span {
    transform: translateY(0);
}
.news_main_today_post_description {
    display: flex;
    align-items: baseline;
    gap: 0 0.625rem;
}
.news_main_today_post_time {
    flex-shrink: 0;
}
.news_main_today_post_title {
    flex-grow: 1;
    margin-bottom: 0.5rem;
}
.news_main_today_post_title a {
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-darkgrey-323232);
}
.news_main_today_post_title a:is(:hover, :focus) {
    color: var(--color-darkblue-2f5c81);
}
.news_tile_date a {
    text-decoration: none;
}
.news_tile_date a:is(:hover, :focus) {
    text-decoration: underline;
}

.news_main_earlier {
    flex-shrink: 0;
    width: 26%;
}
.news_main_earlier_title {
    margin-bottom: 1rem;
    padding-bottom: 0.25em;
    border-bottom: 1px solid var(--color-grey-ccc);
    text-transform: uppercase;
    font-size: 0.75rem;
    color: var(--color-grey-666);
}
.news_main_earlier_list {
    list-style-type: none;
}
.news_main_earlier_list li {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-grey-ccc);
}
.news_main_earlier_list li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
}
.news_main_earlier_list li a {
    text-decoration: none;
    color: var(--color-black-000);
}
.news_main_earlier_list li a:is(:hover, :focus) {
    text-decoration: underline;
    color: var(--color-darkblue-2f5c81);
}

.news_main_banner {
    flex-shrink: 0;
    width: 26%;
}


/* НОВОСТИ - плитка */
.news_tiles {
    --elems-transition: all 0.5s ease;
    display: grid;
    grid-template-columns: repeat(9, 1fr);
}
.news_tile {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background: center / cover no-repeat var(--img-url);
    overflow: hidden;
}
.news_tile_large {
    grid-row: span 2;
    grid-column: span 2;
}
.news_tile_2 {order: 3}
.news_tile_3 {order: 5}
.news_tile_4 {order: 2}
.news_tile_5 {order: 7}
.news_tile_6 {order: 4}
.news_tile_7 {order: 8}
.news_tile_8 {order: 6}
.news_tile_9 {order: 9}

.news_tile .news_tile_link {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 0.875rem;
    text-decoration: none;
    transition: var(--elems-transition);
}
.news_tile .news_tile_link:is(:hover, :focus) {
    background-color: rgba(var(--color-darkblue-10202d-rgb) / 0.9);
}
.news_tile .news_tile_link::before {  /* фикс автоскролла при разворачивании .news_tile_description */
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.news_tile .news_tile_description {
    position: relative;
    z-index: 2;
    width: 72%;
    text-align: right;
    font-size: 0.85rem;
    color: var(--color-white-fff);
}
.news_tile .news_tile_title {
    padding: 0.5rem 1rem;
    text-transform: uppercase;
    background-color: var(--color-darkblue-2f5c81);
}
.news_tile .news_tile_excerpt {
    display: grid;
    grid-template-rows: 0fr;
    padding: 0 1rem;
    transition: var(--elems-transition);
}
.news_tile .news_tile_link:is(:hover, :focus) .news_tile_excerpt {
    grid-template-rows: 1fr;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.news_tile .news_tile_excerpt > span {
    overflow: hidden;
}
.news_tile .news_tile_date {
    display: none;
    position: absolute;
    top: 0;
    right: 100%;
    width: 4em;
    background-color: var(--color-black-000);
    text-align: center;
    line-height: 2;
}

.news_tile_small .news_tile_link {
    padding-bottom: 0;
}
.news_tile_small .news_tile_description {
    width: 100%;
}
.news_tile_small .news_tile_title {
    display: none;
}
.news_tile_small .news_tile_excerpt {
    padding-left: 0.5rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.news_tile_small .news_tile_link:is(:hover, :focus) .news_tile_excerpt {
    grid-template-rows: 1fr;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.news_tile_small .news_tile_date {
    top: auto;
    bottom: 100%;
    right: 0
}


/* НОВОСТИ - блоки */
.news_blocks_layout {
    display: flex;
    gap: 4.625rem;
}

.news_blocks {
    flex-grow: 1;
}
.news_blocks_title {
    margin-bottom: 0.5rem;
}
.news_blocks_items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem 1.5rem;
}
.news_blocks_column {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.news_block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 24.375rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-grey-ccc);
}
.news_bottom_block {
    padding-bottom: 0;
    border: none;
}
.news_block_info {
    display: flex;
    align-items: baseline;
    gap: 0.75em;
    text-transform: uppercase;
    font-size: 0.8em;
}
.news_block_region a {
    text-decoration: none;
}
.news_block_date {
    color: var(--color-grey-999);
}
.news_block_image {
    font-size: 0;
}
.news_block_image a {
    display: block;
    font-size: 0;
}
.news_block_image img {
    aspect-ratio: 8 / 5;
    width: 100%;
}
.news_block_title a {
    color: var(--color-grey-666);
}
.news_block_title a:is(:hover, :focus) {
    color: var(--color-darkblue-0056b3);
}

.news_blocks_important {
    flex-shrink: 0;
    width: 27.875rem;
}
.news_blocks_important_title {
    margin-bottom: 0.5rem;
}


/* СЛАЙДЕР ВЕБКАМЕР */
.webcams_title {
    margin-bottom: 0.5rem;
}
.webcams_link {
    padding-right: 2rem;
    text-align: right;
}

.webcams {
    --img-heigh: 11.875rem;
    padding: 1rem;
    background-color: var(--color-lightgrey-f7f7f7);
}
.webcams .swiper_object_container {
    --swpr-container-paddings-horizontal: 1rem;
    --swpr-arrows-width: 1.5rem;
    --swpr-arrows-height: 3rem;
    --swpr-arrows-shift: 0px;
}
.webcams .swiper_object_container .swiper-button-prev,
.webcams .swiper_object_container .swiper-button-next {
    height: var(--img-heigh);
}

.webcam_content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.webcam_image {
    position: relative;
    font-size: 0;
}
.webcam_image img {
    width: 100%;
    height: var(--img-heigh);
    object-fit: cover;
}
.webcam_image i {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--color-darkblue-2f5c81);
    font-size: 1.5rem;
    color: var(--color-white-fff);
}
.webcam_image span {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    padding: 0.25rem 0.75rem;
    background-color: var(--color-darkblue-2f5c81);
    font-size: 1rem;
    color: var(--color-white-fff);
}
.webcam_image a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease;
}
.webcam_image a:is(:hover, :focus) {
    background-color: rgba(var(--color-black-000-rgb) / 0.5); 
}
.webcam_image a::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    color: var(--color-white-fff);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
}
.webcam_image a:is(:hover, :focus)::before {
    opacity: 1;
    visibility: visible;
}
.webcam_title {
    font-size: 0.9rem;
}


/* СЕКЦИЯ ПОИСКА */
.mainsearch_title {
    margin-bottom: 0.5rem;
}
.mainsearch_form {
    padding: 1rem 1.5rem;
    background-color: var(--color-darkblue-2f5c81);
}
.mainsearch_form .wp_search_form {
    --form-height: 2rem;
    --form-paddings-horz: 1rem;

    --fields-border-width: 0px;
    --fields-border-radius: 0;

    --search-width: auto;
    --search-background: var(--color-white-fff);
    --search-active-background: var(--color-white-fff);
    --search-filled-background: var(--color-white-fff);
    --search-trans-dur: 0s;
    --search-font-size: 1rem;
    --search-font-weight: 400;
    --search-font-color: var(--color-black-212529);
    --search-pholder-color: var(--color-darkgrey-323232);

    --button-background: var(--color-blue-569ffc);
    --button-active-background: var(--color-blue-3d91fc);
    --button-trans-dur: 0s;
    --button-font-size: 1rem;
    --button-font-weight: 400;
    --button-font-color: var(--color-white-fff);
}
.mainsearch_form .wp_search_elems {
    display: flex;
    gap: 3.125rem;
}
.mainsearch_form input {
    flex-grow: 1;
}
.mainsearch_form button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 25rem;
    text-transform: uppercase;
}
.mainsearch_form button::before {
    content: '';
    position: static;
    width: 1rem;
    height: 1rem;
    background: none;
    font-family: 'icon';
    color: var(--color-white-fff);
}


/* СЛАЙДЕРЫ Swiper.js */
.swiper-button-prev::after,
.swiper-button-next::after {
    background: none;
    font-size: 3rem;
    line-height: 1;
    color: var(--color-darkblue-2f5c81);
    filter: none;
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
    filter: brightness(1.4);
}
.swiper-button-prev::after {
    /*background-image: url('../imgs/icons/arrow-left.svg');*/
    content: '‹';
    text-align: right;
}
.swiper-button-next::after {
    /*background-image: url('../imgs/icons/arrow-right.svg');*/
    content: '›';
    text-align: left;
}
.swiper-pagination.swiper-pagination-bullets {
    margin-top: 1.75rem;
}
.swiper-pagination-bullet > div {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background-color: var(--color-grey-a7a7a7);
    filter: none;
    opacity: 1;
}
.swiper-pagination-bullet-active > div {
    background-color: var(--color-magenta-c475ad);
}

/* только для мобильных */
.swiper_object_container.mobile_slider .swiper,
.swiper_object_container.mobile_slider .swiper-wrapper {
    display: contents;
}
.mobile_slider .slider_controls {
    display: none;
}


/* INFINITY COPYRIGHT */
.infinity_copyright {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.375em;
}
.infinity_copyright a {
    line-height: 1em;
    color: inherit;
}
.infinity_copyright a:has(img) {
    flex-shrink: 0;
    line-height: 0;
}
.infinity_copyright img {
    width: 30px;
    height: 30px;
    /*filter: saturate(0) brightness(2);*/
}
