:root {
    --color-highlight: #00a8ff;
    --color-footer: #000238;
    --color-one: #5f5c5c;
    --color-two: #d3d8de;
    --color-three: #c9dce2;
    --color-four: #6ba1b9;
    --color-five: #000238;
    --color-menu-button : #fff;
    --margin-padding-20-30: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
}

/* =============  ОБЩИЕ СТИЛИ ============= */

body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

header#masthead {
    position: absolute;
}

header#masthead .top-header .location {
    display: none;
    width: 28px;
}

.png_mask {
    display: none;
}

.tree_low {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
}

a:visited {
    color: inherit;
}

.swiper {
    width: 100%;
    z-index: 0;
}

html.aside-active {
  overflow: hidden;
  height: 100vh;
}

#page {
    display: grid;
    grid-template-columns: 1fr; /* 280px и остаток */
    min-height: 100vh;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        "header"
        "main"
        "footer";
    gap: 0;
}

main {
    grid-area: main;
    overflow: hidden; /* Добавьте это */
    min-height: 0; /* Важно для правильной работы grid */
}

.swiper {
    width: 100%;
    height: auto;
    min-height: 0
}

footer#colophon {
    grid-area: footer;
    background-color: var(--color-five);
    color: #939DA7;
    height: 100px;
}

footer#colophon .suppurt {
    font-size: 15px;
    font-weight: 400;
}

footer#colophon .top-wrapper .support {
    display: none;
}

footer#colophon .suppurt a {
    font-size: 14px;
    font-weight: 300;
}

footer#colophon .copyright {
    color: #44494D;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: .75rem;
    gap: .5rem;
}

footer#colophon a,
footer#colophon a:visited {
    color: inherit;
    transition: color .3s ease;
}

footer#colophon a:hover {
    color: var(--color-highlight);
}

footer#colophon .top-wrapper {
    display: none;
}

footer#colophon .bottom-wrapper {
    width: 90%;
    max-width: 1012px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.375rem;
    padding: 2.5rem 1.2rem 2.875rem;
}

footer#colophon img.logo {
    width: 173px;
    height: auto;
}

@media (min-width: 1024px) {
    footer#colophon .top-wrapper {
        display: flex;
        width: 90%;
        max-width: 1012px;
        margin: 0 auto;
        justify-content: space-between;
        align-items: center;
        font-size: 15px;
        gap: 2rem;
        height: 98px;
        border-bottom: 1px solid #FFFFFF0F;
    }

    footer#colophon .bottom-wrapper {
        padding-left: 0;
        padding-right: 0;
        flex-direction: row;
        justify-content: space-between;
        gap: 1rem;
    }

    footer#colophon .copyright {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: .5rem;
    }

    footer#colophon .top-wrapper .support {
        display: block;
    }

    footer#colophon .bottom-wrapper .support {
        display: none;
    }

    footer#colophon .menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        color: var(--color-white);
        
    }

    footer#colophon .footer-submenu {
        max-width: 600px;
        flex-grow: 1;
    }

}

body {
    color: var(--color-basic-text);
    background-color: var(--color-site-bg);
}

html {
    scroll-behavior: smooth; 
}

h2, h3, h4, h5, h6 {
    margin: 0;
    display: block;
    font-weight: 600;
}

span.highlight {
    font-size: inherit;
    font-weight: inherit;
    color: var(--color-highlight);
}

svg.icon {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
}


h1 {
    font-size: clamp(1.25rem, calc(0.92rem + 1.4vw), 2.5rem);
}

main > h1,
main header.entry-header h1,
main  header.page-header h1 {
    font-size: clamp(1.88rem, calc(1.68rem + 0.82vw), 2.5rem);
    font-weight: 700;
    display: block;
    width: 90%;
    max-width: 1600px;
    margin: 1.42em auto 0;
    font-family: 'GoodVibes';
    font-weight: 400;
    font-style: normal;
    color: var(--color-five);
}

main header.entry-header h1 {
    text-align: center;
    font-size: clamp(1.88rem, calc(1.38rem + 2.12vw), 3.5rem);
}

h2 {
    font-size: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
}

h3 {
    font-size: clamp(1.125rem, calc(1.03rem + 0.45vw), 1.5rem);
}

h4 {
    font-size: clamp(1rem, calc(0.97rem + 0.3vw), 1.25rem);
}

h5 {
    font-size: clamp(0.875rem, calc(0.91rem + 0.15vw), 1rem);
}

h6 {
    font-size: clamp(0.75rem, calc(0.85rem + 0.1vw), 0.875rem);
}


a {
    color: inherit;
    text-decoration: none;
}

*:focus {
    outline: none;
}

/* section padding top */

section {
    clear: both;
}

section.pt-no {
    padding-top: 0;
}

section#next-section {
    padding-top: clamp(3.19rem, calc(2.32rem + 3.72vw), 6.5rem) !important;
}

section.pt-l {
    padding-top: clamp(3.75rem, calc(2.76rem + 4.21vw), 7.5rem);
}

section.pt-m {
    padding-top: clamp(3.5rem, calc(2.91rem + 2.53vw), 5.75rem);
}

section.pt-s {
    padding-top: clamp(1.38rem, calc(1.09rem + 1.22vw), 2.19rem);
}

/* section padding bottom */

section.pb-no {
    padding-bottom: 0;
}

section.pb-l {
    padding-bottom: clamp(3.75rem, calc(2.76rem + 4.21vw), 7.5rem);
}

section.pb-m {
    padding-bottom: clamp(3.5rem, calc(2.91rem + 2.53vw), 5.75rem);
}

section.pb-s {
    padding-bottom: clamp(1.38rem, calc(1.09rem + 1.22vw), 2.19rem);
}

details, summary {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.clip_desc > :first-child {
    margin-top: 0;
}

.clip_desc > :last-child {
    margin-bottom: 0;
}

section > .wrapper,
.section > .wrapper {
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
}

.top-block.text-align-center {
    text-align: center;
}

.section.white-bg .wrapper {
    background-color: var(--color-white);
    border-radius: .675rem;
    padding: 
        clamp(1.25rem, calc(0.9rem + 1.5vw), 2.25rem)
        clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem)
        clamp(1.25rem, calc(0.7rem + 2.35vw), 2.81rem);
}

.cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.q-radius {
    border-radius: 1.25rem;
    overflow: hidden;
}

.q-radius-s {
    border-radius: .675rem;
    overflow: hidden;
}

.b_title {
    /* font-size: clamp(1.63rem, calc(1.4rem + 0.94vw), 2.25rem); */
    font-size: clamp(2.19rem, calc(1.71rem + 2.04vw), 3.75rem);
    font-weight: 400;
    line-height: 115%;
}

.b_title + .b_description {
    margin-top: clamp(1rem, calc(0.82rem + 0.75vw), 1.5rem);
}

.i_title {
    text-wrap: balance;
}

.section.swiper-section {
    overflow: hidden;
}

.swiper-section .top-block {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 2rem;
}

.swiper-section h2.b_title {
    /* max-width: 80%; */
    margin-bottom: 0;
}

.swiper-section .title-block {
    max-width: 80%;
}

.controls.relative-controls {
    display: block;
}

.controls.relative-controls .c-wrapper {
    position: relative;
    width: auto;
    bottom: initial;
    display: flex;
    gap: 1.25rem;
    padding-left: 0;
    padding-bottom: .25rem;
}

.swiper-button-next, .swiper-button-prev, .controls.relative-controls .c-wrapper, .swiper-slide {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.swiper-button-next, .swiper-button-prev {
    color: var(--color-highlight);
}

.swiper-button-next.rel, .swiper-button-prev.rel {
    position: relative;
    margin-top: 0;
    top: 0;
    height: min-content;
    right: initial;
    left: initial;
    width: 1.25rem;
    height: 1rem;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-next, .swiper-button-prev, .controls.relative-controls .c-wrapper, .swiper-slide {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.swiper-button-next svg, .swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    display: none;
}

section.swiper-section .swiper-horizontal > .swiper-scrollbar,
section.swiper-section .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: 100%;
    max-width: initial;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    left: initial;
    bottom: initial;
    top: initial;
    z-index: initial;
    width: 90%;
    max-width: 1600px;
    margin: 2.5em auto 1em;
    border-radius: 0;
    height: 2px;
}

.swiper-scrollbar-drag {
    border-radius: 0;
    height: 2px;
    background-color: var(--color-highlight, #ca774b);
}

button.btn, a.btn {
    font-size: clamp(0.94rem, calc(0.89rem + 0.21vw), 1.13rem);
    padding: 1.1em 1.875em 1.25em;
    margin: 0 auto;
    text-align: center;
    position: relative;
    display: inline-block;
    cursor: pointer;
    border-radius: .625rem;
    border: none;
    background-color: var(--color-highlight, #E57C1F);
    text-align: center;
    color: white;
    font-weight: 300;
    transition: background .3s ease;
}

button.btn:hover, a.btn:hover {
    background-color: #a05616;
}

button.btn span + svg, a.btn span + svg {
    margin-left: 3em;
}

button.btn svg, a.btn svg {
    height: .7em;
    width: .7em;
    transition: all .3s ease;
}

button.btn:hover svg, a.btn:hover svg {
    transform: rotate(45deg);
}

.clip_text > *:first-child {
    margin-top: 0;
}

.clip_text > *:last-child {
    margin-bottom: 0;
}

.section.wide {
    background-color: white;
    border-radius: .675rem;
}

.section.wide .wrapper {
    padding: clamp(1.25rem, calc(0.61rem + 2.72vw), 3.06rem) 0;
    width: 90%;
    max-width: initial;
}

@media (min-width: 768px) {

    .section.wide {
        background-color: initial;
    }

    .section.wide .wrapper {
        width: calc(100% - 2.5rem);
        max-width: initial;
        background-color: white;
        border-radius: .675rem;
    }

    section.wide .wrapper .inner-wrapper {
        width: 95%;
        max-width: 1012px;
        margin: 0 auto;
    }
}

.meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: clamp(1.25rem, calc(0.92rem + 1.41vw), 2.19rem);
    width: 90%;
    max-width: 1012px;
    margin: clamp(1.25rem, calc(0.92rem + 1.41vw), 2.19rem) auto 0;
    padding: clamp(1.25rem, calc(1.12rem + 0.56vw), 1.63rem) 0;
    border-top: 1px solid #E6E6E6;
}

.meta .date-and-read {
    display: flex;
    gap: clamp(1.25rem, calc(0.92rem + 1.41vw), 2.19rem);
}

.meta .date {
    display: flex;
    color: var(--color-basic-text);
    display: flex;
    align-items: center;
    gap: .3125rem;
    font-size: .8125rem;
    line-height: 100%;
}

.meta .time-to-read {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.meta .repost {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.meta .repost .repost-icons {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.meta .repost .repost-icons a {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 2.25rem;
    border: 1px solid #E6E6E6;
    display: flex;
    justify-content: center;
    align-items: center;
    color: inherit;
    transition: all .3s ease;
}

.meta .repost .repost-icons a:visited {
    color: inherit;
}

.meta .repost .repost-icons a:hover {
    color: var(--color-highlight);
}

/* ============= HEADER - #MASTHEAD ============= */

header.site-header .top-header .left-block {
    display: flex;
    gap: 1rem;
}

nav.top-navigation {
    display: none;
}

header.site-header {
    background-color: var(--color-five);
}

header.site-header .top-header,
header.site-header .bottom-header {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
}

header.site-header .top-header {
    background: transparent;
    border-radius: .625rem;
    font-size: .9375rem;
    padding: 0 .875rem;
    height: 2.8125rem;
}

header#masthead > .top-header .header-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

.top-navigation {
    display: block;
    color: var(--color-two);
}

#d-menu {
    display: flex;
    gap: .65rem;
}

.d-menu-container {
    margin-left: 1.75rem;
}

header#masthead .wrapper {
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
    height: 4rem;
    background: var(--color-two);
    border-radius: .675rem;
}

header#masthead .wrapper > * {
    flex-shrink: 0;
}

header#masthead .wrapper .custom-logo {
    height: clamp(1.88rem, calc(1.37rem + 2.16vw), 2.75rem);
    width: auto;
}

header#masthead .social {
    margin-left: auto;
    display: flex;
    gap: .625rem;
}

nav#main-navigation {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

nav#main-navigation ul {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

nav#main-navigation ul a {
    color: initial;
}

nav#main-navigation ul a:hover {
    color: var(--color-highlight);
}

.social a,
.social button.open-search {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(1.88rem, calc(1.3rem + 2.47vw), 2.88rem);
    height: clamp(1.88rem, calc(1.3rem + 2.47vw), 2.88rem);
    font-size: clamp(1.88rem, calc(1.3rem + 2.47vw), 2.88rem);
    border-radius: clamp(1.88rem, calc(1.3rem + 2.47vw), 2.88rem);
    border: 1px solid #EBEBEB;
    background-color: transparent;
    transition: background-color .3s ease;
}

/* .social button.open-search:hover {
    background-color: var(--color-site-bg);
} */

.social svg {
    width: .434782609em;
}

button.menu-toggle {
    background-color: transparent;
    z-index: 99999;
    color: #ccc;
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 2rem;
    height: 2rem;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
    border-radius: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
}

button.menu-toggle:focus {
  outline: none;
}

button.menu-toggle span {
  -webkit-transition: background 0s 0.3s;
  transition: background 0s 0.3s;
}

.menu-toggle.open span {
    background: none;
}

button.menu-toggle span::before, 
button.menu-toggle span::after {
  -webkit-transition-duration: 0.3s, 0.3s;
          transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0s;
          transition-delay: 0.3s, 0s;
}

button.menu-toggle span::before {
  -webkit-transition-property: top, transform;
  transition-property: top, transform;
}

button.menu-toggle span::after {
  -webkit-transition-property: bottom, transform;
  transition-property: bottom, transform;
}

button.menu-toggle[aria-expanded="true"] span {
  background: none;
}

button.menu-toggle[aria-expanded="true"] span::before, 
button.menu-toggle[aria-expanded="true"] span::after {
  background-color: var(--color-menu-button);
  -webkit-transition-delay: 0s, 0.3s;
          transition-delay: 0s, 0.3s;
}

button.menu-toggle[aria-expanded="true"] span::before {
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

button.menu-toggle[aria-expanded="true"] span::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

button.menu-toggle span {
    display: block;
    position: absolute;
    top: 12px;
    left: 0px;
    right: 0px;
    height: 2px;
    background: var(--color-menu-button);
}

button.menu-toggle span::before,
button.menu-toggle span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-menu-button);
    content: "";
}

button.menu-toggle span::before {top: -7px;}
button.menu-toggle span::after {bottom: -7px;}

.menu-toggle.open span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu-toggle.open span::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.menu-toggle.open span::before, .menu-toggle.open span::after {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s;
}

.mobile-big-menu {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    transition: left 0.3s ease-in-out;
    z-index: 1000;
    padding: 20px;
    box-sizing: border-box;
    overflow-y: auto; /* Разрешить прокрутку внутри меню */
    height: 100vh; /* Высота на весь экран */
    backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    background-color: rgba(0, 2, 56, 0.75);
    color: #fff;
}

#m-menu {
    margin-top: 3em;
}

.mobile-big-menu.open {
    left: 0;
}

.mobile-big-menu .contact-block {
    padding-left: 1.6rem;
    margin-top: 4em;
}

.mobile-big-menu .contact-block a.tel,
.mobile-big-menu .contact-block a.tel:visited {
    font-weight: 500;
    font-size: 1.5rem;
    color: #000;

}

.mobile-big-menu .contact-block .social {
    display: flex;
    align-items: center;
    gap: .625rem;
    margin-top: 1.375rem;
}

.mobile-big-menu .contact-block .social > a {
    flex: 1 1 100%;
    flex-basis: calc((100% / 3) - 1.625rem);
    padding: .923em .615em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: .625em;
    background-color: #FFE9D6;
    color: var(--color-highlight, #E57C1F);
    font-size: .8125rem;
}

.mobile-big-menu .contact-block .social > a span {
    padding-left: .5rem;
}

.mobile-big-menu .contact-block .social svg {
    width: 1em;
    height: 1em;
}

.mobile-big-menu .top-menu-m-container ul li a,
.mobile-big-menu .bottom-menu-m-container ul li a {
    line-height: 200%;
}

.mobile-big-menu .top-menu-m-container ul li a,
.mobile-big-menu .top-menu-m-container ul li a:visited {
    color: var(--color-main-menu-color-m, #000000);
}

.mobile-big-menu .top-menu-m-container ul li a svg path {
    fill: var(--color-main-menu-color-m, #000000);
}

.mobile-big-menu .bottom-menu-m-container ul li a,
.mobile-big-menu .bottom-menu-m-container ul li a:visited {
    color: var(--color-top-menu-color-m, #000000);
}

.mobile-big-menu .bottom-menu-m-container ul.sub-menu li a,
.mobile-big-menu .bottom-menu-m-container ul.sub-menu li a:visited,
.mobile-big-menu .top-menu-m-container ul.sub-menu li a,
.mobile-big-menu .top-menu-m-container ul.sub-menu li a:visited {
    color: var(--color-submenu-highlight-text-m, #898989);
    opacity: .9;
}

.mobile-big-menu .bottom-menu-m-container ul li a svg path {
    fill: var(--color-top-menu-color-m, #000000);
}

.mobile-big-menu .top-menu-m-container ul li.active > a,
.mobile-big-menu .bottom-menu-m-container ul li.active > a  {
    color: var(--color-menu-highlight-text, #E57C1F);
}

.mobile-big-menu .top-menu-m-container ul li.active a > svg path,
.mobile-big-menu .bottom-menu-m-container ul li.active > a svg path {
    fill: var(--color-menu-highlight-text, #E57C1F);
}



.mobile-big-menu .top-menu-m-container ul li a svg,
.mobile-big-menu .bottom-menu-m-container ul li a svg {
    transform: rotate(0deg);
    transition: transform .3s ease;
    margin-left: .5rem;
}

.mobile-big-menu .bottom-menu-m-container ul li.active a svg,
.mobile-big-menu .top-menu-m-container ul li.active a svg {
    transform: rotate(-180deg);
}

.mobile-big-menu .sub-menu {
    max-height: 0; 
    overflow: hidden; 
    padding-left: 1rem;
    transition: max-height 0.3s ease-in-out;
    margin-left: 0;
}

.mobile-big-menu .sub-menu li a {
    font-size: 1.0625rem;
    color: #151515;
}

.mobile-big-menu  .menu-item-has-children > a {
    position: relative;
    padding-right: 30px;
}

.mobile-big-menu  .menu-item-has-children.active > .sub-menu {
    max-height: 500px;
}

@media (min-width: 1024px) {
    button.menu-toggle {
        display: none;
    }

    header#masthead .wrapper .custom-logo-link {
        display: none;
    }

    .social button.open-search {
        display: none;
    }

    header#masthead > .top-header .d-menu-container > ul {
        gap: 1.75rem;
        font-size: 1.3em;
        text-shadow: 0 0 10px #000;
    }

    header#masthead {
        background: linear-gradient(#000238c4, #00000000);
    }
}

nav ul a {
    color: inherit;
    transition: all .3s ease;
}

nav ul a:hover {
    color: var(--color-highlight);
}

@media (min-width: 1024px) {
    header#masthead {
        position: absolute;
        width: 100%;
        height: initial;
        z-index: 10;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
        /* border-bottom: 1px solid #ffffff17; */
    }

    header#masthead .top-header {
        height: 4rem;
        padding: 0 1.875rem;
    }
}

@media (min-width: 1200px) {
    .d-menu-container {
        margin-left: 1.75rem;
    }
}

/* ============= banner ============= */

.section.banner {
    background-color: var(--color-five);
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.section.banner .gradient {
    background: radial-gradient(#055898, #000238, transparent);
    position: absolute;
    top: -95%;
    width: 200%;
    height: 170%;
    left: -42%;
}

.section.banner .wrapper {
    width: 100%;
    max-width: initial;
    padding: 5vw 5% 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    position: relative;
    color: #000;
    margin: 0 auto;
    border-radius: .675rem;
    overflow: hidden;
    width: calc(100% - 2.5rem);
    padding-top: clamp(2.56rem, calc(1.12rem + 6.16vw), 5.06rem);
    padding-bottom: clamp(2.81rem, calc(0.9rem + 8.17vw), 6.13rem);
    max-width: initial;
}

section.banner .box-wrapper {
    position: relative;
    color: var(--color-two);
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    top: 12vw;
}

section.banner .box-wrapper h1 {
    font-size: clamp(1rem, calc(0.54rem + 1.96vw), 2.5rem);
    text-align: center;
    font-weight: 400;
    font-style: normal;
    display: flex;
    flex-direction: column;
    align-items: center;
}

section.banner .box-wrapper h1 .big,
section.banner .box-wrapper h1 .big-2,
section.banner .box-wrapper h1 .small {
    line-height: 1em;
    position: relative;
    font-family: 'GoodVibes';
}

section.banner .box-wrapper h1 .big {
    font-size: 2em;
    /* left: -1em; */
}

section.banner .box-wrapper h1 .small {
    font-size: 2.2em;
}

section.banner .box-wrapper h1 .big-2 {
    font-size: 2em;
    line-height: 130%;
    /* left: 2.2em; */
}


.section .top-block h2.b_title {
    font-family: 'GoodVibes';
    color: #fff;
}

.section.type_info .top-block h2.b_title {
    color: var(--color-five);
    text-align: center;
}

section.banner .box-wrapper h2 {
    margin-top: .7em;
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    position: relative;
}

.bubbles-container,
.bubbles-container-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.bubble {
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  filter: blur(0.5px);
  opacity: 0;
  animation: snow-fall linear infinite;
  /* Убираем animation-delay из CSS — задаём в JS */
  animation-duration: calc(15s + var(--duration) * 10s);
  /* Начальное положение — через JS */
  top: calc(var(--y) * 1%);
  left: calc(var(--x) * 1%);
  transform: translate(-50%, -50%) scale(var(--scale));
  width: calc(4px + var(--size) * 6px);
  height: calc(4px + var(--size) * 6px);
}

@keyframes snow-fall {
  0% {
    transform: translate(-50%, -100%) translateX(0) scale(var(--scale));
    opacity: calc(var(--opacity) * 0.6);
  }
  100% {
    transform: translate(-50%, 100vh) translateX(calc(var(--drift) * 20px)) scale(calc(var(--scale) + 0.2));
    opacity: 0;
  }
}

.icon.snowflake {
    color: var(--color-four);
    position: absolute;
    animation: spin 8s infinite ease-in-out;
    transform-origin: center;
}

.flake-1 {
    width: 1em;
    height: 1em;
    bottom: 0em;
    left: -1.2em;
}

.flake-2 {
    width: 1em;
    height: 1em;
    top: -.5em;
    right: -2em;
}

.flake-3 {
    width: 1em;
    height: 1em;
    bottom: -1.8em;
    right: 1.6em;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
        animation-timing-function: ease-in;
    }
    25% {
        transform: rotate(90deg);
        animation-timing-function: ease-out;
    }
    50% {
        transform: rotate(180deg);
        animation-timing-function: ease-in;
    }
    75% {
        transform: rotate(270deg);
        animation-timing-function: ease-out;
    }
    100% {
        transform: rotate(360deg);
    }
}

@media (min-width: 576px) {
    section.banner h1.title,
    section.banner h2.b_subtitle,
    section.banner div.b_description {
        padding-right: 0;
    }
}

@media (min-width: 768px) {
    section.banner .cover {
        display: none;
    }

    section.banner .wrapper .background-image {
        display: block;
    }

    section.banner div.b_description {
        margin-top: clamp(3.75rem, calc(3.06rem + 2.94vw), 6rem);
    }
}

@media (min-width: 1024px) {
    .section.banner {
        height: 100vh;
        aspect-ratio: initial;
    }

    .section.banner h1 {
        font-size: 2.5rem;
    }

    section.banner .box-wrapper h2,
    section.banner .box-wrapper h1 {
        right: 10vw;
        top: 1vw;
    }

    .section.banner .wrapper {
        flex-direction: row;
        padding: 0 5%;
    }

    section.banner .box-wrapper {
        top: initial;
    }
}

/* ============= INFO_BLOCK ============= */

section.type_info .box-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-auto-rows: auto;
    gap: clamp(2.19rem, calc(1.94rem + 1.05vw), 3.13rem);
}

section.type_info .box-wrapper .content-block.with_bg {
    padding: clamp(1.25rem, calc(0.87rem + 1.63vw), 2.5rem);
    border-radius: 1.25rem;
    background-color: var(--color-white);
}

section.light .content-block.with_bg {background-color: var(--color-gray-2);}
section.gray .content-block.with_bg {background-color: #fff;}
section.dark .content-block.with_bg {background-color: #1e1e1eab; color: var(--color-gray-6);}

section.type_info .box-wrapper .cover {
    grid-row: 2;
}

section.type_info .box-wrapper {
    margin-top: clamp(1rem, calc(0.74rem + 1.13vw), 1.75rem);
}

@media (min-width: 1024px) {
    section.type_info .box-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }

    section.type_info .box-wrapper .cover {
        grid-row: initial;
    }

    section.type_info .row-1 { grid-row: 1; }
    section.type_info .row-2 { grid-row: 2; }
    section.type_info .row-3 { grid-row: 3; }
    section.type_info .row-4 { grid-row: 4; }
    section.type_info .row-5 { grid-row: 5; }

    section.type_info .box-wrapper .content-block.grow {
        grid-column: span 3;
    }

    section.type_info .box-wrapper .content-block.shrink.left_text {
        grid-column: 1 / span 2;
    }

    section.type_info .box-wrapper .content-block.shrink.right_text {
        grid-column: 2 / span 2;
    }

    section.type_info .box-wrapper .cover.right {
        grid-column: 3 / span 1; 
    }

    section.type_info .box-wrapper .cover.left {
        grid-column: 1 / span 1; 
    }

    section.type_info .box-wrapper .cover {
        height: 100%;
        position: relative;
    }

    section.type_info .box-wrapper .cover img {
        position: absolute;
    }

}

/* ============= TILES_BLOCK ============= */

.section.type_tiles .box-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.5rem, calc(0.02rem + 2.07vw), 1.88rem);
    margin-top: clamp(1.88rem, calc(1.57rem + 1.31vw), 2.75rem);
}

.section.type_tiles .box-wrapper > * {
    flex: 1 1 100%;
    flex-basis: calc((100% / 2) - clamp(0.5rem, calc(0.02rem + 2.07vw), 1.88rem));
}

.section.type_tiles .item {
    padding-top: clamp(1.25rem, calc(1.1rem + 0.66vw), 1.69rem);
    padding-left: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    padding-right: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    padding-bottom: clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem);
    background-color: var(--color-white);
}

.section.type_tiles .item .i_title {
    margin-top: clamp(0.88rem, calc(0.74rem + 0.56vw), 1.25rem);
    font-size: clamp(0.88rem, calc(0.85rem + 0.09vw), 0.94rem);
    font-weight: 400;
}

.section.type_tiles svg.icon {
    color: var(--color-highlight);
    width: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    height: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
}

@media (min-width: 1400px) {
    .section.type_tiles .box-wrapper > * {
       flex-basis: calc((100% / 4) - clamp(0.5rem, calc(0.02rem + 2.07vw), 1.88rem)); 
    }
}

/* ============= LIST_IMG ============= */

.section.type_list_img .box-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    margin-top: clamp(1.38rem, calc(0.98rem + 1.69vw), 2.5rem);
}

.section.type_list_img .cover {order: 1;}

.section.type_list_img ul {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    order: 2;
}

.section.type_list_img ul li {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    font-size: .9375rem;
    line-height: 1.53em;
}

.section.type_list_img svg.icon {
    color: var(--color-four);
    flex-shrink: 0;
    width: .9375rem;
    height: .9375rem;
    position: relative;
    top: .2em;
}

@media (min-width: 1024px) {

    .section.type_list_img .box-wrapper {
        flex-direction: row;
        gap: clamp(3.75rem, calc(3.2rem + 2.35vw), 5.31rem);
    }

    .section.type_list_img .box-wrapper > *  {
        flex: 1;
    }

    .section.type_list_img .cover img {
        position: absolute;
    }

    .section.type_list_img .cover {
        position: relative;
        order: 2;
        flex: 1;
    }
    .section.type_list_img ul {
        order: 1;
        max-width: 50%;
    }

}

/* ============= POPULAR_ARTICLES ============= */

.section.type_popular_articles > .wrapper {
    width: 100%;
    background-color: var(--color-white);
    border-radius: .675rem;
    overflow: hidden;
    padding-top: clamp(1.5rem, calc(1.15rem + 1.5vw), 2.5rem);
    padding-bottom: clamp(1.5rem, calc(1.15rem + 1.5vw), 2.5rem);
}

.section.type_popular_articles .top-block {
    width: 90%;
    margin: 0 auto;
}

.section.type_popular_articles .swiper {
    overflow: visible;
    width: 90%;
    margin: clamp(1.5rem, calc(1.15rem + 1.5vw), 2.5rem) auto 0;
}

.section.type_popular_articles .swiper-slide {
    width: clamp(14rem, calc(12.33rem + 7.14vw), 18.75rem);
}

.section.type_popular_articles .swiper-slide .cover {
    aspect-ratio: 4 / 3 ;
}

.section.type_popular_articles .swiper-slide .date {
    margin-top: clamp(0.81rem, calc(0.72rem + 0.38vw), 1.06rem);
    display: flex;
    color: #AAA;
    display: flex;
    gap: .3125rem;
    font-size: .6875rem;
    line-height: 100%;
}

.section.type_popular_articles .swiper-slide h3.i_title {
    margin-top: .5em;
    font-size: clamp(0.88rem, calc(0.83rem + 0.19vw), 1rem);
    line-height: 1.33em;
    font-weight: 400;
}

.section.type_popular_articles .swiper-slide h3.i_title a {
    color: inherit;
    transition: color .3s ease;
}

.section.type_popular_articles .swiper-slide h3.i_title a:hover {
    color: var(--color-highlight);
}

.section.type_popular_articles .swiper-slide .date svg {
    width: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
    height: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
}

@media (min-width: 1024px) {

    .section.type_popular_articles .top-block {
        width: calc(100% - 72px);
    }

    .section.type_popular_articles .swiper {
        width: calc(100% - 72px);
        overflow: hidden;
    }

    .section.type_popular_articles .swiper-slide {
        width: initial;
    }

}

/* ============= NEW_ARTICLES ============= */

.section.type_new_articles > .wrapper {
    width: 100%;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_new_articles .top-block {
    width: 90%;
    margin: 0 auto;
}

.section.type_new_articles .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.section.type_new_articles .swiper {
    overflow: visible;
    width: 90%;
    margin: clamp(1.5rem, calc(1.15rem + 1.5vw), 2.5rem) auto 0;
}

.section.type_new_articles .swiper-slide {
    width: clamp(14rem, calc(12.33rem + 7.14vw), 18.75rem);
}

.section.type_new_articles a,
.section.type_new_articles a:visited {
    color: inherit;
    transition: color .3s ease;
}

.section.type_new_articles a:hover {
    color: var(--color-highlight);
}

.section.type_new_articles .item {
    border-radius: .675rem;
    display: block;
    background-color: var(--color-white);
}

.section.type_new_articles .swiper-slide .cover {
    aspect-ratio: 4 / 3 ;
}

.section.type_new_articles .swiper-slide .info {
    padding: 
    clamp(0.81rem, calc(0.61rem + 0.85vw), 1.38rem)
    clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem);
    display: flex;
    gap: 1rem;
    color: #AAA;
}

.section.type_new_articles .swiper-slide .date,
.section.type_new_articles .swiper-slide .time-to-read {
    display: flex;
    gap: .3125rem;
    font-size: .6875rem;
    line-height: 100%;
}

.section.type_new_articles .swiper-slide .title-block {
    padding: 
        clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem)
        clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem)
        clamp(1.25rem, calc(0.92rem + 1.41vw), 2.19rem);
    border-bottom: 1px solid var(--color-site-bg);
}

.section.type_new_articles .swiper-slide h3.i_title {
    font-size: clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem);
    line-height: 1.33em;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: calc(3 * 1.33em);
    max-height: calc(3 * 1.33em);
}

.section.type_new_articles .swiper-slide .date svg,
.section.type_new_articles .swiper-slide .time-to-read svg {
    width: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
    height: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
}

@media (min-width: 1024px) {

    .section.type_new_articles .top-block,
    .section.type_new_articles .swiper,
    .section.type_new_articles .swiper-scrollbar.swiper-scrollbar-horizontal {
        width: 100%;
    }

    .section.type_new_articles .swiper-slide {
        width: initial;
    }

    .section.type_new_articles > .wrapper {
        overflow: visible;
        width: 90%;
    }

}

/* ============= PEOPLE_BLOCK ============= */

.section.type_people .swiper {
    overflow: visible;
    width: 90%;
    max-width: 1012px;
    margin: 0 auto;
    margin-top: clamp(2.44rem, calc(1.88rem + 2.37vw), 4.25rem);
}

.section.type_people .swiper .swiper-slide.clear-width,
.section.type_people.small-size .swiper .swiper-slide.clear-width {
    width: initial;
}

.section.type_people .wrapper > .top-block {
    justify-content: space-between;
    align-items: flex-end;
}

.section.type_people .card_cover {
    width: 100%;
    aspect-ratio: 1 / 1.1;
    background-color: var(--color-gray-3);
    color: var(--color-site-bg);
    background-color: var(--color-white);
    position: relative;
}

.section.type_people .card_cover .cover {
    width: 100%;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 0;
}

.section.type_people .swiper-slide:hover .card_cover {
    -webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1)
}

.section.type_people .card_cover svg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
}

.section.type_people h2.b_title {
    margin-bottom: 0;
}

.section.type_people h3.i_title {
    display: block;
    text-transform: uppercase;
    font-size: clamp(0.88rem, calc(0.76rem + 0.49vw), 1.25rem);
    margin-top: clamp(1.06rem, calc(0.7rem + 1.55vw), 2.25rem);
    text-wrap: balance;
    padding: 0 .5em;
    width: 100%;
    font-weight: 600;
    text-align: center;
}

.section.type_people .i_subtitle {
    font-size: clamp(0.75rem, calc(0.71rem + 0.16vw), 0.88rem);
    line-height: 1.75em;
    text-wrap: balance;
    padding: 0 .5em;
    color: #828282;
    font-weight: 400;
    text-align: center;
    margin-top: .3em;
}

@media (min-width: 1024px) {

    /* .section.type_new_articles .top-block,
    .section.type_new_articles .swiper,
    .section.type_new_articles .swiper-scrollbar.swiper-scrollbar-horizontal {
        width: calc(100% - 72px);
    } */

    .section.type_people .swiper .swiper-slide {
        width: 32%;
    }

}

/* ============= FEEDBACK_FORM ============= */

.section.type_form .wrapper {
    color: var(--color-white);
    background: no-repeat center / cover;
    background-color: var(--color-menu-button);
    border-radius: 1.25rem;
    padding: 
        clamp(2.5rem, calc(2.1rem + 1.69vw), 3.63rem)
        clamp(2rem, calc(1.27rem + 3.1vw), 4.06rem);
}

.section.type_form h2.b_title + div.b_subtitle {
    margin-top: clamp(1.25rem, calc(1.16rem + 0.38vw), 1.5rem);
}

.section.type_form div.b_subtitle {
    color: #BFBFBF;
    max-width: 380px;
}

.section.type_form button.btn, 
.section.type_form a.btn {
    margin: initial;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section.type_form .police_confirm {
    font-size: 11px;
    color: #898989;
    max-width: 200px;
    margin: 0 auto;
    margin-top: clamp(0.5rem, calc(0.41rem + 0.38vw), 0.75rem);
    font-weight: 300;
}

#basic-feedback-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 344px;
}

.section.type_form .basic-form-wrapper {
    margin-top: clamp(1.88rem, calc(1.57rem + 1.31vw), 2.75rem);
}

#basic-feedback-form .form-group input {
    margin-bottom: 0;
}

#basic-feedback-form input, #basic-feedback-form textarea {
    font-size: clamp(1rem, calc(0.97rem + 0.14vw), 1.13rem);
    background: #fff;
    border-radius: .625rem;
    padding: 1.5em;
}

.section.type_form .cover {
    display: none;
}

@media (min-width: 768px) {

    .section.type_form .wrapper {
        position: relative;
        overflow: hidden;
    }

    .section.type_form .wrapper .cover img {
        height: 100%;
        width: auto;
    }

    .section.type_form .top-block,
    .section.type_form .basic-form-wrapper {
        position: relative;
        z-index: 1;
    }

    .section.type_form .cover {
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        height: 80%;
    }

}

/* ============= CATEGORY_EQUIPMENT_BLOCK child-terms-list ============= */

.section.type_category_equipment .child-terms-list {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem);
}

.section.type_category_equipment .child-terms-list .item {
    position: relative;
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    background-color: #fff;
    border-radius: .625rem;
    padding: 
        clamp(0.75rem, calc(0.68rem + 0.28vw), 0.94rem)
        clamp(2.19rem, calc(1.97rem + 0.94vw), 2.81rem)
        clamp(0.75rem, calc(0.68rem + 0.28vw), 0.94rem)
        clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    transition: all .3s ease;
}

.section.type_category_equipment .child-terms-list a.item,
.section.type_category_equipment .child-terms-list a.item:visited {
    color: inherit;
}

.section.type_category_equipment .child-terms-list a.item:hover {
    color: var(--color-highlight);
}

.section.type_category_equipment .child-terms-list .item span {
    text-wrap: balance;
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.57132857em;
}

.section.type_category_equipment .child-terms-list .item .cover {
    flex-shrink: 0;
    width: 68px;
    height: 68px;
}

.section.type_category_equipment .child-terms-list .item .cover img {
    object-fit: contain;
}

.section.type_category_equipment .child-terms-list .item svg.icon {
    width: 10px;
    height: 10px;
    color: #DDDDDD;
    position: absolute;
    right: 15px;
    bottom: 15px;
    transition: all .3s ease;
}

/* .section.type_category_equipment .child-terms-list a.item:hover {
    background-color: var(--color-highlight-light);
} */

.section.type_category_equipment .child-terms-list .item:hover svg.icon {
    transform: rotate(45deg);
    color: var(--color-highlight);
}

@media (min-width: 768px) {
    .section.type_category_equipment .child-terms-list .item {
        flex-basis: calc((100% / 2) - clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem));
    }
}

@media (min-width: 1440px) {

    .section.type_category_equipment .child-terms-list .item.columns-3 {
        flex-basis: calc((100% / 3) - clamp(0.94rem, calc(0.83rem + 0.47vw), 1.25rem));
    }
}

/* ============= CATEGORY_EQUIPMENT_BLOCK posts-terms-list ============= */

.section.type_category_equipment .posts-terms-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.section.type_category_equipment .posts-terms-list .item {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: clamp(1.25rem, calc(1.18rem + 0.28vw), 1.44rem);
    border-radius: .675rem;
    background-color: var(--color-white);
}

.section.type_category_equipment .posts-terms-list .item:visited {
    color: inherit;
}

.section.type_category_equipment .posts-terms-list .item h3 {
    font-size: 14px;
    text-align: center;
    text-wrap: balance;
    transition: all .3s ease;
    font-weight: 300;
}

.section.type_category_equipment .posts-terms-list .item:hover h3 {
    color: var(--color-highlight);
}

.section.type_category_equipment .posts-terms-list .cover {
    height: 4.6875rem;
}

.section.type_category_equipment .posts-terms-list .cover img {
    height: 100%;
    width: auto;
    object-fit: contain;
}

@media (min-width: 576px) {
    .section.type_category_equipment .posts-terms-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 768px) {
    .section.type_category_equipment .posts-terms-list {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width: 1440px) {
    .section.type_category_equipment .posts-terms-list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}




/* ============= BREADCRUMBS ============= */

.section.top-breadcrumbs .wrapper {
    max-width: initial;
    width: initial;
    margin: initial;
}

.breadcrumbs {
    width: 100%;
    max-width: initial;
    padding: 15px 21px;
    font-size: .875rem;
    background-color: #FFFFFF;
    border-radius: .625rem;
    margin: 0 auto;
}

nav.breadcrumbs ul li {
    display: inline-block;
    font-size: .8125rem;
    line-height: 100%;
    font-weight: 300;
}

nav.breadcrumbs ul li,
nav.breadcrumbs ul li a,
nav.breadcrumbs ul li a:visited {
    color: #c1c1c1;
    transition: color .3s ease;
}

nav.breadcrumbs ul li:hover a {
    color: var(--color-highlight, #ca774b);
    transition: color .3s ease;
}

nav.breadcrumbs ul li::after {
    content: '/';
    display: inline-block;
    margin: 0 .5em;
}

nav.breadcrumbs ul li > span {
    color: #2D2D2D;
}

nav.breadcrumbs ul li:last-child:after {
    content: '';
}

@media (min-width: 1024px) {
    .breadcrumbs {
        width: calc(100% - 2.5rem);
    }
}

/* ============= GALLERY ============= */

.section.type_gallery .wrapper {
    margin-top: clamp(2rem, calc(1.74rem + 1.13vw), 2.75rem);
    position: relative;
}

.section.type_gallery .controls.relative-controls {
    position: absolute;
    height: 100%;
    width: 100%;
}

.section.type_gallery .controls.relative-controls .c-wrapper {
    height: 100%;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.section.type_gallery .swiper {
    width: 80%;
    max-width: 1012px;
    margin: 0 auto;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_gallery .gallery-item {
    aspect-ratio: 1 / 1;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_gallery .gallery-item a {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
}

.section.type_gallery .gallery-item a img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (min-width: 1024px) {
    .section.type_gallery .swiper {
        width: 93%;
    }
}

/* ============= TABS ============= */

.section.type_tabs {
    overflow: hidden;
    margin-top: clamp(2rem, calc(1.58rem + 1.78vw), 3.19rem);
}

.section.type_tabs .swiper {
    overflow: visible;
}

.section.type_tabs .swiper-slide {
    width: min-content;
    text-wrap: nowrap;
    font-size: .9375rem;
    padding: 1.33333em;
    border-radius: .6666666em;
    background-color: var(--color-white);
    transition: background .3s ease;
    cursor: pointer;
}

.section.type_tabs .swiper-slide:hover {
    background-color: var(--color-highlight-light);
}

.section.type_tabs .swiper-slide.active {
    background-color: var(--color-highlight);
    color: var(--color-white);
}

.content-section {
    display: none;
}

.content-section.active {
    display: block;
}

/* ============= ENTRY-CONTENT ============= */

section.entry-content {
    font-size: .9375rem;
    font-weight: 300;
    line-height: 1.666666667em;
}

section.entry-content p {
    margin: 1.75em 0;
}

section.entry-content ul {
    list-style: disc;
    padding-left: 1.1rem;
}

section.entry-content ol {
    padding-left: 1.1rem;
}

section.entry-content ul.highlight li {
    margin: 1em 0;
    padding-left: initial;
    /* padding-left: 1.6666667em; */
}

section.entry-content ul.highlight li::before {
    position:relative;
    top: .15em;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: 
    url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='15' height='15' fill='white'/%3E%3Cpath d='M7.5 0C3.38057 0 0 3.38057 0 7.5C0 11.6194 3.38057 15 7.5 15C11.6194 15 15 11.6194 15 7.5C15 3.38057 11.6194 0 7.5 0ZM6.59235 10.9113L3.30803 7.62703L4.55086 6.3842L6.64986 8.4832L10.8637 4.65258L12.0465 5.95292L6.59235 10.9113Z' fill='%23E57C1F'/%3E%3C/svg%3E")
    no-repeat center;
    margin-right: 8px;
}

section.entry-content h2,
section.entry-content h3,
section.entry-content h4,
section.entry-content h5,
section.entry-content h6 {
    line-height: 100%;
    margin: 1.75em 0 .5em;
}

section.entry-content strong {
    font-weight: 600;
}


/* ============= TECH_SPECS ============= */

.section.type_tech_specs .table {
    margin-top: clamp(1.13rem, calc(0.68rem + 1.88vw), 2.38rem);
    display: flex;
    flex-direction: column;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_tech_specs h2.b_title {
    font-size: clamp(1.25rem, calc(1.16rem + 0.38vw), 1.5rem);
    font-weight: 600;
}

.section.type_tech_specs .table .row {
    font-weight: 300;
    display: flex;
    justify-content: space-between;
    background-color: var(--color-white);
}

.section.type_tech_specs .table .row .label,
.section.type_tech_specs .table .row .value,
.section.type_tech_specs .table .row.color-row {
    padding: 1.125rem clamp(0.94rem, calc(0.7rem + 1.03vw), 1.63rem);
}

.section.type_tech_specs .table .row .value {
    min-width: 30%;
    flex-shrink: 0;
    text-align: left;
}

.section.type_tech_specs .table .row:nth-child(odd) {
    background-color: #EDEDED;
}

.section.type_tech_specs .table .row.color-row {
    background-color: var(--color-highlight);
    color: var(--color-white);
}

.section.type_tech_specs .table .row .value {
    border-left: 1px solid var(--color-site-bg);
    padding-right: 1rem;
}

/* ============= COMPLECTATION ============= */

.section.type_complectation .inner-wrapper {
    background-color: var(--color-white);
    border-radius: .675rem;
    padding: 
        clamp(1.25rem, calc(0.9rem + 1.5vw), 2.25rem)
        clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem)
        clamp(1.25rem, calc(0.7rem + 2.35vw), 2.81rem);
}

.section.type_complectation h2.b_title {
    font-size: clamp(1.25rem, calc(1.16rem + 0.38vw), 1.5rem);
    font-weight: 600;
}

.section.type_complectation .box-wrapper {
    margin-top: clamp(1.38rem, calc(1.11rem + 1.13vw), 2.13rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.section.type_complectation .i_item::before {
    position:relative;
    top: .15em;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: 
    url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='15' height='15' fill='white'/%3E%3Cpath d='M7.5 0C3.38057 0 0 3.38057 0 7.5C0 11.6194 3.38057 15 7.5 15C11.6194 15 15 11.6194 15 7.5C15 3.38057 11.6194 0 7.5 0ZM6.59235 10.9113L3.30803 7.62703L4.55086 6.3842L6.64986 8.4832L10.8637 4.65258L12.0465 5.95292L6.59235 10.9113Z' fill='%23E57C1F'/%3E%3C/svg%3E")
    no-repeat center;
    margin-right: 8px;
}

@media (min-width: 1024px) {
    .section.type_complectation.horizontal .box-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: column;
        gap: 1rem;
    }

    .section.type_complectation.vertical .inner-wrapper {
        width: clamp(25rem, calc(6.96rem + 28.19vw), 31.63rem);
    }
}

@media (min-width: 1440px) {
    .section.type_complectation.horizontal .box-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: column;
        gap: 1rem;
    }
}



/* ============= INSTRUCTIONS ============= */

.section.type_instruction .inner-wrapper {
    background-color: var(--color-white);
    border-radius: .675rem;
    padding: 
        clamp(1.25rem, calc(0.9rem + 1.5vw), 2.25rem)
        clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem)
        clamp(1.25rem, calc(0.7rem + 2.35vw), 2.81rem);
}

.section.type_instruction h2.b_title {
    font-size: clamp(1.25rem, calc(1.16rem + 0.38vw), 1.5rem);
    font-weight: 600;
}

.section.type_instruction .box-wrapper {
    margin-top: clamp(1.38rem, calc(1.11rem + 1.13vw), 2.13rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.section.type_instruction .file-download-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-width: 500px;
}

.section.type_instruction .file-download-card .main-block {
    display: flex;
    gap: .75rem;
    align-items: center;
}

.section.type_instruction .file-download-card  h3.file-title {
    font-size: 15px;
    line-height: 27px;
    font-weight: 300;
}

.section.type_instruction .file-download-card .file-size {
    flex-shrink: 0;
    color: #AAAAAA;
}

.section.type_instruction .file-download-card a.download-btn,
.section.type_instruction .file-download-card a.download-btn:visited {
    color: inherit;
}

.section.type_instruction .file-download-card .icon.icon-download {
    transition: all .3s ease;
}

.section.type_instruction .file-download-card .icon.icon-download:hover {
    color: var(--color-highlight);
}

@media (min-width: 1400px) {

     .section.type_instruction.vertical .inner-wrapper {
         width: clamp(25rem, calc(6.96rem + 28.19vw), 31.63rem);
    }

    .section.type_instruction.horizontal .box-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: column;
        column-gap: 70px; 
    }
}

/* ============= OTHER_LINKS ============= */

.section.type_other_links .b_title {
    font-size: clamp(1rem, calc(0.96rem + 0.19vw), 1.13rem);
    font-weight: 500;
}

.section.type_other_links .wrapper {
    background-color: var(--color-white);
    border-radius: .675rem;
    padding: 
        clamp(1.25rem, calc(0.9rem + 1.5vw), 2.25rem)
        clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem)
        clamp(1.25rem, calc(0.7rem + 2.35vw), 2.81rem);
}

.section.type_other_links .box-wrapper {
    margin-top: clamp(1.13rem, calc(0.99rem + 0.56vw), 1.5rem);
}

.section.type_other_links .wrapper ul {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.section.type_other_links .wrapper li {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .675rem;
    border-radius: .675rem;
    background-color: var(--color-site-bg)
}

.section.type_other_links .wrapper li .number {
    flex-shrink: 0;
    position: relative;
    top: .2em;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    background-color: var(--color-highlight);
    color: var(--color-white);
    font-weight: 500;
}

.section.type_other_links .wrapper li .text {
    font-size: .8125rem;
    line-height: 1.923em;
    color: #5E5E5E;
}

.section.type_other_links .wrapper li .text a {
    text-decoration: underline;
    transition: all .3s ease;
}

.section.type_other_links .wrapper li .text a,
.section.type_other_links .wrapper li .text a:visited {
    color: inherit;
}

.section.type_other_links .wrapper li .text a:hover {
    color: var(--color-highlight);
}

/* ============= TRAINING_CHECK ============= */

.section.type_training_check .box-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.section.type_training_check .item {
    position: relative;
    flex: 1 1 100%;
    background-color: var(--color-menu-button);
    border-radius: .675rem;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    background-image: url('/wp-content/uploads/2025/08/form_bg-scaled.jpg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 
        clamp(1.25rem, calc(0.7rem + 2.35vw), 2.81rem)
        clamp(1.88rem, calc(1.32rem + 2.35vw), 3.44rem)
        clamp(2.5rem, calc(2.06rem + 1.88vw), 3.75rem);

}

.section.type_training_check .item svg.icon {
    width: 4.25rem;
    height: 4.25rem;
    color: #707884;
}

.section.type_training_check .item h3.i_title {
    margin-top: clamp(1.5rem, calc(1.28rem + 0.94vw), 2.13rem);
}

.section.type_training_check .item div.i_subtitle {
    margin-top: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
    color: #BFBFBF;
}

.section.type_training_check .item h3.i_title,
.section.type_training_check .item div.i_subtitle {
    max-width: 400px;
}

.section.type_training_check .item a.btn {
    margin: initial;
    width: min-content;
    text-wrap: nowrap;
    margin-top: clamp(3.13rem, calc(2.57rem + 2.35vw), 4.69rem);
}

.section.type_training_check .item svg.abstraction {
    position: absolute;
    bottom: 0;
    right: 0;
    color: #F6F6F605;
}

@media (min-width: 768px) {

    .section.type_training_check .item {
        flex-basis: calc((100% / 2) - 1.25rem);
    }
    
}

/* ============= ARCHIVE_LITERATURE_GRID ============= */

.section.literature-archive .literature-posts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

.section.literature-archive .literature-posts h3.i_title {
    font-size: .875rem;
    line-height: 1.428em;
    text-align: center;
}

.section.literature-archive .literature-posts a {
    display: block;
}

.section.literature-archive .literature-posts a h3.i_title,
.section.literature-archive .literature-posts .loading.literature-item h3.i_title,
.section.literature-archive .literature-posts a:visited h3.i_title {
    color: inherit;
    transition: all .3s ease;
    font-weight: 400;
    margin-top: 1.25rem;
}

.section.literature-archive .literature-posts a:hover h3.i_title {
    color: var(--color-highlight);
}

.section.literature-archive .literature-posts .cover {
    aspect-ratio: 10 / 16 ;
    border-radius: .675rem;
    overflow: hidden;
}

.section.literature-archive .literature-posts .loading.literature-item.item .cover {
    background-color: white;
}

.section.literature-archive ul.page-numbers {
    margin-top: clamp(1.88rem, calc(1.63rem + 1.22vw), 2.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: .675rem;
}

.section.literature-archive li .page-numbers {
    width: 1.875rem;
    height: 1.875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: .3125rem;
    color: var(--color-basic-text);
    background-color: var(--color-white);
    transition: all .3s ease;
}

.section.literature-archive li .page-numbers.current,
.section.literature-archive li .page-numbers.current:hover {
    background-color: var(--color-highlight);
    color: var(--color-white);
}

.section.literature-archive li .page-numbers:hover {
    background-color: var(--color-highlight-light);
}

.section.literature-archive .page-numbers svg.arrow-icon {
    height: .7em;
    width: .7em;
    transition: all .3s ease;
}

.section.literature-archive .page-numbers.next:hover svg.arrow-icon {
    transform: rotate(45deg);
}

.section.literature-archive .page-numbers.prev svg.arrow-icon {
    transform: rotate(-90deg);
}

.section.literature-archive .page-numbers.prev:hover svg.arrow-icon {
    transform: rotate(-45deg);
}

.loading .cover {
    position: relative;
    overflow: hidden;
    background: #f0f0f0;
    padding-bottom: 150%;
}

.loading .loading-shimmer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}


@media (min-width: 576px) {
    .section.literature-archive .literature-posts {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 768px) {
    .section.literature-archive .literature-posts {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width: 1440px) {
    .section.literature-archive .literature-posts {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* ============= DETAILS ============= */

.section.type_book_details {
    padding-bottom: clamp(1.25rem, calc(0.92rem + 1.41vw), 2.19rem);
}

.section.type_book_details .box-wrapper {
    margin-top: clamp(1.88rem, calc(1.65rem + 0.94vw), 2.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.section.type_book_details .box-wrapper > div {
    flex: 1 1 100%;
}

.section.type_book_details .box-wrapper > div.details_block {
    flex-grow: 1;
}

.section.type_book_details .image_block .cover {
    aspect-ratio: 11.4 / 16;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_book_details .details_block {
    padding: clamp(1.25rem, calc(0.94rem + 1.31vw), 2.13rem);
    background-color: var(--color-white);
    border-radius: .675rem;
}

.section.type_book_details .details_block .item {
    padding: 1.25rem 0;
    border-bottom: 1px solid #F9F9F9;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.section.type_book_details .details_block .item:first-of-type {
    padding-top: 0;
}

.section.type_book_details .details_block .item:last-of-type {
    border-bottom: initial;
}

.section.type_book_details .item .label {
    font-weight: 500;
    line-height: 1.5625em;
}

.section.type_book_details .item .value {
    font-weight: 400;
    line-height: 1.5625em;
    color: #5E5E5E
} 

.section.type_book_details .details_block .buttons {
    margin-top: clamp(1.88rem, calc(1.43rem + 1.88vw), 3.13rem);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.section.type_book_details .details_block .buttons > * {
    flex: 1 1 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section.type_book_details .details_block .buttons .btn.download svg {
    height: 1.1em;
    width: 1.1em;
}

.section.type_book_details .details_block .space {
    display: none;
}

a.download.btn:hover svg {
    transform: initial;
}

a.download.btn {
    background-color: var(--color-highlight-light);
    color: var(--color-highlight);
}

a.download.btn:hover {
    color: var(--color-white);
    background-color: var(--color-highlight);
}

@media (min-width: 576px) {
    .section.type_book_details .details_block .buttons > * {
        flex-basis: calc((100%/2) - .5rem);
        max-width: 50%;
    }
}

@media (min-width: 1024px) {

    .section.type_book_details .box-wrapper {
        flex-wrap: nowrap;
    }

    .section.type_book_details .box-wrapper > div {
        flex: initial;
    }

    .section.type_book_details .box-wrapper > div.image_block {
        width: 40%;
        flex-shrink: 0;
    }

    .section.type_book_details .details_block {
        display: flex;
        flex-direction: column;
    }

    .section.type_book_details .details_block .item {
        flex-direction: row;
    }

    .section.type_book_details .item .label {
        flex-shrink: 0;
        width: 100px;
    }

    .section.type_book_details .details_block .space {
        display: block;
        flex-grow: 1;
    }

    .section.type_book_details .details_block .buttons {
        margin-top: 1rem;
        padding-left: calc(100px + .5rem);
    }
}

/* ============= BOOK_SLIDER ============= */

.section.type_book .swiper {
    overflow: visible;
    width: 90%;
    max-width: 1012px;
    margin: 0 auto;
    margin-top: clamp(2.44rem, calc(1.88rem + 2.37vw), 4.25rem);
}

.section.type_book .swiper-slide {
    width: 14.8125rem;
}

.section.type_book .swiper-slide h3.i_title {
    font-size: .875rem;
    margin-top: 1.571em;
    line-height: 1.33em;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: calc(3 * 1.33em);
    max-height: calc(3 * 1.33em);
    color: inherit;
    transition: color .3s ease;
}

.section.type_book .swiper-slide a:hover h3.i_title {
    color: var(--color-highlight);
}

.section.type_book .cover {
    aspect-ratio: 11.4 / 16;
    border-radius: .675rem;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .section.type_book .swiper {
        overflow: hidden;
    }
    .section.type_book .swiper-slide h3.i_title {
        text-align: center;
        display: -webkit-box;
        -webkit-line-clamp: initial;
        -webkit-box-orient: initial;
        overflow: initial;
        text-overflow: initial;
        height: initial;
        max-height: initial;
    }
    .section.type_book .swiper-slide {
        width: initial;
    }
}

/* ============= ARCHIVE_ARTICLES ============= */

.section.type_archive_atricles .box-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
}

.section.type_archive_atricles .item {
    background-color: var(--color-white);
    border-radius: .675rem;
}

.section.type_archive_atricles .item .top {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    padding: 
        clamp(1.25rem, calc(1.14rem + 0.47vw), 1.56rem)
        clamp(1.25rem, calc(0.9rem + 1.5vw), 2.25rem);
    border-bottom: 1px solid #EEEEEE;
}

.section.type_archive_atricles .item .cover {
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    width: 3.25rem;
}

.section.type_archive_atricles .item .i_title {
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.47058824em;
}

.section.type_archive_atricles .item .bottom {
    padding: 
        clamp(1.25rem, calc(1.14rem + 0.47vw), 1.56rem)
        clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem);
}

.section.type_archive_atricles .item .bottom .child-categories {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.section.type_archive_atricles .item .bottom .child-categories a {
    font-size: .875rem;
    line-height: 1.28571em;
    color: #515962;
}

.section.type_archive_atricles .item .bottom .child-categories .number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 1.125rem;
    background-color: #EAEAEA;
    font-size: .5625rem;
    position: relative;
    bottom: .14em;
    margin-left: 1em;
}

@media (min-width: 768px) {
    .section.type_archive_atricles .box-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

/* ============= ARCHIVE CURRENT ARTICLES ============= */

.section.type_current_articles .inner-wrapper {
    display: flex;
    flex-direction: column;
}

.section.type_current_articles article {
    display: flex;
    flex-direction: column;
    gap: clamp(0.69rem, calc(0.05rem + 2.72vw), 2.5rem);
    padding: clamp(1.25rem, calc(1.03rem + 0.94vw), 1.88rem) 0;
    border-bottom: 1px solid #EEEEEE;
}

.section.type_current_articles article:first-child {
    padding-top: 0;
}

.section.type_current_articles article:last-child {
    padding-bottom: 0;
    border-bottom: initial;
}

.section.type_current_articles .cover {
    aspect-ratio: 4 / 3;
    border-radius: .675rem;
    overflow: hidden;
}

.section.type_current_articles .date {
    margin-top: clamp(0.5rem, calc(0.35rem + 0.66vw), 0.94rem);
    display: flex;
    color: #AAA;
    display: flex;
    gap: .3125rem;
    font-size: .6875rem;
    line-height: 100%;
}

.section.type_current_articles .date svg {
    width: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
    height: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
}

.section.type_current_articles h2.i_title {
    font-weight: 600;
    font-size: clamp(1.25rem, calc(1.16rem + 0.38vw), 1.5rem);
    line-height: 1.416em;
    color: inherit;
}

.section.type_current_articles h2.i_title a,
.section.type_current_articles h2.i_title a:visited {
    color: inherit;
    transition: all .3s ease;
}

.section.type_current_articles h2.i_title:hover a {
    color: var(--color-highlight);
}

.section.type_current_articles article .entry-content {
    margin-top: 1rem;
}

.section.type_current_articles article .entry-content p {
    margin: 0;
}



@media (min-width: 768px) {
    .section.type_current_articles article {
        flex-direction: row;
        align-items: flex-start;
    }

    .section.type_current_articles article .cover {
        aspect-ratio: 1 / 1;
        flex-shrink: 0;
        width: 10rem;
    }
}

@media (min-width: 1440px) {
    .section.type_current_articles article .cover {
        width: 15rem;
    }
}

/* ============= POST_IMAGE ============= */

.section.type_post-image .cover {
    border-radius: .675rem;
    overflow: hidden;
}

.post-template-default .section.entry-content figure img {
    border-radius: .675rem;
}

/* ============= SEARCH_RESULT ============= */

section.type_search-result .box-wrapper {
    margin-top: clamp(1.25rem, calc(0.81rem + 1.88vw), 2.5rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

section.type_search-result .item {
    border-radius: .675rem;
    padding: 1rem;
    background-color: var(--color-white);
}

section.type_search-result .item .content-type {
    font-size: clamp(0.63rem, calc(0.58rem + 0.19vw), 0.75rem);
    padding: .5em .75em;
    background-color: var(--color-highlight-light);
    border-radius: .3em;
}

section.type_search-result .item .content-type + h2 {
    margin-top: .5em;
}

section.type_search-result .item h2 {
    font-weight: 400;
    font-size: clamp(1.13rem, calc(0.99rem + 0.56vw), 1.5rem);
}

section.type_search-result .item h2 a {
    color: inherit;
    transition: color .3s ease;
}

section.type_search-result .item h2 a:hover {
    color: var(--color-highlight);
}

/* ========================================
   ФОРМЫ: Общие стили (картина + посещение бала)
   ======================================== */

/* Маржин сверху после .top-block */
.top-block + #picture-submission-form,
.top-block + #ball-attendance-form {
    margin-top: clamp(1.88rem, calc(1.3rem + 2.45vw), 3.75rem);
}

/* Общие стили формы */
#picture-submission-form,
#ball-attendance-form {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    padding: 2.5rem;
    background-color: rgba(255, 255, 255, 0.23);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    box-shadow: 0 0px 40px rgba(0, 0, 0, 0.1);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    animation: fadeIn 0.6s ease-out;
}

#ball-attendance-form {

}

/* ========================================
   ГРУППЫ ПОЛЕЙ
   ======================================== */

.form-group {
    margin-bottom: 1.8rem;
    position: relative;
}

.form-group:last-of-type {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 2rem;
}

/* ========================================
   LABEL
   ======================================== */

#picture-submission-form label,
#ball-attendance-form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #fff;
    font-size: 1rem;
    transition: all 0.3s ease;
}

#picture-submission-form label,
#ball-attendance-form label {
    color: #fff;
}

/* Эффект при наведении на группу */
.form-group:hover label {
    transform: translateX(5px);
}

/* ========================================
   ПОЛЯ ВВОДА (текст, email, tel, number, file)
   ======================================== */

/* Все текстовые и числовые поля */

#picture-submission-form input:valid:not(:focus):not(:placeholder-shown), 
#picture-submission-form textarea:valid:not(:focus):not(:placeholder-shown) {
    border-color: white;
    background: #00a8ff30;
}


#picture-submission-form input[type="text"],
#picture-submission-form input[type="email"],
#picture-submission-form input[type="tel"],
#picture-submission-form input[type="number"],
#ball-attendance-form input[type="text"],
#ball-attendance-form input[type="email"],
#ball-attendance-form input[type="tel"],
#ball-attendance-form input[type="number"],
#picture-submission-form textarea {
    width: 100%;
    padding: 1rem 1.2rem;
    border: 2px solid rgb(188 188 188 / 20%);
    border-radius: 12px;
    background: #ffffff;
    color: var(--color-five);
    font-size: 1rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    font-family: inherit;
}

/* Текстовое поле (textarea) */
#picture-submission-form textarea {
    min-height: 120px;
    resize: vertical;
}

/* Цвет текста в тёмной теме */

/* .section.type_picture-form {
    background-color: var(--color-five);
} */

.section.type_picture-form.shadow_bg #picture-submission-form input[type="text"],
.section.type_picture-form.shadow_bg #picture-submission-form input[type="email"],
.section.type_picture-form.shadow_bg #picture-submission-form input[type="tel"],
.section.type_picture-form.shadow_bg #picture-submission-form input[type="number"],
.section.type_picture-form.shadow_bg #ball-attendance-form input[type="text"],
.section.type_picture-form.shadow_bg #ball-attendance-form input[type="email"],
.section.type_picture-form.shadow_bg #ball-attendance-form input[type="tel"],
.section.type_picture-form.shadow_bg #ball-attendance-form input[type="number"],
.section.type_picture-form.shadow_bg #picture-submission-form textarea {
    color: var(--color-five);
}

/* Фокус */
#picture-submission-form input:focus,
#ball-attendance-form input:focus,
#picture-submission-form textarea:focus {
    outline: none;
    border-color: var(--color-highlight);
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px #00aaff4d;
}

.section.type_picture-form.shadow_bg input:focus,
.section.type_picture-form.shadow_bg textarea:focus {
    background: #ffffff;
}

/* Плейсхолдер */
#picture-submission-form input::placeholder,
#ball-attendance-form input::placeholder,
#picture-submission-form textarea::placeholder {
    color: var(--color-four);
}

.section.type_picture-form.shadow_bg input::placeholder,
.section.type_picture-form.shadow_bg textarea::placeholder {
    color: var(--color-four);
}

/* Валидация */
input:invalid:not(:focus):not(:placeholder-shown),
textarea:invalid:not(:focus):not(:placeholder-shown) {
    border-color: var(--color-two);
    background: rgba(187, 187, 187, 1);
}

.section.type_picture-form.shadow_bg input:invalid:not(:focus):not(:placeholder-shown),
.section.type_picture-form.shadow_bg textarea:invalid:not(:focus):not(:placeholder-shown) {
    background: #ffffff;
}

/* ========================================
   ФАЙЛОВЫЙ ИНПУТ
   ======================================== */

#picture-submission-form input[type="file"] {
    padding: 0.8rem 1.2rem;
    cursor: pointer;
    color: var(--color-four);
}

#picture-submission-form input[type="file"]::file-selector-button {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 8px;
    background-color: var(--color-highlight);
    color: white;
    cursor: pointer;
    margin-right: 1rem;
    transition: all 0.3s ease;
}

#picture-submission-form input[type="file"]::file-selector-button:hover {
    background: var(--color-highlight);
    transform: translateY(-1px);
}

/* ========================================
   ЧЕКБОКС
   ======================================== */

#picture-submission-form input[type="checkbox"],
#ball-attendance-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    appearance: none;
    position: relative;
    transition: all 0.3s ease;
}

#picture-submission-form input[type="checkbox"]:checked,
#ball-attendance-form input[type="checkbox"]:checked {
    background: var(--color-highlight);
    border-color: var(--color-highlight);
}

#picture-submission-form input[type="checkbox"]:checked::after,
#ball-attendance-form input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 14px;
}

/* Лейбл чекбокса */
#picture-submission-form .form-group:last-of-type label,
#ball-attendance-form .form-group:last-of-type label {
    margin-bottom: 0;
    cursor: pointer;
    font-weight: 500;
}

/* ========================================
   КНОПКА ОТПРАВКИ
   ======================================== */

#picture-submission-form button[type="submit"],
#ball-attendance-form button[type="submit"] {
    width: 100%;
    padding: 1.2rem;
    background-color: var(--color-highlight);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#picture-submission-form button[type="submit"]:hover,
#ball-attendance-form button[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px #00aaff4d;
    background-color: var(--color-highlight);
}

#picture-submission-form button[type="submit"]:active,
#ball-attendance-form button[type="submit"]:active {
    transform: translateY(-1px);
}

/* ========================================
   СООБЩЕНИЯ ФОРМЫ
   ======================================== */

#picture-form-message,
#ball-form-message {
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: 12px;
    text-align: center;
    font-weight: 500;
    transition: all 0.3s ease;
}

#picture-form-message.success,
#ball-form-message.success {
    background: rgba(76, 175, 80, 0.2);
    color: #4caf50;
    border: 2px solid #4caf50;
}

#picture-form-message.error,
#ball-form-message.error {
    background: rgba(244, 67, 54, 0.2);
    color: #f44336;
    border: 2px solid #f44336;
}

/* ========================================
   АНИМАЦИИ
   ======================================== */

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

/* ========================================
   АДАПТИВНОСТЬ
   ======================================== */

@media (max-width: 768px) {
    #picture-submission-form,
    #ball-attendance-form {
        margin: 1rem;
        padding: 2rem 1.5rem;
    }

    input,
    textarea,
    input[type="file"]::file-selector-button {
        padding: 0.8rem 1rem;
    }

    button[type="submit"] {
        padding: 1rem;
    }
}

.section .cover_container {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}


.section .cover_container > .cover {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    -moz-background-size: cover;
}

@media (min-width: 1024px) {
    .cover_container > .cover {
        background-attachment: fixed;
    }
}


/* ФОРМА РЕГИСТРАЦИИ  */

.section.bal_form {
    background-color: var(--color-five);
    color: #fff;
    position: relative;
}

.type_picture-form.bal_form .box-wrapper .left h3, .type_picture-form.bal_form .box-wrapper .right h3 {
    color: #fff;
    font-size: clamp(1.88rem, calc(1.68rem + 0.82vw), 2.5rem);
}

.qr_block {
    display: flex;
    align-items: center;
    justify-content: center;
}

.qr_block img {
    max-width: 300px;
    display: block;
}

.section.bal_form .qr_text_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.section.bal_form .b_content-block {
    font-size: clamp(1.13rem, calc(1.09rem + 0.16vw), 1.25rem);
    max-width: 400px;
    text-align: center;
}

.section.bal_form .b_content-block > *:first-child {
    margin-top: 0;
}

.section.bal_form .b_content-block > *:last-child {
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    .type_picture-form.bal_form .box-wrapper {
        flex-direction: row;
        justify-content: center;
        gap: clamp(4rem, calc(-5.14rem + 14.29vw), 12rem);
    }
}





/* ============= MINI_BANNER ============= */

section.mini_banner {
    padding-top: 7rem;
    background-color: var(--color-five);
}

section.mini_banner .top-block h2.b_title {
    font-size: clamp(2.5rem, calc(1.73rem + 3.27vw), 5rem);
    font-family: 'GoodVibes';
    text-align: center;
    font-weight: 400;
    font-style: normal;
    color: white;
}

/* ============= PATRONS ============= */

section.type_patrons .box-wrapper {
    
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
}

section.type_patrons .top-block + .box-wrapper {
    margin-top: clamp(1.25rem, calc(0.87rem + 1.63vw), 2.5rem);
}

section.type_patrons .item {
    display: flex;
    flex-direction: column;
    border: 1px solid #D1D1D1;
    border-radius: .675rem;
}

section.type_patrons .cover {
    aspect-ratio: 1 / 1;
    border: 1px solid #D1D1D1;
    overflow: hidden;
    border-radius: .675rem;
}

section.type_patrons .i_details {
    padding: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
}

section.type_patrons .i_desc {
    margin-top: 1rem;
}

@media (min-width: 768px) {
    section.type_patrons .item {
        flex-direction: row;
    }

    section.type_patrons .cover {
        width: 300px;
        border-left: none;
        border-top: none;
        border-bottom: none;
    }
}

@media (min-width: 1024px) {
    section.type_patrons .box-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============= LOTS ============= */

.section.type_auctions .top-block + .box-wrapper {
    margin-top: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
}

.section.type_auctions .box-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
}

.section.type_auctions .item {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
    border-radius: .675rem;
    border: 1px solid #E2E2E2;
    padding-bottom: 1.25rem;
}

.section.type_auctions .item .cover {
    border-radius: .675rem;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background-color: #e2e2e2;
}

.section.type_auctions .item .cover img {
    object-fit: contain;
}

.section.type_auctions .item .i_details {
    padding: 0 1.25rem;
}

.section.type_auctions .item .i_details > h2 a,
.section.type_auctions .item .i_details > h2 a:visited {
    color: inherit;
    transition: all .3s ease;
}

.section.type_auctions .item .i_details > h2 a:hover {
    color: var(--color-four);
}

.section.type_auctions .item .i_details .i_price_group {
    margin-top: 1rem;
}

.section.type_auctions .item .i_details .i_price_group span.label {
    color: var(--color-four);
}

.section.type_auctions .item .i_details .i_price_group h3.i_price {
    font-size: clamp(1.88rem, calc(1.68rem + 0.82vw), 2.5rem);
}

button.btn.vote {
    background-color: var(--color-five);
    display: flex;
    align-items: center;
}

button.btn.vote:hover svg {
    transform: rotate(0);
}

button.btn.vote.active {
    background-color: green;
}

.section.type_auctions .btn.vote svg {
    height: 2em;
    width: 2em;
}

.section.type_auctions .buttons {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.25rem, calc(1.06rem + 0.82vw), 1.88rem);
    padding: 0 1.25rem;
}

.section.type_auctions .buttons > * {
    flex: 1 1 100%; 
}

.section.type_auctions .btn {
    line-height: 2rem;
}

.section.type_auctions a.btn {
    display: flex;
    align-items: center;
}

.section.type_auctions a.btn svg {
    height: 1rem;
    width: 1rem;
}

.section.type_auctions a.btn,
.section.type_auctions button.btn {
    margin: initial;
    justify-content: center;
}

@media (min-width: 756px) {
    .section.type_auctions .box-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .section.type_auctions .box-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1440px) {

    /* .section.type_auctions .buttons {
        gap: 1rem;
        flex-wrap: nowrap;
    }

    .section.type_auctions .buttons > * {
        font-size: 1rem;
        flex-basis: calc((100% / 2) - 1rem);
    } */
}

/* Стили для модального окна */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }
    
    .modal-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    
    .modal-content {
        background: white;
        width: 100%;
        max-width: 500px;
        border-radius: 12px;
        padding: 30px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        transform: translateY(50px);
        transition: transform 0.5s ease;
        position: relative;
    }
    
    .modal-overlay.active .modal-content {
        transform: translateY(0);
    }
    
    .close-modal {
        position: absolute;
        top: -7px;
        right: -7px;
        font-size: 24px;
        background: none;
        border: none;
        cursor: pointer;
        color: #7f8c8d;
        transition: color 0.3s ease;
    }
    
    .close-modal:hover {
        color: #e74c3c;
    }
    
    .modal-title {
        text-align: center;
        margin-bottom: 20px;
        color: #2c3e50;
        font-size: 1.8rem;
    }
    
    .vote-form {
        display: flex;
        flex-direction: column;
    }
    
    .form-group {
        margin-bottom: 20px;
    }
    
    .form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
        color: #2c3e50;
    }
    
    .form-group input {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        font-size: 16px;
        transition: border-color 0.3s ease;
    }
    
    .form-group input:focus {
        border-color: #3498db;
        outline: none;
    }
    
    .form-error {
        color: #e74c3c;
        font-size: 14px;
        margin-top: 5px;
        display: none;
    }
    
    .submit-btn {
        background: #3498db;
        color: white;
        border: none;
        padding: 15px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.3s ease;
        margin-top: 10px;
    }
    
    .submit-btn:hover {
        background: #2980b9;
    }
    
    .success-message {
        text-align: center;
        color: #27ae60;
        font-weight: 600;
        margin-top: 15px;
        display: none;
    }
    
    body.modal-open {
        overflow: hidden;
    }

/* ============= PICTURE FORM ============ */

.section.type_picture-form.shadow_bg {
    background-size: cover; 
    background-position: center; 
    background-repeat: no-repeat;
    position: relative;
}

.section.type_picture-form.shadow_bg .top-block {
    position: relative;
}

.type_picture-form .box-wrapper {
    margin-top: var(--margin-padding-20-30);
    display: flex;
    flex-direction: column;
    gap: var(--margin-padding-20-30);
}

.type_picture-form .box-wrapper .left h3,
.type_picture-form .box-wrapper .right h3 {
    margin-bottom: 1rem;
    text-align: center;
    position: relative;
    color: var(--color-five);
    font-family: 'GoodVibes';
    font-weight: 300;
}

@media (min-width: 1024px) {
    .type_ball-form .box-wrapper {
        flex-direction: row;
    }

    .type_ball-form .box-wrapper > div {
        flex: 1 1 100%;
        flex-basis: calc((100% / 2) - var(--margin-padding-20-30));
    }
}

/* ============= ПРИВЕТСТВЕННЫЙ БЛОК ============= */

/* .section.type_hello h2.b_title {
    font-size: clamp(3.13rem, calc(2.93rem + 0.82vw), 3.75rem);
} */

section.type_hello h3.b_subtitle {
    max-width: 600px;
    margin-top: 1em;
    margin-left: auto;
    font-weight: 400;
}

section.type_hello .wrapper {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 4rem;
}

section.type_hello .top-block h2.b_title {
    max-width: 600px;
    margin-left: auto;
    color: var(--color-five);
}


section.type_hello svg.icon {
    width: 4rem;
    height: 4rem;
    color: var(--color-five);
}

.countdown {
    font-size: clamp(2rem, calc(0.84rem + 4.93vw), 4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: monospace;
    background-color: var(--color-five);
    color: var(--color-two);
    border-radius: 1.25rem;
    padding: 1rem 2rem;
}

.countdown .time {
    display: flex;
    align-items: center;
}

.dotes {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.days,
.hours,
.minutes {
    display: block;
    font-size: 1em;
}

.hour-block, .minutes-block, .days-block, .dotes-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.dotes-block h3 {
    height: 1em;
}

.dotes-block span {
    position: relative;
    top: .05em;
}

.days-block {
    margin-right: 2em;
}

@media (min-width: 480px) {

}

@media (min-width: 768px) {

    section.type_hello svg.icon {
        width: clamp(4rem, calc(3.31rem + 2.94vw), 6.25rem);
        height: clamp(4rem, calc(3.31rem + 2.94vw), 6.25rem);
    }
}

@media (min-width: 768px) {

}

@media (min-width: 1024px) {
    .section.type_hello .wrapper {
        flex-direction: row-reverse;
        justify-content: center;
        gap: clamp(4rem, calc(-5.14rem + 14.29vw), 12rem);
    }

    
}

@media (min-width: 1440px) {
    .countdown {
        padding: 1em;
    }
}

.handwriting-container {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.handwriting {
  max-width: 800px; /* Подстройте под вашу ширину */
  width: 100%;
  height: auto; /* Сохраняет пропорции */
}

.path {
  stroke-dasharray: 3829.732177734375;
  stroke-dashoffset: 3829.732177734375;
  fill: transparent; /* Изначально текст прозрачный */

  stroke-width: 1; /* Толщина обводки */
  animation: 
    dash 5s ease-in-out forwards,
    fill-in 0.5s ease-in-out 1s forwards; /* Задержка = длительности анимации dash */
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes fill-in {
  to {
    fill: white; /* Заполняем текущим цветом текста */
    stroke: white; /* Убираем обводку */
  }
}

/* ============= ИНФО-БЛОК-2 ============= */

.section.type_info_2 .box-wrapper > * {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.125rem;
}

.section.type_info_2 .swiper {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 1.25rem;
}

.section.type_info_2 .swiper-outer-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.section.type_info_2 .controls.relative-controls {
    position: absolute;
    width: 100%;
    height: 100%;
}

.section.type_info_2 .controls.relative-controls .c-wrapper {
    height: 100%;
    width: 100%;
    justify-content: space-between;
}

.section.type_info_2 .swiper-button-next.rel,
.section.type_info_2 .swiper-button-prev.rel {
    top: calc(50% - 1rem);
    width: 2rem;
    height: 2rem;
}

.section.type_info_2 .swiper-button-next.rel {
    transform: rotate(90deg);
}

.section.type_info_2 .swiper-button-prev.rel {
    transform: rotate(-90deg);
}

@media (min-width: 1024px) {
    .section.type_info_2 .box-wrapper > * {
        max-width: initial;
    }

    .section.type_info_2 .swiper-outer-wrapper {
        width: 45%;
        float: right;
        margin-left: 3rem;
        margin-bottom: 2rem;
    }
}

/* ============ Логотипы ============= */

.section.type_logos .top-block h2.b_title {
    color: var(--color-five);
    text-align: center;
}

.section.type_logos .box-wrapper {
    margin-top: var(--margin-padding-20-30);
    display: flex;
    gap: clamp(1.88rem, calc(1.68rem + 0.82vw), 2.5rem);
    justify-content: center;
    flex-wrap: wrap;
}

.section.type_logos .box-wrapper .item {
    max-width: 320px;
}

.section.type_logos .box-wrapper .item  .cover {
    aspect-ratio: 1 / 1;
}

.section.type_logos .box-wrapper .item  .cover img {
    object-fit: contain;
}

.section.type_logos .box-wrapper .item h3.i_subtitle {
    text-align: center;
    margin-top: 1em;
}

/* ЭКРАН 576 ОБЩИЕ */

@media (min-width: 576px) {

}

/* ЭКРАН 768 ОБЩИЕ */

@media (min-width: 768px) {
    html.aside-active {
        overflow: initial;
        height: initial;
    }
}

/* ЭКРАН 992 ОБЩИЕ */

@media (min-width: 1024px) {

    header#masthead .top-header .location {
        display: block;
    }

    .png_mask {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
    }

    .tree_low {
        display: none;
    }

    nav.top-navigation {
        display: block;
    }
}

/* ЭКРАН 1024 ОБЩИЕ */

@media (min-width: 1024px) {

    header#masthead .top-header .location {
        width: 135px;
    }

    section.banner .box-wrapper h1 {
        position: relative;
    }

    header.site-header {
        background-color: transparent;
    }
    
}

/* ЭКРАН 1200 ОБЩИЕ */

@media (min-width: 1200px) {

}

/* ЭКРАН 1400 ОБЩИЕ */

@media (min-width: 1400px) {

}

/* ЭКРАН 1600 ОБЩИЕ */

@media (min-width: 1600px) {

}

/* ЭКРАН 1800 ОБЩИЕ */

@media (min-width: 1800px) {

}


    .ball-modal {
        display: none;
        position: fixed;
        z-index: 10000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.7);
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .ball-modal.active {
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1;
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }
    
    .ball-modal-content {
        background: #00bcff82;
        margin: 5% auto;
        padding: 0;
        border-radius: 12px;
        width: 90%;
        max-width: 500px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        transform: translateY(-50px);
        transition: transform 0.3s ease;
        position: relative;
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }
    
    .ball-modal.active .ball-modal-content {
        transform: translateY(0);
    }
    
    .ball-modal-header {
        padding: 20px 25px;
        background: #0002385b;
        color: white;
        border-radius: 12px 12px 0 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .ball-modal-header h3 {
        margin: 0;
        font-size: 1.4em;
        width: 100%;
        text-align: center;
    }
    
    .ball-modal-close {
        font-size: 28px;
        font-weight: bold;
        cursor: pointer;
        line-height: 1;
        transition: opacity 0.2s;
    }
    
    .ball-modal-close:hover {
        opacity: 0.7;
    }
    
    .ball-modal-body {
        padding: 25px;
        font-size: 16px;
        line-height: 1.5;
        color: #fff;
    }
    
    .ball-modal-footer {
        padding: 15px 25px;
        text-align: right;
        border-top: 1px solid #eee;
    }
    
    .ball-modal-close-btn {
        background: #4CAF50;
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        cursor: pointer;
        font-size: 14px;
        transition: background 0.2s;
    }
    
    .ball-modal-close-btn:hover {
        background: #45a049;
    }
    
    /* Стили для формы */
    #ball-form-message {
        display: none;
        padding: 12px;
        margin-top: 15px;
        border-radius: 6px;
        font-weight: 500;
    }
    
    #ball-form-message.success {
        color: #155724;
        background: #d4edda;
        border: 1px solid #c3e6cb;
    }
    
    #ball-form-message.error {
        color: #721c24;
        background: #f8d7da;
        border: 1px solid #f5c6cb;
    }
    
    /* Запрет скролла при открытом модальном окне */
    body.ball-modal-open {
        overflow: hidden;
    }