.hide {
    display: none !important;
}

.page-content {
    padding: 50px 20px 100px;
    z-index: 99;
    position: relative;
}

.page-content ul.wp-block-list {
    list-style: disc;
    padding-left: 40px;
    font-size: 1.4rem;
    margin-bottom: 10px;
    margin-top: 10px;
}

#reviews-general-block .box-slide-rev-gen img {
    width: 200px;
}

.grecaptcha-badge {
    display: none !important;
    opacity: 0;
    visibility: hidden;
}

body.dark-menu-page #nav ul.top-menu > li > a {
    /* color: #1a1a1a;
  font-weight: 500; */
}

.blog-detail .inner-single-cont h2[id],
.blog-detail .inner-single-cont h3[id] {
    scroll-margin-top: 140px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
    only screen and (min--moz-device-pixel-ratio: 2),
    only screen and (-o-min-device-pixel-ratio: 2/1),
    only screen and (min-device-pixel-ratio: 2),
    only screen and (min-resolution: 192dpi),
    only screen and (min-resolution: 2dppx) {
    #map-block-general {
        background-image: url(../img/map-general@2x.jpg);
    }
}

.wrap-images-portf-position-one img,
.box-img-portf-two img,
.box-img-portf-three img {
    width: 100%;
}

.btn-gen-two-long,
.box-form-call-action-gen .btn-gen,
.box-cont-calc-gen .btn-gen-long {
    position: relative;
    overflow: hidden;
}

#submitbtn::before,
.btn-gen-two-long::before,
.box-cont-calc-gen .btn-gen-long::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
    z-index: 10;
    background: rgba(255, 255, 255, 0.2);
}

.seo-content #submitbtn::before {
    display: none;
}

.box-form-call-action-gen .btn-gen::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
    z-index: 10;
    background: rgba(61, 112, 181, 0.2);
}

.box-cont-calc-gen .btn-gen-long::before,
.box-form-resume .btn-gen-long::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
    z-index: 10;
    background: rgba(26, 26, 26, 0.2);
}

#submitbtn.progress::before,
.btn-gen-two-long.progress::before,
.box-form-call-action-gen .btn-gen.progress::before,
.box-cont-calc-gen .btn-gen-long.progress::before,
.box-form-resume .btn-gen-long.progress::before {
    animation: progress 6s ease-in-out forwards;
}

@keyframes progress {
    0% {
        left: -100%;
    }

    10% {
        left: -97%;
    }

    20% {
        left: -92%;
    }

    30% {
        left: -82%;
    }

    30% {
        left: -62%;
    }

    40% {
        left: -38%;
    }

    50% {
        left: -18%;
    }

    60% {
        left: -14%;
    }

    80% {
        left: -7%;
    }

    90% {
        left: -3%;
    }

    100% {
        left: 0%;
    }
}

blockquote cite {
    margin-top: 15px;
    display: block;
}

.page-id-3 h1 {
    padding: 0 0 29px;
    background: url(../img/icons/line-h2.svg) no-repeat left bottom;
}

.block-main-blog.end-blog-inner-page .wrap-main-blog {
    padding-bottom: 120px;
}

.block-main-blog.end-blog-inner-page .btn-container {
    padding-bottom: 100px;
}

.parallax-lines-blocks {
    margin-top: unset;
}

.box-clients-an img {
    display: block;
    max-width: 164px;
    /* filter: grayscale(1); */
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.box-clients-an {
    -webkit-tap-highlight-color: transparent;
}

.box-clients-an-viewport {
    position: relative;
    width: 100%;
    height: 100%;
}

.static-client-anim {
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    position: relative;
    z-index: 1;
    filter: grayscale(1);
}

.hover-client-anim {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 2;
}

.body-blog-prev-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - 195px);
}

/* .btn-container {
  padding-left: 23px;
} */
#steps-services .steps-services-vfx {
    padding: 60px 0 0;
}

#modalbox-error.a-modal {
    background: #1a1a1a;
    border-right: 1px solid #d9d9d9;
    padding: 60px 48px 48px;
}

.box-qustion:last-of-type {
    border-bottom: 1px solid #1a1a1a;
}

.inner-title-table-info-media {
    margin-top: -22px;
}

#box-calculator-price button.owl-next[disabled] {
    pointer-events: none;
    opacity: 0.36;
}

.box-logo-foot-copyright {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

body.body-pages-services .page-ar .parallax-image-inners {
    background: url(../img/bg/big_letters_parallax.svg) no-repeat;
}

#steps-services.line-top-dec-no::after {
    display: none;
}

.body-pages-portfolio .parallax-lines-blocks {
    z-index: 2;
}

.page-template-template-parts-services .wrap-call-action-calc {
    padding: 47px 0 60px;
}

#modalbox-services input.novalid {
    background: url(../img/border-bottom-input-red.svg) no-repeat left bottom !important;
}

.show-more {
    transition: opacity 0.2s ease-in-out;
    opacity: 0;
}

.show-more.show {
    opacity: 1;
}

#box-calculator-price .owl-dots {
    top: 40px;
}

.group-list-checks ul {
    padding-top: 24px;
}

#box-calculator-price .owl-nav {
    bottom: 10px;
}

#general-block-home .main-title {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 48px;
    line-height: 1;
}

.body-blog-prev span {
    color: rgba(0, 0, 0, 0.45);
    font-size: 14px;
}

.seo-content-section {
    position: relative;
}

.seo-content {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    color: #fff;
    z-index: -1;
    font-size: 10px;
}

.seo-content * {
    margin: 0;
    padding: 0;
}

.seo-content h2 {
    font-size: 10px;
}

.seo-content-bottom {
    top: unset;
    bottom: 0;
}

.seo-content-item {
    height: 60px;
    overflow: hidden;
}

.seo-content-team-item img {
    max-width: 20px;
}

.inner-girl-gen-anim img {
    width: 100%;
    max-width: 480px;
}

.serv-list-wrapper {
    width: 100%;
    margin: 32px 0;
    padding-left: 24px;
    overflow-x: hidden;
    position: relative;
    z-index: 10;
}

.serv-list-wrapper::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 11;
    width: 24px;
    height: 40px;
    background: url("../img/serv/right_mask.png");
}

.serv-list {
    display: flex;
    gap: 8px;
}

.serv-list-wrapper--desktop {
    display: none;
}

.serv-item {
    display: block;
    border-radius: 4px;
    background-color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    white-space: nowrap;
}

.serv-item-icon {
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.serv-item svg {
}

.serv-item p {
    font-size: 16px;
    line-height: 19.2px;
    font-weight: 400;
}

#address-photo-slider-contacts {
    position: relative;
    background: #edf0f5;
}

.address-map {
    position: absolute;
    z-index: -1;
}

.single-post .wrap-single-content h2 {
    padding-bottom: 10px;
    padding-top: 34px;
}

.single-post .wrap-single-content h2,
.single-post .wrap-single-content h3,
.single-post .wrap-single-content h4,
.single-post .wrap-single-content h5 {
    background: unset;
}

.single-content-blog {
    padding-top: 50px;
}

/* body:has(.fixed-nav) {
  padding-top: 60px;
} */
.first-block-inner-pages:has(.fixed-nav),
.first-block-single:has(.fixed-nav),
#general-block-home:has(.fixed-nav),
.first-block-services:has(.fixed-nav) {
    padding-top: 60px;
}

.company-name-input {
    display: none;
}

.wrap-links-footer a img {
    margin-right: 4px;
}

.mobile-widget {
    display: none;
}

.featured-services #nav.fixed-nav {
    border-bottom: none;
}

.sharing-socials-single img {
    margin-top: 50px;
}

#nav {
    transition: all 0.3s ease-in-out;
}

.box-info-cases-serv-feat {
    padding-bottom: 120px;
}

.box-phone-head a:hover,
.box-phone-footer a:hover,
.box-letter-footer a:hover {
    color: #efc36e;
}

.body-info-map-gen .box-phone-head p a:hover,
.box-contact-cont a:hover,
.box-contact-media-f p a:hover {
    color: #3d70b5;
}

.serv-list .owl-item {
    border-radius: 4px;
    box-sizing: border-box;
    /* важно! */
    transition:
        box-shadow 0.3s ease,
        border 0.3s ease;
    border: 1px solid transparent;
}

.serv-list .owl-item:hover {
    border: 1px solid var(--primary-black, #1a1a1a);
    box-shadow: 4px 4px 0 0 #191919;
}

.slider-sum-calc .descript-form-gen {
    margin-top: 0;
    margin-bottom: 32px;
}

.slider-sum-calc {
    padding-top: 33px;
}

.box-letter-footer {
    position: relative;
    /* чтобы .copy-message позиционировался относительно контейнера */
    display: inline-block;
}

.copy-message {
    position: absolute;
    background: #fff;
    color: #1a1a1a;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1000;
    top: 100%;
    left: 75px;
}

.copy-message.show {
    opacity: 1;
}

.copy-message::after {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 6px;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/copy-message-icon.svg) no-repeat center;
}

.modal-photo {
    max-width: 90vw;
    max-height: 90vh;
    text-align: center;
}

.modal-photo img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 8px;
}

/* .image-address-photo {
  cursor:pointer;
} */
.page-template-page-ta-mobile-games #call-to-action-services .container {
    background-color: #1a1a1a;
}

.serv-list-wrapper::before {
    height: 47px;
}

/* .serv-list.owl-carousel .owl-item {
  width: 300px!important;
} */
.serv-list.owl-carousel .serv-item {
    height: 45px !important;
}

.serv-list.owl-carousel .serv-title {
    white-space: normal !important;
}

#form_breef .title-team span {
    color: #333;
    font-size: 14px;
    text-transform: none;
}

.serv-list.owl-carousel .owl-stage {
    margin-left: -30px;
}

.page-template-page-brand-identity .list-brand-ident li {
    background: unset;
}

.page-template-page-brand-identity
    .first-block-services.bg-first-vfx-design
    .image-serv-gen-br-ident
    .block-image-serv-featur {
    right: 0;
}

/* .submenu.open-submenu-col, .submenu-standart.open-submenu {
  height: 500px;
} */
#form_breef .title-team span {
    color: #77787b;
}

.no-block-image.btn-gen-two-long::after {
    display: none !important;
}

/* Правки меню НАЧАЛО*/
.dropdown-column a.dropdown:after,
.dropdown-standart a.dropdown:after {
    transform: rotate(-90deg);
}

@media screen and (min-width: 993px) {
    #nav ul.top-menu > li.dropdown-column:hover > a.dropdown::after,
    #nav ul.top-menu > li.dropdown-standart:hover > a.dropdown::after {
        transform: rotate(0deg);
    }
}

.show-copy-message {
    cursor: pointer;
}

.slider-sum-calc-text {
    color: #fff;
    margin: 14px 0 0;
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 20px 0;
}

.slider-sum-calc {
    padding-top: 15px;
}

.mail-link {
    color: var(--primary-black, #1a1a1a);
    font-size: 16px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: normal;
}

.mail-link:hover {
    color: #3d70b5;
}

.copy-message-parent {
    position: relative;
}

.copy-message-footer {
    top: calc(100% - 6px);
}

.links-to-resurse p a:hover {
    color: #efc36e;
}

.box-address-footer .show-copy-message:hover {
    color: #efc36e;
}

#nav .mobile-all-services-link {
    display: none !important;
}

@media (max-width: 767px) {
    #nav.mobile-nav .top-menu > li:hover .submenu,
    #nav.mobile-nav .top-menu > li:hover .submenu-standart {
        height: 0;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
    }

    #nav.mobile-nav
        .top-menu
        > li.mobile-dropdown-open:hover
        .submenu.open-submenu-col,
    #nav.mobile-nav
        .top-menu
        > li.mobile-dropdown-open:hover
        .submenu-standart.open-submenu {
        height: auto !important;
        opacity: 1;
        visibility: visible;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    #nav.mobile-nav ul.top-menu .dropdown-column {
        position: relative;
    }

    #nav.mobile-nav.mobile-submenu-open .container,
    #nav.mobile-nav.mobile-submenu-open ul.top-menu {
        height: 100%;
    }

    #nav.mobile-nav.mobile-submenu-open ul.top-menu {
        overflow: hidden;
        width: 100%;
    }

    #nav.mobile-nav.mobile-submenu-open
        ul.top-menu
        > li:not(.mobile-dropdown-open) {
        display: none;
    }

    #nav.mobile-nav.mobile-submenu-open ul.top-menu > li.mobile-dropdown-open {
        display: flex;
        flex-direction: column;
        height: 100%;
        overflow: hidden;
        padding-top: 24px;
    }

    #nav.mobile-nav.mobile-submenu-open
        ul.top-menu
        > li.mobile-dropdown-open
        > a.dropdown {
        flex: 0 0 auto;
    }

    #nav.mobile-nav.mobile-submenu-open .submenu.open-submenu-col,
    #nav.mobile-nav.mobile-submenu-open .submenu-standart.open-submenu {
        flex: 1 1 auto;
        min-height: 0;
        height: auto !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    #nav.mobile-nav ul.top-menu .mobile-all-services-link {
        display: none !important;
        position: absolute;
        top: 38px;
        right: 2px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #efc36e !important;
        font-size: 15px;
        line-height: 1.1;
        font-weight: 400;
        text-transform: none;
        z-index: 3;
    }

    #nav ul.top-menu > li > a.mobile-all-services-link {
        color: #efc36e !important;
    }

    #nav.mobile-nav
        ul.top-menu
        .dropdown-column.mobile-dropdown-open
        .mobile-all-services-link {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
    }

    #nav.mobile-nav ul.top-menu .mobile-all-services-link:hover,
    #nav.mobile-nav ul.top-menu .mobile-all-services-link:focus {
        color: #efc36e !important;
        text-decoration: none;
    }

    #nav.mobile-nav
        ul.top-menu
        .dropdown-column.mobile-dropdown-open
        > a.dropdown {
        padding-left: 20px;
        padding-right: 130px;
    }

    #nav.mobile-nav
        ul.top-menu
        .dropdown-standart.mobile-dropdown-open
        > a.dropdown {
        padding-left: 20px;
    }

    #nav.mobile-nav.mobile-submenu-open
        ul.top-menu
        .dropdown-column.mobile-dropdown-open
        > a.dropdown,
    #nav.mobile-nav.mobile-submenu-open
        ul.top-menu
        .dropdown-standart.mobile-dropdown-open
        > a.dropdown {
        border-bottom: 1px solid #efc36e;
    }

    #nav.mobile-nav
        ul.top-menu
        .dropdown-column.mobile-dropdown-open
        > a.dropdown::after,
    #nav.mobile-nav
        ul.top-menu
        .dropdown-standart.mobile-dropdown-open
        > a.dropdown::after {
        transform: rotate(90deg);
        left: 0;
    }
}

.dfj .ht-field-wrap.has-error .ht-field-error {
    top: -7px !important;
}
/* ПРАВКИ МЕНЮ КОНЕЦ */

@media screen and (max-width: 992px) {
    .box-info-cases-serv-feat {
        padding-bottom: 40px;
    }

    .submenu.open-submenu-col {
        padding-bottom: 20px;
    }

    #call-action-calculator-black .box-content-call-calc {
        padding-left: 18px;
    }
}

@media screen and (min-width: 768px) {
    #nav.fixed-nav {
        position: fixed;
        z-index: 99999;
        top: 0;
        left: 0;
        width: 100%;
        display: block;
        background: rgba(25, 25, 25, 0.8);
    }

    #nav.fixed-nav .only-fixed {
        display: flex;
    }

    #nav.fixed-nav ul.top-menu > li.only-fixed > a {
        display: flex;
        padding: unset;
        color: #fff;
    }

    #nav.fixed-nav ul.top-menu > li.only-fixed > a.link-soc-3:hover {
        background: #25d366;
        border-color: #25d366;
    }

    #nav.fixed-nav ul.top-menu > li.only-fixed > a.link-soc-1:hover {
        background: #0088cc;
        border-color: #0088cc;
    }

    #nav.fixed-nav ul.top-menu > li > a {
        color: #fff !important;
        font-weight: 400;
    }
}

@media screen and (max-width: 992px) {
    #general-block-home .main-title {
        font-size: 40px;
    }

    /* .serv-list-wrapper .owl-carousel .owl-stage-outer  {
    padding-left: 26px;
  } */
    #services-general .serv-list-wrapper .owl-carousel .owl-stage {
        margin-left: 0;
    }

    /* .footer-sitemap-link {
    margin-left: 0;
  } */
    .slider-list-e-commerce.slider-list-masonry {
        display: block;
    }
}

@media screen and (min-width: 993px) {
    #services-general .wrap-slider-owl-serv {
        position: relative;
    }

    #services-general .serv-list-wrapper--mobile {
        display: none;
    }

    #services-general .serv-list-wrapper--desktop {
        display: block;
        position: absolute;
        left: 24px;
        right: 24px;
        top: 50%;
        transform: translateY(-23%);
        margin: 0;
        padding: 0;
        overflow: hidden;
        z-index: 15;
    }

    #services-general .serv-list-wrapper--desktop::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 72px;
        height: 100%;
        background: linear-gradient(
            270deg,
            rgba(237, 240, 245, 1) 0%,
            rgba(237, 240, 245, 0) 100%
        );
        pointer-events: none;
        z-index: 2;
    }

    #services-general .serv-list--desktop {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 0 8px 0 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #services-general .serv-list--desktop::-webkit-scrollbar {
        display: none;
    }

    #services-general .serv-list--desktop .serv-item {
        flex: 0 0 auto;
        box-shadow: 0 0 0 1px rgba(61, 112, 181, 0.12);
    }

    #services-general .slider-services-gen > .item:nth-child(-n + 4) .box-serv {
        margin-bottom: 84px;
    }

    #services-general .slider-services-gen > .item:nth-child(n + 5) .box-serv {
        margin-top: 8px;
    }
}

@media screen and (max-width: 767px) {
    .block-main-blog.end-blog-inner-page .wrap-main-blog {
        padding-bottom: 72px;
    }

    #general-block-home .main-title {
        font-size: 48px;
    }

    .serv-list-wrapper {
        margin: 32px 0 -42px !important;
    }

    #callback_ht {
        display: none;
    }

    .mobile-widget {
        display: block;
        cursor: pointer;
        position: fixed;
        right: 24px;
        z-index: 300;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }

    .mobile-widget-list {
        display: flex;
        flex-direction: column;
        gap: 13px;
    }

    .footer_section_arrow_top {
        right: 24px;
    }

    #mobile-widget.fixed {
        bottom: 120px;
    }

    #mobile-widget.default {
        bottom: 60px;
    }

    .slider-list-e-commerce .owl-item:has(.item-8) {
        display: none;
    }

    .dfj .ht-field-wrap.has-error .ht-field-error {
        top: -16px !important;
    }
}

@media screen and (max-width: 420px) {
    .first-block-services.featured-services.bg-first-2d-animation h1 {
        font-size: 32px;
    }
}

.ht-field-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 18px;
    /* min-height: 86px; */
    overflow: visible;
}

.ht-field-wrap.has-error {
    padding-top: 18px;
}

#general-calculator .ht-field-wrap.has-error,
.wrap-bg-call-action-gen .ht-field-wrap.has-error,
.wrap-call-action-resume .ht-field-wrap.has-error,
.wrap-form-breef .ht-field-wrap.has-error,
#service-page-form .ht-field-wrap.has-error,
#modalbox-action-project .ht-field-wrap.has-error {
    padding-top: 18px;
}

.a-modal .ht-field-wrap.has-error,
.b-modal .ht-field-wrap.has-error {
    padding-top: 18px;
}

.ht-field-wrap::after,
.wrap-select-calc::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 78px;
    height: 6px;
    background: #4d78ba;
    clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
    pointer-events: none;
}

.wrap-select-calc {
    position: relative;
}

.ht-field-error {
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    text-align: left;
    max-width: 100%;
    width: 100% !important;
    font-size: 14px;
    line-height: 1.2;
    color: #de6c2f;
    white-space: normal;
    word-break: break-word;
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
    z-index: 0;
}

.ht-field-wrap.has-error .ht-field-error {
    opacity: 1;
    transform: translateY(0);
}

.ht-field-wrap.has-error::after {
    background: #de6c2f;
}

.ht-field-wrap.has-success::after {
    background: #57b26f;
}

input.ht-form-control,
textarea.ht-form-control {
    background: transparent !important;
    background-image: none !important;
    background-size: 0 0 !important;
    border: none;
    border-bottom: 2px solid #4d78ba;
    box-shadow: none;
    transition:
        border-color 0.2s ease,
        color 0.2s ease;
}

.ht-field-wrap .ht-form-control {
    margin-top: auto;
}

.wr-hidden input.ht-form-control,
.wr-hidden textarea.ht-form-control,
.new-select,
.wr-hidden .new-select {
    background: transparent !important;
    background-image: none !important;
    background-size: 0 0 !important;
}

.new-select,
.wr-hidden .new-select {
    border: none;
    border-bottom: 2px solid #4d78ba;
    box-shadow: none;
}

.ht-form-control.is-focused {
    border-bottom-color: #4d78ba;
}

.ht-form-control.is-valid {
    border-bottom-color: #57b26f;
}

.ht-form-control.is-invalid {
    border-bottom-color: #de6c2f;
}

.ht-field-wrap.has-error .ht-form-control {
    border-bottom-color: #de6c2f;
}

.ht-field-wrap.has-success .ht-form-control {
    border-bottom-color: #57b26f;
}

textarea.ht-form-control.is-focused,
textarea.ht-form-control.is-valid,
textarea.ht-form-control.is-invalid {
    box-shadow: none;
}

@media screen and (max-width: 767px) {
    .ht-field-wrap {
        padding-top: 0px;
        min-height: 54px;
        text-align: left;
    }

    #general-calculator .ht-field-wrap.has-error,
    .wrap-bg-call-action-gen .ht-field-wrap.has-error,
    .wrap-call-action-resume .ht-field-wrap.has-error,
    .wrap-form-breef .ht-field-wrap.has-error,
    #service-page-form .ht-field-wrap.has-error {
        padding-top: 16px;
    }

    #modalbox-action-project .ht-field-wrap.has-error,
    .a-modal .ht-field-wrap.has-error {
        padding-top: unset !important;
    }

    .a-modal .ht-field-wrap.has-error,
    .b-modal .ht-field-wrap.has-error {
        padding-top: 16px;
    }

    .ht-field-error {
        top: 0;
        font-size: 12px;
    }
}

/* KNDR merged styles */
#through_cases h2,
#through_team h2,
#through_price h2,
#through_partners h2,
#through_reviews h2,
#through_reasons h2,
#through_blog h2,
#through_faq h2 {
    background: transparent;
}

#through_team,
#through_blog {
    overflow: hidden;
}

.kndr-template {
    background: #edf0f5;
}

.wrap_info_kndr_padd_top {
    padding: 60px 0 0;
}

.wrap_info_kndr_padd_all {
    padding: 60px 0;
}

#through_partners .wrap-slider-clients {
    margin: 48px 0 0;
}

#through_about .box-image-serv-development img {
    margin: 0;
}

#through_about .wrap-serv-development {
    border-bottom: 1px solid #1a1a1a;
}

#through_reasons .icon-reas-portf p,
#through_reasons .text-reas-portf {
    color: #1a1a1a;
}

#through_blog,
#through_faq {
    background: #1a1a1a;
    position: relative;
}

#through_blog::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
    background: url("../img/bg/Cyber_block_mask_bottom.svg") repeat-x center;
}

#through_blog .container::after,
#through_blog .container::before,
#through_faq .container::after,
#through_faq .container::before,
#through_faq .spoiler-head::before {
    background: #fff;
}

#through_blog .body-blog-prev .blog_excpert,
#through_blog .body-blog-prev .num-prev-blog,
#through_faq .spoiler-head {
    color: #fff;
}

#through_blog .body-blog-prev time {
    color: rgba(255, 255, 255, 0.36);
}

#through_blog .body-blog-prev {
    border-color: transparent;
}

#through_blog .box-blog-prev {
    border: 1px solid #fff;
}

#through_blog .box-animat-blog {
    border-bottom: 1px solid #fff;
    margin: 15px 0 0;
}

#through_blog .line-animate-matrix {
    background: url("../img/line_aminat-white.svg") no-repeat;
}

#through_faq .box-qustion,
#through_faq .spoiler-wrap {
    border-color: #fff;
}

#through_faq .spoiler-head:hover,
#through_faq .spoiler-wrap.active .spoiler-head {
    color: #1a1a1a;
}

#through_faq .spoiler-wrap.active {
    border-color: #efc36e;
}

#through_faq .spoiler-head::after {
    background: url("../img/kndr/border-quest-white.svg") no-repeat;
}

#through_faq .spoiler-head:hover::after,
#through_faq .spoiler-wrap.active .spoiler-head::after {
    background: url("../img/border-quest.svg") no-repeat center;
}

#through_faq .spoiler-head:hover::before,
#through_faq .spoiler-wrap.active .spoiler-head::before {
    background: #1a1a1a;
}

#through_price h2 {
    max-width: 706px;
}

.wrap_through_price_top {
    display: flex;
    gap: 15px;
    padding: 50px 25px 0;
}

.item_through_price_top {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 8px 12px;
    color: #fff;
    font-size: 18px;
    border: 2px solid #6cd3ff;
    border-radius: 4px;
}

#through_price .box-list-info-serv-two p {
    font-size: 18px;
}

#through_team .wrap-title-services-general {
    padding: 60px 25px 30px 0;
}

#through_team .inner-title-table-info::before,
#through_team .inner-title-table-info::after {
    background: #efc36e;
}

#through_team .inner-title-table-info p {
    color: #efc36e;
}

#through_team .wrap-specialists {
    padding: 0 0 60px;
}

#through_team .box-specialist {
    box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 1);
}

.page-template-page-mobile-games #through_team,
.page-template-page-pc-games #through_team {
    position: relative;
}

.page-template-page-mobile-games #through_team:before,
.page-template-page-pc-games #through_team:before {
    content: "";
    position: absolute;
    background: url(../img/bg/cyber-line-blue-bottom.svg) repeat-x left top;
    height: 10px;
    bottom: 0;
    left: 0;
    right: 0;
}

.bg-prtfl-1 {
    background: url("../img/kndr/bg-case-1.jpg") no-repeat;
    background-size: cover;
}

.bg-prtfl-2 {
    background: url("../img/kndr/bg-case-2.jpg") no-repeat;
    background-size: cover;
}

.bg-prtfl-3 {
    background: url("../img/kndr/bg-case-3.jpg") no-repeat;
    background-size: cover;
}

.wrap-case-gen {
    display: flex;
    justify-content: space-between;
    padding: 24px;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, 1);
    margin: 22px 0 0;
    min-height: 380px;
    max-height: 380px;
}

.info-case-portf {
    width: 60%;
    padding: 24px 0 0;
}

.title-case-portf {
    display: flex;
    gap: 16px;
    align-items: center;
}

.title-case-portf img {
    width: 48px;
}

.title-case-portf span {
    color: #fff;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: bold;
}

.block-all-portfolio .container::before {
    display: none;
}

.text-case-portf p {
    color: #fff;
    font-size: 16px;
    margin: 16px 0 0;
}

.statistic-case-portf {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 16px 0 0;
}

.item-case-p {
    border: 1px solid #efc36e;
    text-align: center;
    padding: 8px;
}

.item-case-p img {
    width: 24px;
    height: 24px;
    margin: 0 auto;
}

.item-case-p span {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.56);
    display: block;
    margin: 5px 0 0;
}

.item-case-p p {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.item-case-p:last-child {
    background: #efc36e;
}

.item-case-p:last-child span {
    color: rgba(0, 0, 0, 0.56);
}

.item-case-p:last-child p {
    color: #1a1a1a;
}

.images-case-portf {
    width: 36.1%;
}

.img-case-two-albom {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#through_cases .wrap-images-portf-position-two,
#through_cases .wrap-images-portf-position-three {
    padding: 0;
}

#through_cases .owl-dots {
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
    display: flex;
    padding: 35px 91px;
    justify-content: flex-start;
    margin: 48px 0 0;
}

#through_cases .owl-dot,
#through_reviews .owl-dot {
    width: 30px;
    height: 4px;
    border: 1px solid #1a1a1a;
    background: transparent;
    margin: 0 4px;
}

#through_cases .owl-dot.active,
#through_reviews .owl-dot.active {
    background: #1a1a1a;
}

#through_cases .owl-nav {
    display: none;
}

.btn_all_cases {
    width: 255px;
    position: absolute;
    bottom: 18px;
    right: 90px;
}

#through_cases .slider-classific-des {
    padding: 40px 0 0;
}

.kndr-case-slide {
    display: block;
}

.kndr-case-slide picture,
.kndr-case-slide img {
    display: block;
    width: 100%;
    height: auto;
}

.wrap_kndr_reviews {
    padding: 48px 0 0;
}

.box_through_reviews {
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
    width: 100%;
    text-align: left;
}

.photo_through_reviews {
    position: relative;
    overflow: hidden;
}

.inner_photo_through_rev {
    transition: 0.5s;
    overflow: hidden;
    height: 255px;
}

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

.box_through_reviews span {
    display: block;
    position: absolute;
    bottom: 15px;
    right: 15px;
    transition: 0.5s;
    z-index: 3;
    width: 40px;
    height: 40px;
}

.box_through_reviews:after {
    transition: 0.5s;
}

.box_through_reviews span img {
    display: block;
    width: 100%;
    height: 100%;
}

.photo_through_reviews:hover::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    mix-blend-mode: multiply;
    @media all and (min-width: 921px) {
        background: #3d70b5;
    }
}

.box_through_reviews:hover .inner_photo_through_rev {
    height: 320px;
}

.box_through_reviews:hover .photo_through_reviews::after {
    opacity: 1;
}

@media all and (min-width: 921px) {
    .box_through_reviews:hover span {
        width: 80px;
        height: 80px;
        bottom: 50%;
        right: 50%;
        margin-right: -40px;
        margin-bottom: -40px;
    }
}

.body_name_through_rev {
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background: #1a1a1a;
    width: 100%;
    padding: 5px;
    clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%);
}

.body_name_through_rev p {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    color: #000 !important;
}

.body_name_through_rev::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    background: #fff;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%);
}

.review-video-modal {
    position: relative;
    max-width: 960px;
    margin: 4% auto;
    background: transparent;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.review-video-modal__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.review-video-modal__title {
    display: none;
}

.review-video-modal__player {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80vh;
    background: #000;
}

body.review-video-modal-open .arcticmodal-overlay,
body.review-video-modal-open .arcticmodal-overlay div {
    background: rgba(26, 26, 26, 0.72) !important;
}

#modalbox-review-video .arcticmodal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
}

#through_reviews .item {
    position: relative;
}

#through_reviews .shadow_team_kndr {
    transition: 0.3s;
    opacity: 1;
    position: absolute;
    bottom: -4px;
    left: 3px;
    width: 100%;
    height: 54px;
    background: #1a1a1a;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 68%, 92% 100%, 0 100%);
}

#through_reviews .owl-carousel .owl-stage-outer {
    padding: 0 0 4px;
}

#through_reviews .owl-dots {
    margin: 60px 0 0;
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
    padding: 35px 0 35px 215px;
    display: flex;
}

#through_reviews .owl-prev span,
#through_reviews .owl-next span {
    display: block;
    width: 36px;
    height: 36px;
    font-size: 0;
    opacity: 0;
    transition: 0.3s;
}

#through_reviews .owl-prev span {
    background: url("../img/icons/icon-prev-rev-hover.svg") no-repeat center;
}

#through_reviews .owl-next span {
    background: url("../img/icons/icon-next-rev-hover.svg") no-repeat center;
}

#through_reviews .owl-prev {
    background: url("../img/icons/icon-prev-rev.svg") no-repeat center;
}

#through_reviews .owl-next {
    background: url("../img/icons/icon-next-rev.svg") no-repeat center;
}

#through_reviews .owl-prev:hover span,
#through_reviews .owl-next:hover span {
    opacity: 1;
}

#through_reviews .owl-nav {
    position: absolute;
    bottom: 20px;
    left: 95px;
    display: flex;
    gap: 10px;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .box-img-albom img {
        max-width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .wrap-case-gen {
        flex-wrap: wrap;
    }

    .info-case-portf,
    .images-case-portf {
        width: 100%;
    }

    .img-case-two-albom,
    .wrap-images-portf-position-two,
    .wrap-images-portf-position-three {
        max-width: 280px;
        margin: 30px auto 0;
    }
}

@media screen and (max-width: 767px) {
    .wrap-category-select {
        overflow: hidden;
    }
    #nav ul.top-menu .submenu > li:not(:first-child) > p {
        margin-top: 24px !important;
    }
    #through_cases .slider-classific-des {
        padding: 20px 0 0;
    }

    .kndr-case-slide {
        max-width: 480px;
        margin: 0 auto;
    }

    .wrap-case-gen {
        padding: 15px;
    }

    .info-case-portf {
        padding: 15px 0 0;
    }

    .statistic-case-portf {
        grid-template-columns: repeat(1, 1fr);
    }

    .item-case-p {
        position: relative;
        padding: 3px 8px 8px 47px;
        text-align: left;
    }

    .item-case-p img {
        position: absolute;
        top: 50%;
        left: 12px;
        margin-top: -12px;
    }

    .btn_all_cases {
        position: static;
        width: 100%;
        margin: 20px auto 0;
        text-align: center;
    }

    #through_cases .owl-dots {
        margin-right: -15px;
        padding: 17px 15px;
    }

    #through_team .wrap-specialists {
        padding: 0 0 20px;
    }

    #through_cases h2.our-awards__title.color__white,
    #through_team h2.our-awards__title.color__white,
    #through_price h2.our-awards__title.color__white,
    #through_blog h2.our-awards__title.color__white,
    #through_faq h2.our-awards__title.color__white {
        background: url("../img/icons/line-h2-yellow.svg") no-repeat left bottom;
    }

    .wrap_info_kndr_padd_all {
        padding: 40px 0;
    }

    .wrap_through_price_top {
        flex-direction: column;
        padding: 40px 0 0 15px;
    }

    #through_price .wrap-list-info-serv-featured-two {
        padding: 20px 0 20px 15px;
    }

    #through_price .box-list-info-serv-two p {
        font-size: 16px;
        margin: 0 0 0 12px;
    }

    #through_partners h2.main-our-clients__title,
    #through_reviews h2.main-our-clients__title,
    #through_reasons h2.main-our-clients__title {
        padding: 0 0 25px;
        margin: 0 0 0 15px;
        font-size: 26px;
        background: url("../img/icons/line-h2.svg") no-repeat left bottom;
    }

    .inner_photo_through_rev {
        height: 320px;
    }

    .photo_through_reviews::after {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        transition: 0.5s;
        mix-blend-mode: multiply;
    }

    /* .box_through_reviews span {
        width: 80px;
        height: 80px;
        bottom: 50%;
        right: 50%;
        margin-right: -40px;
        margin-bottom: -40px;
    } */

    .box_through_reviews:hover .inner_photo_through_rev {
        height: 320px;
    }

    .box_through_reviews:hover .photo_through_reviews::after {
        opacity: 0;
    }

    #through_reviews .owl-stage-outer {
        overflow: visible;
    }

    #through_reviews .owl-dots {
        margin: 30px 0 0;
        margin-right: -15px;
        padding: 20px 95px 20px 15px;
    }

    #through_reviews .owl-nav {
        bottom: 13px;
        left: auto;
        right: 15px;
        justify-content: flex-end;
        gap: 8px;
        z-index: 3;
    }

    .wrap_kndr_reviews {
        padding: 50px 0;
        overflow: hidden;
        position: relative;
    }

    #through_reviews .owl-prev span,
    #through_reviews .owl-next span,
    #through_reviews .owl-prev,
    #through_reviews .owl-next {
        width: 28px;
        height: 28px;
        background-size: contain;
    }

    .review-video-modal {
        margin: 20px 15px;
        padding: 0;
    }

    .review-video-modal__title {
        font-size: 18px;
    }

    #modalbox-review-video .arcticmodal-close {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 20;
    }
    .slider-honors {
        width: calc(100% + 15px);
    }
    .slider-honors .owl-item {
        width: 250px !important;
        flex: 0 0 250px;
    }
}

#through_faq .wrap_info_kndr_padd_all {
    padding-bottom: 0;
}

@media screen and (max-width: 768px) {
    .box-clients-an {
        background: #fff;
        overflow: hidden;
        height: 164px;
    }

    .box-clients-an .box-clients-an-viewport {
        position: absolute;
        top: 50%;
        height: 100px;
        overflow: hidden;
        background: #fff;
        transform: translateY(-50%);
        z-index: 1;
        width: 90%;
        left: 5%;
        right: 5%;
    }

    .box-clients-an .static-client-anim,
    .box-clients-an .hover-client-anim {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 164px;
        background: #fff;
        transform: translateY(-50%);
    }

    .box-clients-an .hover-client-anim {
        right: 0;
    }

    .box-clients-an img {
        width: 100%;
        height: 164px;
        max-width: none;
        max-height: none;
        object-fit: cover;
        object-position: center center;
        background: #fff;
    }

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    .select,
    .new-select,
    .wr-hidden .new-select,
    .wr-hidden input[type="text"],
    .wr-hidden input[type="tel"],
    .wr-hidden input[type="email"] {
        width: 100%;
        max-width: 100%;
    }

    .box-clients-an:hover .hover-client-anim {
        opacity: 0 !important;
    }

    .box-clients-an:hover .static-client-anim {
        opacity: 1 !important;
    }

    .box-clients-an:active .hover-client-anim {
        opacity: 1 !important;
    }

    .box-clients-an:active .static-client-anim {
        opacity: 0 !important;
    }
}

@media screen and (max-width: 767px) {
    #through_team {
        overflow: hidden;
    }

    #through_reviews .owl-nav {
        display: none !important;
    }

    .list-honors-present .col-honor,
    .list-team-present .box-team,
    #through_team .box-specialist {
        -webkit-touch-callout: none;
    }

    #through_team .cont-photo-spec {
        height: auto !important;
    }

    .btn-contain.dfj {
        gap: 20px;
    }

    .list-honors-present .slider-honors img,
    .list-team-present .slider-honors img,
    #through_team .slider-honors img {
        -webkit-user-drag: none;
        user-select: none;
        pointer-events: none;
    }

    #through_team .cont-photo-spec {
        height: 360px;
        min-height: 360px;
        background: #e9edf5;
        overflow: hidden;
    }

    #through_team .cont-photo-spec img {
        width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center center;
    }

    .wrap-case-gen {
        max-height: unset;
    }
    #address-photo-slider-contacts,
    #map-block-general {
        overflow: hidden;
    }
    .wrap-slider-address-photo,
    .wrap-reasons-career {
        width: 100%;
    }

    .inner-form-general_fer .ht-field-error {
        top: 5px;
    }
}

@media screen and (max-width: 992px) {
    body.no-scroll-body #header .box-phone-head.open-vis-info-head-two {
        left: -15px;
        right: -15px;
        width: auto;
        max-width: none;
        min-height: 58px;
        padding: 2px 0;
        border-top: 1px solid #efc36e;
        border-bottom: 1px solid #efc36e;
        background: #1a1a1a;
        text-align: left;
    }

    body.no-scroll-body #header .box-phone-head.open-vis-info-head-two p {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 56px;
        max-width: none;
        padding-left: 15px;
        background: none;
        line-height: 1.25;
    }

    body.no-scroll-body #header .box-link-socials-head {
        position: absolute;
        top: 87px;
        right: 0px;
        left: auto;
        width: auto;
        margin-left: 0;
        align-items: center;
        justify-content: flex-end;
        gap: 16px;
        z-index: 60;
    }

    body.no-scroll-body #header .box-link-socials-head .link-socials {
        margin: 0;
    }
}

#select-category {
    position: relative;
}

#select-category .select-category-visual {
    margin: 56px 0 0;
}

#select-category .select-category-chart {
    position: relative;
    min-height: 420px;
    padding: 24px 28px 36px 20px;
    overflow: hidden;
}

#select-category .select-category-chart__grid {
    position: absolute;
    inset: 24px 28px 36px 20px;
    background:
        linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0 12px /
            100% 48px no-repeat,
        linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0 108px /
            100% 48px no-repeat,
        linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0 204px /
            100% 48px no-repeat,
        linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0 300px /
            100% 48px no-repeat;
}

#select-category .select-category-chart__axis {
    position: absolute;
    background: #1a1a1a;
}

#select-category .select-category-chart__axis--x {
    left: 20px;
    right: 28px;
    bottom: 36px;
    height: 4px;
    background: #1a1a1a;
}

#select-category .select-category-chart__axis--y {
    top: 24px;
    bottom: 36px;
    left: 20px;
    width: 4px;
    background: repeating-linear-gradient(
        to bottom,
        #efc36e 0 48px,
        #1a1a1a 48px 49px,
        #ffffff 49px 96px,
        #1a1a1a 96px 97px,
        #1a1a1a 97px 144px,
        #ffffff 144px 145px,
        #ffffff 145px 192px,
        #1a1a1a 192px 240px,
        #ffffff 240px 241px,
        #ffffff 241px 288px,
        #1a1a1a 288px 336px,
        #ffffff 336px 337px,
        #ffffff 337px 384px
    );
}

#select-category .select-category-chart__axis--y::before {
    display: none;
}

#select-category .select-category-chart__columns {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    align-items: end;
    gap: 16px;
    min-height: 352px;
    padding: 0 8px 0 44px;
}

#select-category .select-category-chart__column {
    display: block;
    height: var(--column-height);
    min-height: 28px;
    border: 1px solid #1a1a1a;
    background: linear-gradient(180deg, #8ab1eb 0%, #3d70b5 100%);
    box-shadow: 5px 5px 0 0 #1a1a1a;
    transform-origin: center bottom;
    transform: translate3d(0, 18px, 0) scaleY(0.08);
    opacity: 0;
    transition:
        transform 0.7s cubic-bezier(0.2, 0.85, 0.2, 1),
        opacity 0.35s ease;
    transition-delay: var(--column-delay);
    will-change: transform, opacity;
}

#select-category.is-in-view .select-category-chart__column {
    transform: translate3d(0, 0, 0) scaleY(1);
    opacity: 1;
}

#select-category .select-category-legend {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 18px 28px 0 36px;
    font-size: 14px;
    line-height: 1.2;
    color: #1a1a1a;
    flex-wrap: wrap;
}

#select-category .select-category-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#select-category .select-category-legend__swatch {
    width: 14px;
    height: 14px;
    background: #3d70b5;
    border: 1px solid #1a1a1a;
}

#select-category .select-category-legend__swatch--accent {
    background: #cda64a;
}

#select-category .select-category-legend__note {
    margin-left: auto;
    font-size: 13px;
    color: rgba(26, 26, 26, 0.76);
}

@media screen and (max-width: 992px) {
    #select-category .select-category-visual {
        margin: 40px 0 0;
    }

    #select-category .select-category-chart {
        min-height: 360px;
        padding: 20px 16px 28px 20px;
    }

    #select-category .select-category-chart__grid {
        inset: 20px 16px 28px 20px;
        background:
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                8px / 100% 40px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                88px / 100% 40px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                168px / 100% 40px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                248px / 100% 40px no-repeat;
    }

    #select-category .select-category-chart__axis--x {
        left: 20px;
        right: 16px;
        bottom: 28px;
    }

    #select-category .select-category-chart__axis--y {
        left: 20px;
        top: 20px;
        bottom: 28px;
        background: repeating-linear-gradient(
            to bottom,
            #efc36e 0 40px,
            #1a1a1a 40px 41px,
            #ffffff 41px 80px
        );
    }

    #select-category .select-category-chart__columns {
        min-height: 300px;
        gap: 10px;
        padding: 0 2px 0 36px;
    }

    #select-category .select-category-legend {
        padding: 14px 16px 0 24px;
        gap: 14px 18px;
    }

    #select-category .select-category-legend__note {
        margin-left: 0;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    #select-category .select-category-chart {
        min-height: 290px;
        padding: 16px 12px 24px 16px;
    }

    #select-category .select-category-chart__grid {
        inset: 16px 12px 24px 16px;
        background:
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                8px / 100% 32px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                72px / 100% 32px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                136px / 100% 32px no-repeat,
            linear-gradient(rgba(26, 26, 26, 0.1), rgba(26, 26, 26, 0.1)) 0
                200px / 100% 32px no-repeat;
    }

    #select-category .select-category-chart__axis--x {
        left: 16px;
        right: 12px;
        bottom: 24px;
        height: 3px;
        background: #1a1a1a;
    }

    #select-category .select-category-chart__axis--y {
        left: 16px;
        top: 16px;
        bottom: 24px;
        width: 3px;
        background: repeating-linear-gradient(
            to bottom,
            #efc36e 0 32px,
            #1a1a1a 32px 33px,
            #ffffff 33px 64px
        );
    }

    #select-category .select-category-chart__columns {
        min-height: 232px;
        gap: 6px;
        padding: 0 2px 0 30px;
    }

    #select-category .select-category-chart__column {
        box-shadow: 3px 3px 0 0 #1a1a1a;
    }

    #select-category .select-category-legend {
        padding: 12px 12px 0 18px;
        font-size: 12px;
        gap: 10px 14px;
    }

    #select-category .select-category-legend__swatch {
        width: 12px;
        height: 12px;
    }

    #select-category .select-category-legend__note {
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #select-category .select-category-chart__column {
        transition: none;
        transform: none;
        opacity: 1;
    }
}

/* =====================================================================
   Блок «В чём наша исключительность на рынке» (#exclusivity-general)
   Десктоп — сетка 2x2 (колонки 1:2, шахматка тёмная/золотая)
   Мобильная — owl-слайдер (.slider-exclusivity-gen)
   ===================================================================== */
#exclusivity-general {
    background: #1a1a1a;
    position: relative;
}

/* служебные вертикальные линии контейнера перекрывают бордер крайних карточек — скрываем */
#exclusivity-general .container:before,
#exclusivity-general .container:after {
    display: none;
}

#exclusivity-general .content-exclusivity-gen {
    padding: 60px 0 70px;
}

.exclusivity-gen__title {
    display: flex;
    align-items: stretch;
    gap: 17px;
    margin: 0;
    padding: 0;
    background: none;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
}

.exclusivity-gen__title:before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    background: #efc36e;
}

.exclusivity-gen__title span {
    display: block;
    align-self: center;
}

.wrap-exclusivity-content {
    margin: 44px 0 0;
}

/* ---- сетка карточек: узкая + широкая (1 : 2) ---- */
.slider-exclusivity-gen {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 18px;
    row-gap: 30px;
}

.slider-exclusivity-gen > .item {
    display: flex;
}

/* ---- карточка ---- */
.box-exclusivity-gen {
    position: relative;
    width: 100%;
    min-height: 300px;
    padding: 36px 40px 30px;
    background: #1a1a1a;
    border: 1px solid rgba(239, 195, 110, .55);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: #fff;
}

.box-exclusivity-gen.is-gold {
    background: linear-gradient(180deg, #dab367 0%, #ffdf8d 100%);
    border-color: transparent;
    color: #1a1a1a;
}

/* линия над номером (правый нижний угол) */
.box-exclusivity-gen:after {
    content: "";
    position: absolute;
    right: 24px;
    bottom: 46px;
    width: 150px;
    height: 2px;
    background: #efc36e;
    z-index: 2;
}

.box-exclusivity-gen.is-gold:after {
    background: #1a1a1a;
}

/* ---- ghost-номер ---- */
.excl-num {
    position: absolute;
    right: 8px;
    bottom: 0;
    font-size: 150px;
    line-height: 1;
    font-weight: bold;
    letter-spacing: -4px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(239, 195, 110, .30);
    text-stroke: 1px rgba(239, 195, 110, .30);
    z-index: 0;
    user-select: none;
    pointer-events: none;
}

.box-exclusivity-gen.is-gold .excl-num {
    -webkit-text-stroke: 1px rgba(26, 26, 26, .32);
    text-stroke: 1px rgba(26, 26, 26, .32);
}

/* ---- верх карточки: иконка + баркод ---- */
.excl-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.excl-icon img {
    width: 52px;
    height: 52px;
    display: block;
}

.excl-barcode {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #cfcfcf;
    line-height: 1;
}

.box-exclusivity-gen.is-gold .excl-barcode {
    color: #1a1a1a;
}

.excl-barcode-svg {
    width: 44px;
    height: 24px;
    display: block;
    color: inherit;
}

.excl-barcode b {
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    color: currentColor;
}

/* ---- тело ---- */
.excl-body {
    position: relative;
    z-index: 1;
    margin: 26px 0 0;
    flex: 1 1 auto;
}

.excl-title {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: .3px;
    margin: 0 0 16px;
    color: #fff;
}

.box-exclusivity-gen.is-gold .excl-title {
    color: #1a1a1a;
}

.excl-text {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    color: #b6b6b6;
}

.box-exclusivity-gen.is-gold .excl-text {
    color: #2a2412;
}

/* ---- низ: НОВА СОФТ ---- */
.excl-foot {
    position: relative;
    z-index: 1;
    margin: 26px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.excl-brand {
    text-transform: uppercase;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #efc36e;
}

.box-exclusivity-gen.is-gold .excl-brand {
    color: #1a1a1a;
}

.excl-dashes {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.excl-dashes i {
    width: 6px;
    height: 6px;
    background: #efc36e;
    display: block;
}

.excl-dashes span {
    width: 18px;
    height: 3px;
    background: #efc36e;
    display: block;
}

.box-exclusivity-gen.is-gold .excl-dashes i,
.box-exclusivity-gen.is-gold .excl-dashes span {
    background: #1a1a1a;
}

/* ====== планшет ====== */
@media (max-width: 991px) {
    .box-exclusivity-gen {
        padding: 28px 28px 24px;
        min-height: 280px;
    }

    .excl-num {
        font-size: 120px;
    }

    .box-exclusivity-gen:after {
        width: 120px;
        right: 20px;
        bottom: 40px;
    }
}

/* ====== мобильная: owl-слайдер ====== */
@media (max-width: 767px) {
    #exclusivity-general .content-exclusivity-gen {
        padding: 44px 0 50px;
        border-left: 1px solid #efc36e;
        position: relative;
    }

    .exclusivity-gen__title {
        font-size: 20px;
    }

    /* в режиме owl грид сбрасывается классом owl-carousel */
    .slider-exclusivity-gen.owl-carousel {
        display: block;
    }

    .slider-exclusivity-gen.owl-carousel .item {
        display: block;
    }

    /* запасной вариант, если owl не инициализировался */
    .slider-exclusivity-gen:not(.owl-carousel) {
        grid-template-columns: 1fr;
    }

    /* ---- каркас слайдера на линиях (без рамки-коробки) ---- */
    .wrap-exclusivity-content {
        margin: 30px 0 0;
        border: 0;
        border-top: 1px solid #efc36e;
        border-bottom: 1px solid #efc36e;
        position: relative;
    }

    /* вторая (внутренняя) линия сверху — двойная линия как в макете */
    .wrap-exclusivity-content:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 4px;
        height: 1px;
        background: #efc36e;
        z-index: 1;
    }


    /* карточки без собственного бордера внутри каркаса */
    .box-exclusivity-gen {
        min-height: 360px;
        padding: 34px 24px 30px;
        border: none;
    }

    .excl-num {
        font-size: 130px;
    }

    /* нижняя строка каркаса: точки слева, НОВА СОФТ справа, линия-разделитель сверху */
    .slider-exclusivity-gen.owl-carousel .owl-dots {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 16px 22px;
        border-top: 1px solid #efc36e;
        position: relative;
    }

    .slider-exclusivity-gen.owl-carousel .owl-dot span {
        width: 22px;
        height: 3px;
        margin: 0;
        display: block;
        background: rgba(239, 195, 110, .35);
        border-radius: 0;
        transition: background .3s;
    }

    .slider-exclusivity-gen.owl-carousel .owl-dot.active span {
        background: #efc36e;
    }

    .slider-exclusivity-gen.owl-carousel .owl-dots:after {
        content: "";
        margin-left: auto;
        width: 54px;
        height: 6px;
        background: url(../img/icons/nova-soft-word.svg) no-repeat right center / contain;
    }
}
