section.main-banner{
    margin-top: 0;
    margin-bottom: 3.75em;
}
.main-banner .section-wrapper {
    position: relative;
}
section.main-products {
    margin-top: 3.75em;
}
.product-list {
    list-style: none;
    padding: unset;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875em;
}
.product-list .product-item {
    border: 1px solid var(--color-blue);
    border-radius: 0.625em;
    background: #F2FAFFB2;
    padding: 1.25em;
    position: relative;
    min-height: 11.25em;
    transition: 300ms;
}
.product-list .product-item:hover {
    box-shadow: 0px 4px 15px 0px #0000001A;
}
.product-list .product-item .product-item__title {
    font-size: 1.125em;
    text-transform: uppercase;
    font-weight: 600;
}
.product-item__img {
    position: absolute;
    width: 4.5em;
    height: 4.5em;
    right: 1.25em;
    bottom: 1.25em;
}
.product-list .product-item a {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.product-list .product-item.show-all {
    background: var(--color-red);
    border-color: var(--color-red);
    transition: 300ms;
}
.product-list .product-item.show-all .product-item__title {
    color: var(--color-white);
    transition: 300ms;
}
.product-list .product-item.show-all:hover {
    background: var(--color-white);
}
.product-list .product-item.show-all:hover .product-item__title {
    color: var(--color-red);
}
.product-list .product-item.is-active {
    background: var(--color-red);
    border-color: var(--color-red);
    color: #fff;
}
.product-list .product-item.is-active .product-item__img {
    filter: brightness(0) invert(1);
}

section.main-about-us {
    background: var(--color-light-blue);
    padding: 2.8125em 0;
}
.main-about-us:after {
    content: '';
    background: var(--pattern-white) no-repeat left bottom / contain;
    position: absolute;
    width: 100%;
    left: 0;
    height: 70%;
    bottom: 0;
    pointer-events: none;
}
.main-about-us .section-wrapper {
    z-index: 1;
    position: relative;
}
.main-about-us .section-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.125em;
}
.main-about-us .section-title {
    grid-area: 1 / 1 / 1 / 1;
}
.main-about-us .about-us-counter {
    grid-area: 2 / 1 / 3 / 2;
    display: flex;
    gap: 0.9375em;
}
.main-about-us .about-us-description {
    grid-area: 1 / 2 / 3 / 3;
    font-size: 1.5em;
}
.main-about-us .about-us-counter .about-us-counter-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.main-about-us .about-us-counter .about-us-counter-item__text {
    font-size: 1.75em;
    color: var(--color-red);
    font-weight: 700;
    text-transform: uppercase;
}

.btn-show-all {
    display: flex;
    align-items: center;
    gap: 0.777em;
    font-size: 1.125em;
}
.btn-show-all .icon-angle {
    transform: rotate(-90deg);
    width: 0.7em;
    height: 0.7em;
}
.btn-show-all:hover {
    color: var(--color-red);
}
.btn-show-all:hover .icon-angle {
    filter: var(--filter-red);
}

.main-brands .section-wrapper {
    display: flex;
    gap: 2.8125em;
    flex-direction: column;
    z-index: 1;
    position: relative;
}
.main-brands .section-wrapper:after {
    content: '';
    background: var(--pattern-light-blue) no-repeat right / contain;
    position: absolute;
    width: 41em;
    right: -11em;
    height: 41em;
    bottom: -18em;
    pointer-events: none;
    z-index: -1;
}
.brands-list-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
    gap: 30px;
}
.brands-list-slider .swiper:not(.swiper-initialized) .swiper-slide {
    max-width: calc(100% / 5 - 24px);
}
.brands-list-slider .swiper-slide {
    aspect-ratio: 210 / 120;
    border: 1px solid var(--color-blue);
}
.brand-item {
    padding: 1.25em 1.5625em;
    display: flex;
    width: 100%;
    height: 100%;
    background: var(--color-white);
}
.brand-item img {
    filter: grayscale(1);
    transition: 300ms;
}
.brand-item:hover img {
    filter: grayscale(0);
}
.brands-list {
    display: grid;
    gap: 1.666em;
    grid-template-columns: repeat(auto-fit, minmax(11em, auto));
}
.brands-list .brand-item {
    aspect-ratio: 210 / 120;
    border: 1px solid var(--color-blue);
    border-radius: 15px;
    overflow: hidden;
}

.main-news .section-wrapper {
    display: flex;
    gap: 2.8125em;
    flex-direction: column;
    z-index: 1;
    position: relative;
}
.news-list-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
    gap: 30px;
}
.news-list-slider .swiper:not(.swiper-initialized) .swiper-slide {
    max-width: calc(100% / 3 - 24px);
}
.news-list-slider .swiper-slide {
    border: 1px solid var(--color-blue);
}
.news-item {
    padding: 1.875em;
    display: flex;
    flex-direction: column;
    gap: 1.875em;
    background: var(--color-white);
}
.news-item .news-item__image {
    border-radius: 0.8em;
    overflow: hidden;
}
.news-item .news-item__content {
    display: flex;
    flex-direction: column;
    gap: 0.625em;
	flex: 1;
}
.news-item .news-item__content .news-item__title {
	font-size: 1.125em;
    font-weight: 600;
    height: 3.6em;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
.news-item .news-item__content .news-item__title:hover {
    color: var(--color-red);
}
.news-item .news-item__content .news-item__excerpt {
    font-size: 0.875em;
	text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
	height: 3.5em;
}
.news-item .news-item__content .news-item__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
}
.news-item .news-item__content .news-item__footer .news-item__date {
    font-size: 0.875em;
    color: var(--color-gray);
}
.news-item .news-item__content .news-item__footer .btn-show-all {
    font-size: 0.875em;
}

.main-contacts .section-wrapper {
    display: flex;
    gap: 2.8125em;
    flex-direction: column;
}
.main-contacts .map {
    position: relative;
    border-radius: 0.937em;
    overflow: hidden;
}
.main-contacts .map:before {
    content: '';
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0.2;
    pointer-events: none;
}
.main-contacts .map-block {
    background: #fff;
    z-index: 1;
    position: relative;
    margin: 3.125em;
    padding: 1.865em;
    border-radius: 0.937em;
    width: 26.25em;
    max-width: 90%;
    display: flex;
    flex-direction: column;
    gap: 0.937em;
}
.main-contacts iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.block-contact {
    display: flex;
    flex-direction: column;
    gap: 0.625em;
}
.block-contact.footer-address {
    max-width: 19em;
}
.block-contact .block-contact__list {
    display: flex;
    gap: 1.666em;
}
.block-contact .block-contact__item {
    display: flex;
    gap: 0.833em;
}
.block-contact a.block-contact__item:hover {
    color: var(--color-red);
}
.block-contact .block-contact__item span:not(.icon) {
    flex: 1;
}
.block-contact a.block-contact__item span:not(.icon) {
    border-bottom: 1px dashed;
    padding-bottom: 3px;
}
.block-contact .block-contact__title {
    font-size: 1.125em;
    font-weight: 600;
}

section.main-callback {
    overflow: hidden;
}
.main-callback .section-wrapper {
    display: flex;
    gap: 2.8125em;
    flex-direction: column;
}
.main-callback .section-wrapper {
    position: relative;
}
.main-callback .section-wrapper:after {
    content: '';
    background: var(--pattern-light-blue) no-repeat right / contain;
    position: absolute;
    width: 41em;
    right: -11em;
    height: 41em;
    top: 5em;
    pointer-events: none;
    z-index: -1;
}
.main-callback .section-body {
    display: flex;
    justify-content: space-between;
    gap: 2em;
}
.main-callback .main-callback-form {
    width: 100%;
}
.main-callback .main-callback-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2em;
    width: 100%;
    padding-left: 9em;
}
.main-callback .main-callback-content .main-callback-text {
    font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
}
.main-callback .main-callback-content .main-callback-text strong {
    color: var(--color-red);
}
.main-callback .main-callback-content .main-callback-img {
    width: 85%;
    margin: 0 0 0 auto;
}

.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 1.875em;
    align-items: center;
}
.wpcf7-form .input-group {
    width: 100%;
}
.wpcf7-form .input-group p {
    display: flex;
    flex-direction: column;
    gap: 0.625em;
}
.wpcf7-form .input-group span {
    font-weight: 600;
}
.wpcf7-form .form-control {
    border: 1px solid var(--color-blue);
    border-radius: 0.625em;
    padding: 1.25em 0.9375em;
    width: 100%;
    font-size: 1em;
    font-family: inherit;
}
.wpcf7-form .wpcf7-submit {
    padding: 1.25em;
}
.wpcf7-form .wpcf7-list-item {
    margin: 0;
}
.wpcf7-form .acceptance-control input[type="checkbox"] {
    width: 0;
    margin: 0;
    position: absolute;
}
.wpcf7-form .acceptance-control .wpcf7-list-item-label {
    position: relative;
    padding-left: 2.5em;
    cursor: pointer;
    font-weight: 400;
    display: flex;
    align-items: center;
}
.wpcf7-form .acceptance-control .wpcf7-list-item-label span {
    font-weight: normal;
}
.wpcf7-form .acceptance-control .wpcf7-list-item-label:before {
    content: '';
    width: 1.5em;
    height: 1.5em;
    border: 1px solid var(--color-blue);
    display: block;
    border-radius: 0.3125em;
    position: absolute;
    left: 0;
    top: calc(50% - 0.75em);
}
.wpcf7-form .acceptance-control .wpcf7-list-item-label:after {
    content: '';
    width: 1.3em;
    height: 1.4em;
    background: var(--icon-check) no-repeat center / contain;
    display: block;
    position: absolute;
    left: 0.2em;
    top: calc(50% - 0.55em);
    opacity: 0;
}
.wpcf7-form .acceptance-control input:checked + .wpcf7-list-item-label:after {
    opacity: 1;
}
.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 0.8em;
    position: absolute;
    margin-top: 0.3em;
}
.wpcf7-form .acceptance-control + .wpcf7-not-valid-tip {
    margin-top: 0.6em;
}
.wpcf7-form .wpcf7-not-valid:not(.acceptance-control) {
    border-color: var(--color-red);
    background: var(--color-light-red);
}
.wpcf7-form .acceptance-control.wpcf7-not-valid .wpcf7-list-item-label:before {
    border-color: var(--color-red);
}
.wpcf7-form .input-group span i {
    color: var(--color-red);
    font-style: normal;
    margin-left: 0.3em;
}
.wpcf7-form .acceptance-control .wpcf7-list-item-label a {
    border-bottom: 1px dashed;
    padding-bottom: 0.1em;
}
.wpcf7-spinner {
    display: none !important;
}
.wpcf7-form.submitting {
    pointer-events: none;
    opacity: 0.7;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0;
    border-width: 1px;
    border-radius: 0.5em;
    padding: 0.5em 1em;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: var(--color-red);
    background: var(--color-light-red);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--color-yellow);
    background: var(--color-light-yellow);
}
.pum-container .pum-title {
    text-transform: uppercase !important;
    margin-bottom: 1.5em !important;
}
#popmake-188 .pum-content.popmake-content {
    font-size: 1.5em;
}
#popmake-188 .btn {
    font-size: 0.666em;
    width: 100%;
    display: block;
    text-align: center;
}
#popmake-193 .btn {
    width: 100%;
    display: block;
    text-align: center;
}
#popmake-193 a {
    border-bottom: 1px dashed;
    padding-bottom: 0.1em;
}

section.page {
    margin: 0 0 4.6875em;
}
.news-list {
    display: grid;
    gap: 1.875em;
    grid-template-columns: repeat(3, 1fr);
}
.news-list .news-item {
    border: 1px solid var(--color-blue);
    border-radius: 0.937em;
}

#loadmore {
    margin-top: 3.75em;
}
#loadmore .btn {
    text-align: center;
    display: block;
}

.page-content {
    font-size: 1.125em;
}
.page-content .main-img {
    margin-bottom: 2.8125em;
    width: 100%;
}
.page-content .main-text {
    font-size: 1.333em;
}
.page-content .main-text p {
    margin: 1.875em 0;
}
.page-content .main-text p:first-child {
    margin-top: 0;
}
.page-content .post-date {
    margin-bottom: 2.8125em;
    color: var(--color-gray);
}
.page-content h4 {
    font-size: 1.333em;
    margin: 0.625em 0;
    font-weight: 400;
}
.page-content ul {
    list-style: none;
    padding-left: 0;
}
.page-content ul li {
    display: flex;
    align-items: center;
    gap: 1.111em;
    margin-bottom: 0.888em;
}
.page-content ul li:before {
    content: '';
    width: 0.666em;
    height: 0.666em;
    min-width: 0.666em;
    min-height: 0.666em;
    background: var(--color-red);
    display: block;
}
.page-content h5 {
    margin: 2em 0 0;
    font-size: 1.333em;
    font-weight: 400;
}
.page-content h5 a {
    font-size: 1.6em;
    color: var(--color-red);
    text-decoration: underline;
}
.page-content h5 a:hover {
    text-decoration: none;
}
.page-content h5 + p {
    margin: 0.312em 0 1.666em;
}
.page-content li h5 {
    margin: 0;
}
.marker-h5 li::marker {
    font-size: 1.333em;
}
.marker-bold li::marker {
    font-weight: bolder;
}
.page-content ol>li>*:first-child, .page-content ol>li>*:last-child {
    margin-bottom: 1em;
}
.page-content ol {
    padding-left: 1.5em;
}

section.page.is-development {
    margin-bottom: -2.8125em;
    overflow:hidden;
}
.development {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.875em;
    padding: 7.5em 0 15em;
}
.page.is-development .section-wrapper {
    position:relative;
}
.page.is-development .section-wrapper:after {
    content: '';
    background: var(--pattern-light-blue) no-repeat right / contain;
    position: absolute;
    width: 41em;
    right: -11em;
    height: 41em;
    top: 0;
    pointer-events: none;
    z-index: -1;
}
.development-title {
    font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

.page-404 .section-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3.75em;
}
.page-404 .page-title {
    margin: 0;
}
.page-404 .not-found-number {
    font-size: 21em;
    font-weight: 700;
    line-height: 0.8;
    color: var(--color-light-blue);
}
.page-404 .not-found-content {
    display: flex;
    flex-direction: column;
    gap: 1.875em;
    text-align: center;
    align-items: center;
}
.page-404 .not-found-content span {
    font-size: 1.5em;
}

.page-id-3 .page-content>ol>li {
    font-size: 1.333em;
    font-weight: 600;
}
.page-id-3 .page-content ol {
    padding-left: 1.7em;
    margin: 0;
}
.page-id-3 .page-content ol ol {
    padding-inline-start: 1em;
}
.page-id-3 .page-content ol ol li {
    margin: 0.6em 0;
}
.page-id-3 .page-content>ol>li>p,
.page-id-3 .page-content>ol>li>ol {
    font-size: 0.75em;
    font-weight: normal;
    margin: 0.6em 0;
}
section.page + section {
    margin-top: 0;
}

.product-detail-item {
    display: flex;
    flex-direction: column;
    gap: 2.5em;
    margin-top: 4.6875em;
}
.product-detail-item#product {
    scroll-margin-top: 9.444em;
}
.product-detail-item__title {
    color: var(--color-red);
    text-transform: uppercase;
    font-size: 1.888em;
    font-weight: 600;
}

@media (min-width: 769px) {
    .brands-list {
        justify-content: start;
    }
}

@media (max-width: 768px) {
    section.main-banner {
        margin-bottom: 1.75em;
        padding-top: 0;
    }
    .main-banner .banner-navigation-prev,
    .main-banner .banner-navigation-next {
        display: none;
    }
    section.main-products {
        margin-top: 1.75em;
    }
    .product-list {
        grid-template-columns: 1fr;
        gap: 1em;
    }
    .main-about-us .section-wrapper {
        grid-template-columns: 1fr;
        gap: 2.125em;
    }
    .main-about-us .about-us-description {
        grid-area: 2 / 1 / 2 / 2;
        font-size: 1.125em;
    }
    .main-about-us .about-us-counter {
        grid-area: 3 / 1 / 3 / 2;
    }
    .main-brands .section-wrapper {
        gap: 1em;
    }
    .main-brands .section-wrapper:after {
        display: none;
    }
    .brands-list {
        gap: 1em;
        grid-template-columns: repeat(auto-fit, minmax(7em, auto));
    }
    .main-news .section-wrapper {
        gap: 1em;
    }
    .main-callback .section-body {
        flex-direction: column;
    }
    .main-callback .main-callback-content {
        padding: 0;
    }

    .main-contacts .map {
        display: flex;
        flex-direction: column-reverse;
        box-shadow: 0 0 10px -5px;
        border-radius: 0.937em;
    }
    .main-contacts .map:before {
        display: none;
    }
    .main-contacts .map-block {
        anchor-name: none;
        width: auto;
        max-width: 100%;
        margin: 0;
        border-radius: 0;
        box-shadow: 0 0 10px -5px;
    }
    .main-contacts iframe {
        position: relative;
        height: 19em !important;
    }
    .main-contacts .block-contact .block-contact__list {
        flex-direction: column;
        align-items: flex-start;
    }
    .development {
        padding: 4.5em 0 9em;
    }
    .news-list {
        grid-template-columns: 1fr;
    }
    .news-item {
        padding: 1em;
    }
    .page-content {
        font-size: 1em;
    }
    .page-content .main-text,
    .page-content h4,
    .page-content h5,
    .marker-h5 li::marker {
        font-size: 1.125em;
    }
    .page-content .post-date,
    .page-content .main-img {
        margin-bottom: 1.8125em;
    }
    .pum-container.popmake {
        min-width: unset !important;
    }
    .pum-container .pum-title {
        margin-bottom: 1em !important;
    }
}