

/* Start:/local/templates/pneumax-shop/css/montserrat.min.css?17858292106175*/
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-300-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-300-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:optional;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-300-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-300-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:optional;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-500-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-500-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:optional;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:optional;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:optional;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/pneumax-shop/css/fonts/montserrat-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* End */


/* Start:/local/templates/pneumax-shop/css/owl.carousel.min.css?17857650948724*/
.owl-carousel{position:relative;z-index:1;display:none;width:100%;-webkit-tap-highlight-color:transparent}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{line-height:0;display:block;visibility:hidden;clear:both;height:0;content:'.'}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden}.owl-carousel .owl-item{position:relative;float:left;min-height:1px;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{color:inherit;font:inherit}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{display:block;opacity:0}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{transition:opacity .4s ease;opacity:0}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^='']{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;z-index:1;top:50%;left:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;cursor:pointer;transition:transform .1s ease;background:url('/local/templates/pneumax-shop/css/owl.video.play.png') no-repeat;-webkit-backface-visibility:hidden}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{height:100%;transition:opacity .4s ease;opacity:0;background-repeat:no-repeat;background-position:center center;background-size:contain}.owl-carousel .owl-video-frame{position:relative;z-index:1;width:100%;height:100%}.owl-carousel .owl-nav button{position:absolute;top:50%;display:block;overflow:hidden;width:54px;height:78px;margin-top:-39px;cursor:pointer;transition:.2s linear;text-indent:-9999px;border:none;background:0 0}.owl-carousel .owl-nav button.owl-prev{left:10px}.owl-carousel .owl-nav button.owl-next{right:10px}.owl-carousel .owl-nav button:after{position:absolute;top:50%;left:50%;display:block;width:36px;height:36px;margin-top:-18px;content:'';transition:.2s linear;transform:rotate(-45deg)}.owl-carousel .owl-nav button.owl-prev:after{margin-left:-7px;border-top:3px solid #979797;border-left:3px solid #979797}.owl-carousel .owl-nav button.owl-next:after{margin-left:-27px;border-right:3px solid #979797;border-bottom:3px solid #979797}.contacts_info .owl-carousel .owl-nav button{top:0;overflow:visible;width:37px;height:100%;margin-top:0}.contacts_info .owl-carousel .owl-nav button.owl-prev{left:0}.contacts_info .owl-carousel .owl-nav button.owl-next{right:0}.contacts_info .owl-carousel .owl-nav button:before{position:absolute;top:0;left:0;display:block;width:80px;height:100%;content:'';background:url(/local/templates/pneumax-shop/css/../images/sh_slider_controls.png) 0 50% repeat-y}.contacts_info .owl-carousel .owl-nav button.owl-next:before{right:0;left:auto;transform:rotate(180deg)}.contacts_info .owl-carousel .owl-nav button:after{width:20px;height:20px;margin-top:-10px}.contacts_info .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:3px solid #fff;border-left:3px solid #fff}.contacts_info .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:3px solid #fff;border-bottom:3px solid #fff}.slider_in_text .owl-carousel .owl-nav button{top:0;overflow:visible;width:57px;height:100%;margin-top:0}.slider_in_text .owl-carousel .owl-nav button.owl-prev{left:0}.slider_in_text .owl-carousel .owl-nav button.owl-next{right:0}.slider_in_text .owl-carousel .owl-nav button:before{position:absolute;top:0;left:0;display:block;width:80px;height:100%;content:'';background:url(/local/templates/pneumax-shop/css/../images/sh_slider_controls.png) 0 50% repeat-y}.slider_in_text .owl-carousel .owl-nav button.owl-next:before{right:0;left:auto;transform:rotate(180deg)}.slider_in_text .owl-carousel .owl-nav button:after{width:20px;height:20px;margin-top:-10px}.slider_in_text .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:3px solid #fff;border-left:3px solid #fff}.slider_in_text .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:3px solid #fff;border-bottom:3px solid #fff}.certs .owl-carousel .owl-nav button{top:0;overflow:visible;width:57px;height:100%;margin-top:0}.certs-tech .owl-carousel .owl-nav button.owl-prev{left:-57px}.certs-tech .owl-carousel .owl-nav button.owl-next{right:-57px}.certs-tech .owl-carousel .owl-nav button:after{width:20px;height:20px;margin-top:-10px}.certs-tech .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:3px solid #ccc;border-left:3px solid #ccc}.certs-tech .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:3px solid #ccc;border-bottom:3px solid #ccc}.certs-tech .owl-carousel .owl-nav button:hover:after{border-color:#000}.images .owl-carousel .owl-nav button{top:auto;bottom:0;overflow:visible;width:48px;height:66px;margin-top:0}.images .owl-carousel .owl-nav button.owl-prev{left:0}.images .owl-carousel .owl-nav button.owl-next{right:0}.images .owl-carousel .owl-nav button:after{width:20px;height:20px;margin-top:-10px}.images .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:5px solid #d3d3d3;border-left:5px solid #d3d3d3}.images .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:5px solid #d3d3d3;border-bottom:5px solid #d3d3d3}.images .owl-carousel .owl-nav button:hover:after{border-color:#000}.carousel_in_text .owl-carousel .owl-nav button{top:auto;bottom:calc(100% + 20px);overflow:visible;width:34px;height:26px;margin-top:0}.carousel_in_text .owl-carousel .owl-nav button.owl-prev{right:19px;left:auto}.carousel_in_text .owl-carousel .owl-nav button.owl-next{right:-15px}.carousel_in_text .owl-carousel .owl-nav button:after{width:14px;height:14px;margin-top:-7px}.carousel_in_text .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:3px solid #d3d3d3;border-left:3px solid #d3d3d3}.carousel_in_text .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:3px solid #d3d3d3;border-bottom:3px solid #d3d3d3}.carousel_in_text .owl-carousel .owl-nav button:hover:after{border-color:#000}.clients .owl-carousel .owl-nav button{width:48px;height:64px;margin-top:-32px}.clients .owl-carousel .owl-nav button.owl-prev{left:-15px}.clients .owl-carousel .owl-nav button.owl-next{right:-15px}.clients .owl-carousel .owl-nav button:after{width:20px;height:20px;margin-top:-10px}.clients .owl-carousel .owl-nav button.owl-prev:after{margin-left:-5px;border-top:5px solid #d3d3d3;border-left:5px solid #d3d3d3}.clients .owl-carousel .owl-nav button.owl-next:after{margin-left:-15px;border-right:5px solid #d3d3d3;border-bottom:5px solid #d3d3d3}.clients .owl-carousel .owl-nav button:hover:after{border-color:#000}.owl-dots{position:absolute;bottom:46px;left:50%;display:flex;width:100%;width:auto;height:15px;margin-left:-640px;text-align:center;justify-content:flex-start;align-items:center;align-content:center;flex-wrap:wrap}.owl-dot{position:relative;display:block;width:15px;height:15px;transition:.2s linear;border:2px solid #fff;border-radius:50%;background:#d1e9ea}.owl-dot+.owl-dot{margin-left:20px}.owl-dot.active,.owl-dot:hover{border:2px solid #28b954;background:#fff}
/* End */


/* Start:/local/templates/pneumax-shop/css/styles.css?1786449241151554*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
*:before,
*:after {
    box-sizing: border-box;
}
.page_content .content_flex .content > .tabs_container + b,
.page_content .content_flex .content > .tabs_container + .text_block {display:none}
.form input[type=checkbox] + label:before {border: 1px solid #000;}
.product_info .data .product_name {
-moz-user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;
    -o-user-select: text;
    user-select: text;
}
.content > .tabs_container .tab_content aside.big {display:none}
.main-page-popup__shadow-div {
    display: flex;
    justify-content: center;
}
#contentAI > p {
    font-weight: 500;
    line-height: 21px;
	margin-bottom:10px;
}
#contentAI > ul {
	margin-bottom:10px;
	font-weight: 500;
    line-height: 21px;
}
#contentAI > ul > li {
	margin-bottom: 5px;
}
#contentAI > h2 {
    margin: 20px 0;
}
.main-page-popup__container {
max-width: 800px;
    top: 15%;
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.4) 2px 3px 10px;
    background-color: rgb(40, 185, 84);
    color: rgb(255, 255, 255);
    border-radius: 4px;
    position: absolute;
    z-index: 103;
    opacity: 1;
    animation: 3s ease 0s 1 normal forwards running ani;
    display: block;
}
body.activ {overflow: hidden;}
body.activ:after {
    content: '';
    opacity: .7;
    background: black;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: fixed;
    z-index: 101;
}
#ID_PAY_SYSTEM_ID_4 {
  
}
#ID_PAY_SYSTEM_ID_6 {}
#ID_PAY_SYSTEM_ID_3 {}
#bx_3218110189_12512 .img {
	height: 370px;
}
#bx_3218110189_12512 .img img {
	height: 100%;
}

img {
    border: none;
}

textarea {
    overflow: auto;
}

input,
textarea,
input:active,
textarea:active {
    -webkit-border-radius: 0;
    border-radius: 0;
    outline: none transparent !important;
    box-shadow: none;

    -webkit-appearance: none;
    appearance: none;
    -moz-outline: none !important;
}

input[type=submit],
button[type=submit],
input[type=reset],
button[type=reset] {
    -webkit-border-radius: 0;

    -webkit-appearance: none;
}

:focus {
    outline: none;
}

:hover,
:active {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
}


::-ms-clear {
    display: none;
}


/*---------------
    Main styles
---------------*/
:root {
    --bg: #fff;
    --aside_width: 290px;
    --aside_big_width: 320px;
    --scroll_width: 17px;
    --text_color: #000;
    --font_size: 14px;
    --font_size_title: 24px;
    --font_family: 'Montserrat', 'Arial', sans-serif;
}

/* Здесь было `.bx-filter { display:none }`. Правило мёртвое: компонент умного
   фильтра ставит элементу собственный inline-стиль, и вычисленный display
   всё равно block. Убрано, потому что оно уводило диагностику не туда —
   фильтр на разделах верхнего уровня схлопывается не из-за него, а потому
   что пуст: в фасеты включены служебные текстовые поля («Описание
   товара(сайт)», «Название для 2GIS», «Текст Alt Картинке»), а профильные
   свойства принадлежат дочерним разделам. Лечится в админке, не в CSS.
   Разбор с замерами — DESIGN.md §2.1-бис. */

.clear {
    clear: both;
}


.left {
    float: left;
}


.right {
    float: right;
}


html {
    height: 100%;

    background: var(--bg);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
html.show {overflow: hidden;}

body {
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: var(--font_size);

    height: 100%;

    transition: opacity .2s linear;

    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
    text-decoration-skip: objects;
}

body.show {
	opacity: 1 !important;
	
}


.wrap {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    min-height: 100%;
}


.main {
    position: relative;

    flex: 1 0 auto;
}


.cont {
    position: relative;

    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

aside .cats a.sub_link {
    position: relative;
}

aside .cats .items a:hover, aside .cats .items a.active {
    color: #00954b;
}

aside .cats .items a:hover, aside .cats .items a.activ {
    color: #00954b;
}

aside .cats a.sub_link:hover:after {
    border-color: #00954b;
}

aside .cats .catalog_link {
	cursor:default;
}

aside .cats a.sub_link:after {
    position: absolute;
    top: 50%;
    right: 18px;
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -9px;
    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);
    border-bottom: 2px solid #3e3e3e;
    border-left: 2px solid #3e3e3e;
}

aside .filter.projects .title {
	min-height: 40px!important;
	padding:11px 20px!important;
}

.compensate-for-scrollbar {
    margin-right: var(--scroll_width) !important;
}

.compensate-for-scrollbar header.fixed {
    padding-right: var(--scroll_width) !important;
}


.lozad {
    transition: .5s linear;

    opacity: 0;
}

.lozad.loaded {
    opacity: 1;
}


.flex {
    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}


.page_content {
    margin-bottom: 50px;
}

.page_content .content,
.page_content aside {
    margin-bottom: 0;
}


.breadcrumbs {
    color: #999;
    font-size: 11px;
    font-weight: 500;

    margin-bottom: 40px;
    padding-bottom: 20px;

    border-bottom: 1px solid #e5e5e5;
}

.breadcrumbs a {
    color: #999;

    transition: .2s linear;
    white-space: nowrap;
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: var(--text_color);
}

.breadcrumbs .sep {
    position: relative;
    top: -1px;

    display: inline-block;

    width: 5px;
    height: 5px;
    margin: 0 8px;

    vertical-align: middle;

    border-radius: 50%;
    background: #01964d;
}


.page_title {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;

    margin-bottom: 10px;

    text-transform: uppercase;
}

.page_title.center {
    text-align: center;
}


.content_flex.flex,
.content_flex > .cont.flex {
    position: relative;

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
}

.content_flex .content {
    

    width: calc(100% - var(--aside_width) - 33px);
}

.content_flex aside.big + .content {
    width: calc(100% - var(--aside_big_width) - 40px);
}

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

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

.tab_content.active > br{display:none;}
.block {
    margin-bottom: 50px;
}


.block_head {
    position: relative;
    z-index: 9;

    margin-bottom: 30px;
}

.block_head.center {
    text-align: center;
}

.block_head .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;

    position: relative;

    padding-bottom: 20px;
	display:block!important;
    text-transform: uppercase;
    border-bottom: 1px solid #d1d1d1;
}

.block_head .title:after {
    position: absolute;
    bottom: -1px;
    left: 0;

    display: block;

    width: 130px;
    max-width: 100%;
    height: 4px;

    content: '';

    background: #00964c;
}

.block_head .title.red:after {
    background: #e22323;
}


.block_head .view {
    position: absolute;
    top: 0;
    right: 0;

    display: flex;

    margin-left: auto;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

.block_head .view button {
    position: relative;

    display: flex;

    width: 47px;
    height: 33px;

    cursor: pointer;
    transition: .2s linear;

    border: 1px solid #e0e0e0;
    background: #fff;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.block_head .view button + button {
    margin-left: -1px;
}

.block_head .view button.grid_link {
    padding: 6px 10px 3px 7px;
}

.block_head .view button.list_link {
    padding: 7px 13px;
}

.block_head .view button.grid_link * {
    display: block;

    width: 7px;
    height: 7px;
    margin-bottom: 3px;
    margin-left: 3px;

    transition: background .2s linear;

    background: #00964c;
}

.block_head .view button.list_link * {
    display: block;

    width: 100%;
    height: 4px;

    transition: background .2s linear;

    background: #00964c;
}

.block_head .view button.list_link * + * {
    margin-top: 3px;
}

.block_head .view button.active {
    z-index: 5;

    border-color: #00964c;
    background: #00964c;
}

.block_head .view button.active * {
    background: #fff;
}


.form {
    --form_border_color: #d1d1d1;
    --form_border_radius: 5px;
    --form_bg_color: #fff;
    --form_label_width: 222px;
    --form_focus_color: #00964c;
    --form_placeholder_color: #0b1110;
}


.form ::-webkit-input-placeholder {
    color: var(--form_placeholder_color);
}

.form :-moz-placeholder {
    color: var(--form_placeholder_color);
}

.form :-ms-input-placeholder {
    color: var(--form_placeholder_color);
}


.form .line {
    position: relative;

    margin-bottom: 25px;
}

.form .line.flex {
    justify-content: flex-end;
}

.form .line.flex .label {
    display: flex;

    width: var(--form_label_width);
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding-right: 15px;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form .line.flex .field {
    width: calc(100% - var(--form_label_width));
}


.form .label {
    color: #0b1110;
    font-size: 13px;
    font-weight: 500;

    margin-bottom: 10px;

    letter-spacing: .075em;
    text-transform: uppercase;
}


.form .recovery_link {
    color: #00964c;
    font-size: 13px;
    font-weight: 500;

    position: absolute;
    top: 0;
    right: 0;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.form .recovery_link:hover {
    text-decoration: underline;
}


.form .field {
    position: relative;
}

.form .field.flex > * {
    width: 170px;
}

.form .field.flex > * + * {
    margin-left: 23px;
}


.form .input {
    color: #0b1110;
    font: var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 42px;
    padding: 0 65px 0 15px;

    transition: .2s linear;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
    background-position: calc(100% - 13px) 50%;
}


.form .input:focus {
    border-color: var(--form_focus_color);
}

.form .input.success {
    background: var(--form_bg_color) url(/local/templates/pneumax-shop/css/../images/ic_success.svg) calc(100% - 13px) 50% no-repeat;
}


.form .input:disabled,
.form input[type=checkbox]:disabled + label {
    cursor: default;
    pointer-events: none;

    opacity: .5;
}


.form input[type=checkbox] {
    display: none;
}

.form input[type=checkbox] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;

    position: relative;

    display: table-cell;

    min-height: 21px;
    padding-left: 38px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 21px;
    height: 21px;

    content: '';
    transition: .2s linear;

    border-radius: 3px;
    background: #fff;
}

.form input[type=checkbox] + label:after {
    position: absolute;
    top: 6px;
    left: 6px;

    display: block;

    width: 10px;
    height: 6px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}

.form input[type=checkbox]:checked + label:after {
    opacity: 1;
}


.form .type .field {
    display: flex;

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}

.form .type .field > * {
    width: calc(50% - 2px);
}

.form .type input[type=radio] {
    display: none;
}

.form .type label {
    font-size: 14px;
    font-weight: 700;

    position: relative;

    display: flex;

    min-height: 80px;
    padding: 15px 20px 15px 69px;

    cursor: pointer;
    transition: .2s linear;
    letter-spacing: .075em;
    text-transform: uppercase;

    border: 2px solid #fff;
    background: #fff;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form .type label:before {
    position: absolute;
    top: 50%;
    left: 26px;
	opacity:0;
    display: block;

    width: 22px;
    height: 22px;
    margin-top: -11px;

    content: '';

    border-radius: 50%;
    background: #f7f7f7;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.form .type input[type=radio]:checked + label {
    border-color: #00964c;
}

.form .type input[type=radio]:checked + label:before {
    opacity:0;
}


.form .submit {
    padding-top: 15px;
}

.form .submit_btn {
    color: #000;
    font: 700 14px/46px var(--font_family);

    display: inline-block;

    width: 100%;
    height: 50px;
    padding: 0 20px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 25px;
    background: none;
}

.form .submit_btn:hover {
    color: #fff;

    background: #00964c;
}


.text_block {
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    margin-bottom:30px;
}

.text_block > :last-child,
.text_block blockquote > :last-child,
.text_block q > :last-child {
    margin-bottom: 0 !important;
}

.text_block > :first-child {
    margin-top: 0 !important;
}


.text_block h1 {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;

    margin-bottom: 30px;

    text-transform: uppercase;
}

.text_block * + h2 {
    margin-top: 40px;
}

.text_block .clear + h2 {
    margin-top: 30px;
}


.text_block h2 {
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;

    margin-bottom: 20px;

    text-transform: uppercase;
}
.text_block h3 {
    font-size: 16px;
}
.text_block h1 + h2 {
    margin-top: 0 !important;
}


.text_block p,
.text_block ul,
.text_block ol {
    margin-bottom: 21px;
}


.text_block blockquote,
.text_block q {
    font-style: italic;

    position: relative;

    display: block;

    width: 100%;
    margin: 30px 0;
    padding: 19px 29px;

    border: 1px solid #e5e5e5;
}

.text_block blockquote:before,
.text_block q:before {
    position: absolute;
    top: -1px;
    left: -1px;

    display: block;

    width: 4px;
    height: calc(100% + 2px);

    content: '';

    background: #00964c;
}


.text_block ul li {
    position: relative;
    overflow: hidden;
    display: block;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ul li + li {
    margin-top: 10px;
}

.text_block ul li:before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 9px;
    height: 9px;
    content: '';
    border-radius: 50%;
    background: #00964c;
}

.text_block ul ul {
	margin-left: 30px;
}
.text_block ul ul li:before {
	background: none;
    border: 1px solid #00964c;
}
.text_block ol {
    counter-reset: li;
}

.text_block ol li {
    position: relative;

    display: block;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ol li + li {
    margin-top: 10px;
}

.text_block ol li:before {
    color: #00964c;
    font-weight: 700;

    position: absolute;
    top: 0;
    left: 0;

    content: counter(li) '.';
    counter-increment: li;
}


.text_block a {
    color: #2a9d31;

    text-decoration: none;
}

.text_block a:hover {
    text-decoration: underline;
}

.text_block .cols,
.text_block .slider_in_text,
.text_block .carousel_in_text {
    margin: 30px 0;
}


.modal_cont {
    position: relative;
}

.mini_modal {
    position: absolute;
    z-index: 999;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;

    transition: .2s linear;

    opacity: 0;
}

.mini_modal.active {
    top: 100%;

    visibility: visible;

    opacity: 1;
}

.sub-container__menu {
	display:none;
	visibility: hidden;
  	opacity: 0;
  	transition: opacity 1s linear, visibility 1s linear;
}

.sub-container__menu.active {
	display:block;
	opacity: 1;
  	visibility: visible;
}

.sub-container__menu.active .sub_cats {
	display:block;
}

.overlay {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    opacity: .68;
    background: #000;
}

/*----------
    Tabs
----------*/
.tabs {
    display: flex;

    margin-bottom: 32px;

    border-bottom: 1px solid #e0e0e0;

    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.tabs button {
    color: #323333;
    font-family: var(--font_family);
    font-size: 16px;
    font-weight: 700;

    position: relative;

    display: flex;

    height: 60px;
    margin-bottom: -1px;
    padding: 10px 30px;

    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-transform: uppercase;

    border: 1px solid #e0e0e0;
    background: none;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.tabs button + button {
    margin-left: -1px;
}

.tabs button:hover,
.tabs button.active {
    color: #fff;

    border-color: #429454;
    background: #429454;
}


.tab_content {
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.tab_content.active {
    visibility: visible;
    overflow: visible;

    height: auto;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
}


/*---------------
    Accordion
---------------*/
.accordion_item {
    border: 1px solid #d3d3d3;
}

.accordion_item + .accordion_item {
    margin-top: -1px;
}


.accordion_item .head {
    position: relative;

    display: flex;

    min-height: 102px;
    padding: 15px 103px 15px 42px;

    cursor: pointer;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.accordion_item .head .title {
    font-size: 21px;
    font-weight: 600;
    line-height: 25px;
}

.accordion_item .head .icon {
    position: absolute;
    top: 0;
    right: 31px;
    bottom: 0;
    width: 40px;
    height: 40px;
    margin: auto;
    transition: background .2s linear;
    border-radius: 50%;
    background: #5bb660;
}

.accordion_item .head .icon:before,
.accordion_item .head .icon:after {
    position: absolute;
    display: block;
    width: 22px;
    height: 4px;
    margin: auto;
    content: '';
    border-radius: 3px;
    background: #fff;
    inset: 0;
}

.accordion_item .head .icon:after {
    width: 4px;
    height: 22px;
    transition: opacity .2s linear;
}


.accordion_item .data {
    padding: 0 30px;
	display: none;
}


.accordion_item.active .head .icon {
    background: #bbb;
}

.accordion_item.active .head .icon:after {
    opacity: 0;
}


/*---------------
   Header
---------------*/
.header_wrap {
    margin-bottom: 32px;
}

.header_wrap header {
    margin-bottom: 0;
}


header {
    position: relative;
    z-index: 101;
    top: 0;
    left: 0;

    width: 100%;
    margin: 0 0 32px;
}

header.absolute {
    position: absolute;

    margin: 0;

    background: none;
}

header.fixed {
    position: fixed;

    margin: 0;

    -webkit-animation: moveDown .5s;
    animation: moveDown .5s;
}


header:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: calc(100% - 37px);

    content: '';

    background: #3e3e3e;
}


header .info {
    /* margin-bottom: -51px; */
    padding: 20px 0;
}

header .info .cont.flex {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
}


header .logo {
    display: block;

    margin-left: 30px;

    text-decoration: none;
}

header .logo img {
    display: block;

    width: 270px;
    max-width: 100%;
}


header .contacts > * {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 19px;

    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .contacts > * + * {
    margin-top: 8px;
}


header .contacts a {
    color: currentColor;

    display: inline-block;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}


header .contacts .btn {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

    border: none;
    background: none;
}


header .contacts .icon {
    display: flex;

    width: 18px;
    height: 18px;
    margin-right: 8px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .contacts .icon img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}


header .links {
    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .links a {
    color: #fff;

    position: relative;

    display: flex;

    width: 28px;
    height: 28px;

    text-decoration: none;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .links a + a {
    margin-left: 24px;
}

header .links img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

header .links .count {
    font-size: 11px;
    font-weight: 700;
    line-height: 19px;

    position: absolute;
    top: -8px;
    right: -8px;

    display: block;

    width: 19px;
    height: 19px;

    text-align: center;

    border-radius: 50%;
    background: #e22323;
}


header .account {
    margin-right: 30px;
}


header .account .login_link {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;

    display: flex;

    text-decoration: none;
    text-transform: uppercase;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .account .login_link img {
    display: block;

    width: 18px;
    margin-right: 12px;
}


header .account .user_link {
    color: #fff;
    font-size: 12px;
    font-weight: 500;

    display: flex;

    height: 43px;
    padding: 0 20px;

    transition: .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    border-radius: 25px;
    background: rgba(221, 221, 221, .2);

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

header .account .user_link .icon {
    display: flex;

    width: 26px;
    height: 26px;
    margin-right: 14px;
    padding: 5px;

    border-radius: 50%;
    background: #494949;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .account .user_link img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

header .account .user_link .name {
    overflow: hidden;

    max-width: 120px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

header .account .user_link:hover {
    color: #3e3e3e;

    background: #ddd;
}


header .menu {
    position: relative;

    display: flex;

    width: 100%;
    padding: 0 32px;

    background: #ebebeb;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

header .menu .item {
    position: relative;
}

header .menu .item > a {
    color: #3e3e3e;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;

    position: relative;

    display: flex;

    height: 51px;

    transition: color .2s linear;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
    text-transform: uppercase;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

header .menu .item:hover > a,
header .menu .item > a.active {
    color: #28b954;
}


header.fixed:before,
header.fixed .info {
    display: none;
}

header.fixed .bottom {
    margin: 0;
}

header.fixed .menu {
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}


@-webkit-keyframes moveDown {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}

@-moz-keyframes moveDown {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}

@keyframes moveDown {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}


.mob_header {
    position: relative;
    z-index: 99;

    display: none;

    margin-bottom: 24px;
    padding: 24px 0;

    background: #3e3e3e;
}

.mob_header .cont {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.mob_header .logo {
    margin-right: auto;
}

.mob_header .logo a,
.mob_header .logo img {
    display: block;

    max-width: 100%;
    height: 45px;

    text-decoration: none;
}


.mob_header .links {
    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.mob_header .links a {
    color: #fff;

    position: relative;

    display: flex;

    text-decoration: none;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.mob_header .links a + a {
    margin-left: 24px;
}

.mob_header .links img {
    display: block;

    max-width: 26px;
    max-height: 26px;
}

.mob_header .links .count {
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;

    position: absolute;
    top: -8px;
    right: -8px;

    display: block;

    width: 16px;
    height: 16px;

    text-align: center;

    border-radius: 50%;
    background: #e22323;
}


.mob_header .account {
    margin-left: 40px;
}


.mob_header .account .login_link {
    color: #fff;
    font-size: 12px;
    font-weight: 700;

    display: flex;

    text-decoration: none;
    text-transform: uppercase;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.mob_header .account .login_link img {
    display: block;

    width: 18px;
    margin-right: 8px;
}


.mob_header .account .user_link {
    color: #fff;
    font-size: 12px;
    font-weight: 500;

    display: flex;

    height: 43px;
    padding: 0 20px;

    transition: .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    border-radius: 25px;
    background: rgba(221, 221, 221, .2);

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

.mob_header .account .user_link .icon {
    display: flex;

    width: 26px;
    height: 26px;
    margin-right: 14px;
    padding: 5px;

    border-radius: 50%;
    background: #494949;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.mob_header .account .user_link img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.mob_header .account .user_link .name {
    overflow: hidden;

    max-width: 120px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.mob_header .account .user_link:hover {
    color: #3e3e3e;

    background: #ddd;
}


.mob_header .mob_menu_link {
    display: block;

    width: 60px;
    height: 18px;
    margin-right: -15px;
    margin-left: 25px;
    padding: 0 15px;
}

.mob_header .mob_menu_link span {
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    transition: .2s linear;

    background: #fff;
}

.mob_header .mob_menu_link span + span {
    margin-top: 6px;
}

.mob_header .mob_menu_link.active span:nth-child(2) {
    opacity: 0;
}

.mob_header .mob_menu_link.active span:nth-child(1) {
    top: 8px;

    transform: rotate(45deg);
}

.mob_header .mob_menu_link.active span:nth-child(3) {
    top: -8px;

    transform: rotate(-45deg);
}


/*---------------
   Sidebar
---------------*/
aside {
    width: var(--aside_width);
    max-width: 100%;
}

aside > * + * {
    margin-top: 30px;
}


aside .cats .catalog {
    position: static;
}

aside .cats .catalog_link {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;

    position: relative;
    z-index: 100;

    display: flex;

    min-height: 52px;
    padding: 12px 20px;

    text-decoration: none;
    text-transform: uppercase;

    border-radius: 12px 12px 0 0;
    background: #3e3e3e;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


aside .cats #catalog_modal {
    z-index: 99;
    top: 0;
    left: 320px;

    overflow: hidden;

    width: calc(100% - 320px);

    background: #fff;
    box-shadow: 0 5px 32px 0 rgba(0, 0, 0, .21);
}

.cont.flex aside .cats #catalog_modal {
    left: 340px;

    width: calc(100% - 360px);
}

aside .cats #catalog_modal .cats_wall {
    margin: -1px;
}


aside .cats #catalog_modal2 {
    z-index: 99;
    top: 0;
    left: 320px;

    overflow: hidden;

    width: calc(100% - 489px);
    min-height: 379px;

    border-top: 1px solid #00964c;
    border-bottom: 1px solid #00964c;
    background: #fff url(/local/templates/pneumax-shop/css/../images/bg_cats_list.png) calc(100% - 38px) calc(100% - 36px) no-repeat;
    box-shadow: 0 5px 32px 0 rgba(0, 0, 0, .21);
}

.cont.flex aside .cats #catalog_modal2 {
    left: 340px;

    width: calc(100% - 360px);
}

aside .cats #catalog_modal2:before,
aside .cats #catalog_modal2:after {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 33.333%;

    display: block;

    width: 100px;
    height: 100%;

    content: '';
    pointer-events: none;

    background: url(/local/templates/pneumax-shop/css/../images/sh_cats_list.png) 0 0 repeat-y;
}

aside .cats #catalog_modal2:after {
    left: 66.666%;
}

aside .cats #catalog_modal2 .cats_list {
    margin-bottom: -25px;
    padding: 27px 33px;

    column-count: 3;
    column-gap: 66px;
}

aside .cats #catalog_modal2 .cats_list > * {
    padding-bottom: 25px;

    --webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

aside .cats #catalog_modal2 .cats_list a {
    color: #000;
    font-size: 13px;
    font-weight: 600;
    line-height: 16px;

    display: inline-block;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
}

aside .cats #catalog_modal2 .cats_list a span {
    display: inline;

    transition: .2s linear;

    border-bottom: 2px solid transparent;
}

aside .cats #catalog_modal2 .cats_list a:hover {
    color: #00964c;
}

aside .cats #catalog_modal2 .cats_list a:hover span {
    border-color: #000;
}


aside .cats .items {
    position: relative;
    z-index: 100;
}

aside .cats .items > * {
    overflow: hidden;

    border-bottom: 1px solid #d0d0d0;
}

aside .cats .items > *:last-child {
    border-bottom: none;
    border-radius: 0 0 15px 15px;
}

aside .cats .items > * + * {
    border-top: 1px solid #fff;
}

aside .cats .items a {
    color: #3e3e3e;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;

    display: flex;

    min-height: 52px;
    padding: 12px 20px;

    transition: background .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    background: #f5f5f5;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

aside .cats .items a sup {
    font-size: 10px;
    line-height: 100%;

    display: inline-block;

    vertical-align: top;
}

aside .cats .items a:hover {
    background: #fff;
}


aside .links {
    background: #f5f5f5;
}

aside .links a {
    color: #000;
    font-size: 13px;
    font-weight: 600;
    line-height: 24px;

    display: flex;

    min-height: 63px;
    padding: 18px 20px;

    transition: .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    border: 1px solid #d1d1d1;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

aside .links > * + * {
    margin-top: -1px;
}

aside .links a:hover,
aside .links a.active {
    color: #00964c;
}


aside .lk_menu {
    padding: 15px 0;
}

aside .lk_menu a {
    min-height: 60px;
    padding-right: 32px;
    padding-left: 32px;

    border: none;
}


aside .filter {
    border-top: 2px solid #00964c;
    background: #f5f5f5;
}

aside .filter .title {
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;

    padding: 15px;

    text-transform: uppercase;

    border-bottom: 1px solid #dcdcdc;
}


aside .filter .item {
    border-bottom: 1px solid #dcdcdc;
}

aside .cats a.sub_cats {
    padding-left:35px;
	display:none;
	text-transform: unset;
	border-top: 1px solid #e7e7e7;
}

aside .filter .name {
    font-size: 13px;
    line-height: 17px;

    position: relative;

    display: flex;

    min-height: 39px;
    padding: 10px 30px 10px 48px;

    cursor: pointer;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

aside .filter .name .icon {
    position: absolute;
    top: 50%;
    left: 19px;

    display: block;

    width: 20px;
    height: 20px;
    margin-top: -10px;

    transition: .2s linear;

    border-radius: 50%;
    background: #fff;
}

aside .filter .name .icon:before,
aside .filter .name .icon:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 10px;
    height: 2px;
    margin: auto;

    content: '';
    transition: .2s linear;

    background: #00964c;
}

aside .filter .name .icon:after {
    width: 2px;
    height: 10px;
}


aside .filter .name.active .icon {
    background: #00964c;
}

aside .filter .name.active .icon:before,
aside .filter .name.active .icon:after {
    background: #fff;
}

aside .filter .name.active .icon:after {
    opacity: 0;
}


aside .filter .data {
    display: none;

    padding: 15px 30px 15px 48px;

    border-top: 1px solid #dcdcdc;
    background: #eee;
}


aside .filter .line + .line {
    margin-top: 10px;
}


aside .filter input[type=checkbox] {
    display: none;
}

aside .filter input[type=checkbox] + label {
    font-size: 13px;
    line-height: 16px;

    position: relative;

    display: table-cell;

    min-height: 16px;
    padding-left: 24px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

aside .filter input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transition: .2s linear;

    border: 1px solid #d1d1d1;
    border-radius: 3px;
    background: #fff;
}

aside .filter input[type=checkbox] + label:after {
    position: absolute;
    top: 4px;
    left: 4px;

    display: block;

    width: 9px;
    height: 5px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
}

aside .filter input[type=checkbox]:checked + label:before {
    border-color: #00964c;
    background: #00964c;
}

aside .filter input[type=checkbox]:checked + label:after {
    opacity: 1;
}


aside .filter .range .sep {
    display: block;

    width: 14px;
    height: 1px;
    margin: 0 6px;

    background: #3f3f3f;

    align-self: center;
}

aside .filter .range .input {
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 46px;
    height: 22px;

    text-align: center;

    border: 1px solid #d1d1d1;
    border-radius: 2px;
    background: #fff;
}


aside .filter .label_content {
    display: none;

    margin-top: 15px;
    padding-left: 24px;
}

aside .filter input[type=checkbox]:checked ~ .label_content {
    display: block;
}


aside .help {
    padding: 25px;

    border: 1px solid #dcdcdc;
    background: #f6f5f6;
}


aside .help .icon {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 40px;

    position: relative;

    width: 40px;
    height: 40px;
    margin-bottom: 20px;

    text-align: center;

    border-radius: 50%;
    background: #5bb660;
}

aside .cats a.upcatalog1 {
    display: block;
    width: 60px;
    height: 50px;
    position: absolute;
    border: 10px solid #e5e5e5;
    padding: 5px 5px;
    margin: 10px;
    margin-top: -51.5px;
    margin-left: 221px;
    opacity: 0;
}

aside .cats a.sub_link.active:after {
    margin-top: -3px;
    border: none;
    border-top: 2px solid #00954b;
    border-right: 2px solid #00954b;
}

aside .help .icon:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: calc(100% - 8px);
    height: calc(100% - 8px);
    margin: auto;

    content: '';

    opacity: .5;
    border: 1px solid;
    border-radius: inherit;
}


aside .help .text {
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
}


aside .help .email {
    color: #5bb660;
    font-size: 24px;
    font-weight: 500;

    margin-top: 20px;
}

aside .help .email a {
    color: currentColor;

    white-space: nowrap;
    text-decoration: none;
}


/*---------------
   Main section
---------------*/
.owl-carousel .slide {
    display: none;
}

.owl-carousel,
.owl-loaded .slide,
.main_slider .slider .slide:first-child,
.product_info .images .slider .slide:first-child {
    display: block !important;
}

.owl-carousel .slide .lozad {
    transition: .2s linear;
}


.search {
    margin-bottom: 12px;
    padding: 0px;
    height: 42px;
    border-radius: 14px;
    background: #3e3e3e;
}

.search form {
    display: flex;
    height: 41px;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.search .field {
    position: relative;

    width: calc(100% - 118px);
}

.search .icon {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 16px;

    display: block;

    width: 26px;
    height: 26px;
    margin: auto;

    pointer-events: none;
}

.search .input {
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 16px;
    font-weight: 500;

    display: block;

    width: 100%;
    height: 38px;
    padding: 0 72px 0 60px;

    border: none;
    border-radius: 12px;
    background: #fff;
}

.search .clear_btn {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 20px;
    bottom: 0;

    display: flex;

    width: 28px;
    height: 28px;
    margin: auto;

    cursor: pointer;

    border: none;
    background: none;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.search .clear_btn img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.search .submit_btn {
    color: #fff;
    font-family: var(--font_family);
    font-size: 18px;
    font-weight: 500;

    display: block;

    width: 114px;
    height: 40px;

    cursor: pointer;

    border: none;
    border-radius: 12px;
    background: none;
}


.main_slider .slide {
    position: relative;
    z-index: 3;

    overflow: hidden;

    border-radius: 14px;
    background: #ddd;
}


.main_slider .owl-carousel .owl-nav button.owl-prev {
    left: 8px;
}

.main_slider .owl-carousel .owl-nav button.owl-next {
    right: 8px;
}


.main_slider .bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.main_slider .info {
    position: relative;
    z-index: 3;

    display: flex;

    width: 492px;
    max-width: 100%;
    height: 310px;
    padding: 36px 92px;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.main_slider .sub_title {
    color: #00b600;
    font-size: 15px;
    font-weight: 600;

    width: 100%;
    margin-bottom: 20px;
}


.main_slider .title {
    color: #3e3e3e;
    font-size: 36px;
    font-weight: 600;
    line-height: calc(100% + 6px);

    width: 100%;
}


.main_slider .link {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 36px;

    display: inline-block;

    margin-top: 28px;
    padding: 2px 32px;

    transition: background .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;

    border-radius: 25px;
    background: #00b600;
}

.main_slider .link:hover {
    background: #28b954;
}


.advantages {
    margin-top: 30px;
}

.advantages .flex {
    display: flex;

    padding: 15px 39px;

    border: 1px solid #d2d2d2;

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.advantages .sep {
    width: 1px;
    height: 80px;
    margin: 0 16px;

    background: #d2d2d2;
}


.advantages .item {
    color: #3e3e3e;
    font-size: 16px;
    font-weight: 600;

    position: relative;

    display: flex;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

.advantages .item .icon {
    max-width: 52px;
    max-height: 52px;
    margin-right: 20px;
}

.advantages .item img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.products .block_head {
    min-height: 33px;
}


.products .flex {
    margin-bottom: -60px;

    --products_count: 5;
    align-items: stretch;
    align-content: stretch;
}

.products .flex > * {
    width: calc(100% / var(--products_count));
    margin-bottom: 60px;
}


.products .flex .product_wrap:hover .product .back {
    transition: opacity .3s linear;
    pointer-events: none;
    background: #d1d1d1 !important;

    left: 256px;
    top: -10px;
    width: 100%;
    height: 100%;
    padding: 10px;
    opacity: 1;

}

.products .product_wrap .product .head:after {
    right: auto;
    left: 0;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}


.products .product {
    position: relative;
    padding: 0 20px;
}

.products .product .back {
    position: absolute;
    z-index: 9;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: calc(100% - 24px) !important;
    margin-top: 20px;
    pointer-events: none;
    opacity: 0;
    background: #f2f2f2;
}


.products .product:before,
.products .flex > .product:nth-child(5n):after,
.products .flex > .product:last-child:after,
.products .flex .product_wrap:nth-child(5n) .product:after,
.products .flex .product_wrap:last-child .product:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    content: '';
    transition: .2s linear;
    background: rgb(224, 224, 224, 0.2);
}

.products .flex > .product:nth-child(5n):after,
.products .flex > .product:last-child:after,
.products .flex .product_wrap:nth-child(5n) .product:after,
.products .flex .product_wrap:last-child .product:after {
    right: 0;
    left: auto;
}


.products .product .back:before,
.products .product .head:before {
    position: absolute;
    z-index: -2;
    top: -20px;
    left: 0;

    display: block;
    visibility: hidden;

    width: 100%;
    height: calc(100% + 36px);

    content: '';
    transition: .2s linear;

    opacity: 0;
    border-top: 2px solid #00964c;
    background: #fff;
    box-shadow: 0 1px 9px 0 rgba(0, 0, 0, .2);
}

/*.products .product .back:after,
.products .product .head:after {
    position: absolute;
    z-index: -1;
    top: -20px;
    right: 0;

    visibility: hidden;

    width: 10px;
    height: 10px;

    content: '';
    transition: .2s linear;

    opacity: 0;
    border: 5px solid transparent;
    border-top-color: #636262;
    border-right-color: #636262;
}*/


.products .product .back:before {
    height: calc(100% + 60px);
}

.products .product .back:before,
.products .product .back:after {
    top: -30px;

    visibility: visible;

    opacity: 1;
}


.products .product .cat {
    color: #646363;
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;

    margin-bottom: 10px;

    text-transform: uppercase;
}

.products .product .cat a {
    color: #646363;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.products .product .cat a:hover {
    text-decoration: underline;
}


.products .product .name {
    color: #4191cf;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
}

.products .product .name.list_name {
    display: none;
}

.products .product .name a {
    color: #4191cf;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.products .product .name a:hover {
    text-decoration: underline;
}


.products .product .thumb {
    position: relative;

    margin: 10px 0;
    padding-bottom: 60%;
}

.products .product .thumb a {
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.products .product .thumb img {
    display: block;
    max-width: 100%;
    max-height: 100%;
	width: auto;
}


.products .product .features {
    font-size: 12px;
    font-weight: 600;

    margin-bottom: 30px;

    background: #fff !important;
    flex: 1 0 auto;
}

.products .product .features > * {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: nowrap;
}

.products .product .features > * + * {
    margin-top: 15px;
    padding-top: 15px;

    border-top: 1px solid #e5e5e5;
}

.products .product .features > * + *:last-child {
    border-top: none;
}

.products .product .features > * > * {
    padding-right: 5px;
}

.products .product .features .val {
    font-weight: 500;

    margin-left: auto;
    padding-right: 0;
    padding-left: 5px;

    text-align: right;
}


.products .product .buy {
    display: flex;
	padding-top: 10px;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.products .product .price {
    font-size: 19px;
    font-weight: 600;
    white-space: nowrap;
    text-transform: uppercase;
}

.products .product .price .old {
    color: #646363;
    font-size: 12px;

    text-decoration: line-through;
}

.products .product .price .new {
    color: #e22323;
}


.products .product .buy_link {
    position: relative;

    display: block;

    width: 84px;
    height: 35px;

    transition: .2s linear;

    border: 2px solid #00964c;
    border-radius: 20px;
}

.products .product .buy_link:after {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 40px;
    height: 24px;
    margin-top: -12px;
    margin-left: -20px;

    content: '';

    background: url(/local/templates/pneumax-shop/css/../images/ic_buy_link.svg) 0 0 no-repeat;
}

.products .product .buy_link:hover {
    background: #00964c;
}

.products .product .buy_link:hover:after {
    background: url(/local/templates/pneumax-shop/css/../images/ic_buy_link_white.svg) 0 0 no-repeat;
}

.products .product .details {
    color: #666;
    font-size: 13px;
    font-weight: 600;
    line-height: 33px;

    display: block;

    width: 55%;
    height: 35px;

    margin-top: 8px;
    margin-right: 10px;

    transition: background .2s linear, color .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 1px solid #4191cf;
}

.products .product .details:hover {
    color: #fff;

    background: #4191cf;
}


.products .product .quike_buy_link {
    color: #666;
    font-size: 13px;
    font-weight: 600;
    line-height: 31px;

    display: block;

    width: 80px;
    height: 35px;
    margin-top: 8px;

    transition: background .2s linear, color .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 1px solid #4191cf;
    /*border-radius: 20px;*/
}

.products .product .back .quike_buy_link {
    font-size: 10px;
    line-height: 33px;

    width: calc(50% - 5px);
    margin-left: auto;
}

.products .product .quike_buy_link:hover {
    color: #fff;

    background: #4191cf;
}


.products .product .status {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    display: none;
}

.products .product .status span {
    color: #00964c;
}


.products .flex > .product:hover:before,
.products .flex > .product:hover:after,
.products .flex > .product:hover + .product:before,
.products .flex .product_wrap:hover .product:before,
.products .flex .product_wrap:hover .product:after,
.products .flex .product_wrap:hover + .product_wrap .product:before {
    opacity: 0;
}

.products .flex > .product:hover .head:before,
.products .flex > .product:hover .head:after,
.products .flex .product_wrap:hover .product .head:before,
.products .flex .product_wrap:hover .product .head:after {
    visibility: visible;

    opacity: 1;
}


.content .products {
    padding-bottom: 30px;

    border-bottom: 1px solid #e0e0e0;
}

.content .products .flex {
    --products_count: 3;
}

.content .products .flex > .product:nth-child(5n):after,
.content .products .flex .product_wrap:nth-child(5n) .product:after {
    display: none;
}

.content .products .flex > .product:nth-child(3n):after,
.content .products .flex .product_wrap:nth-child(3n) .product:after {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 1px;
    height: 100%;

    content: '';
    transition: .2s linear;

    background: rgb(224, 224, 224, 0.2);
}

.content .products .flex > .product:nth-child(3n):after,
.content .products .flex .product_wrap:nth-child(3n) .product:after {
    right: 0;
    left: auto;
}

/*.content .products .product,
.content .products .product .back {
    padding: 0 30px;
}*/

.content .products .product .back {
    margin-top: 10px;
    margin-left: 50px;
    height: calc(100% - 1px) !important;
    background: #fff !important;
}

.content .products .product_wrap:nth-child(3n):hover .product .back {
    left: -355px !important;
}

.content .products .product_wrap:nth-child(5):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(20):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(35):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(50):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(65):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(80):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(95):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(110):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(125):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(10):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(25):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(40):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(55):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(70):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(85):hover .product .back {
    left: 255px !important;
}

.content .products .product_wrap:nth-child(100):hover .product .back {
    left: 255px !important;
}

.content .products .product .buy:before {
    position: absolute;
    top: -31px;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';
    pointer-events: none;

    background: #e0e0e0;
}

.content .products .product .head:before {
    top: -30px;

    height: calc(100% + 60px);
}

.content .products .product .head:after {
    top: -30px;
}


.products .list {
    margin: -31px 0;
}

.products .list .product,
.content .products .list .product {
    position: relative;

    display: flex;

    min-height: 142px;
    padding: 20px 20px 20px 159px;

    border: 1px solid #e0e0e0;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.products .list .product:hover {
    z-index: 9;
}

.products .list .product_wrap + .product_wrap {
    margin-top: -1px;
}

.products .list .product:before,
.products .list .product .cat,
.products .list .product .back,
.content .products .list .product .buy:before {
    display: none;
}

.content .products .list .product .head:before {
    top: -1px;
    left: -1px;

    width: calc(100% + 2px);
    height: calc(100% + 2px);
}

.content .products .list .product .head:after {
    top: 0;
    right: -1px;
    left: auto;

    transform: none;
}

.content .products .list .product .buy:before {
    display: none;
}

.products .list .product .front {
    width: 100%;
}

.products .list .product .thumb {
    position: absolute;
    top: 0;
    left: 0;

    width: 159px;
    margin: 0;
    padding-bottom: 140px;
}

.products .list .product .thumb a {
    padding: 20px;
}

.products .list .product .head {
    height: auto !important;
    margin-bottom: 15px;
}

.products .list .product .name {
    display: none;
}

.products .list .product .name.list_name {
    display: block;
}

.products .list .product .buy {
    justify-content: flex-start;
}

.products .list .product .price {
    order: 1;
}

.products .list .product .quike_buy_link {
    width: auto;
    margin-top: 0;
    margin-left: 20px;
    padding: 0 30px;

    order: 2;
}

.products .list .product .buy_link {
    margin-left: 20px;

    order: 3;
}

.products .list .product .status {
    display: block;

    margin-left: 20px;

    order: 4;
}


.banners .flex {
    margin-bottom: calc(var(--banners_offset) * -1);
    margin-left: calc(var(--banners_offset) * -1);

    align-items: stretch;
    align-content: stretch;
    --banners_count: 2;
    --banners_offset: 40px;
}

.banners .flex > * {
    width: calc((100% / var(--banners_count)) - var(--banners_offset));
    margin-bottom: var(--banners_offset);
    margin-left: var(--banners_offset);
}


.banners .banner {
    color: #000;

    position: relative;

    display: flex;

    text-decoration: none;

    border-bottom: 4px solid #00964c;
    background: #f5f5f5;

    justify-content: space-between;
    align-items: flex-end;
    align-content: flex-end;
    flex-wrap: wrap;
}

.banners .banner .info {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 357px;
    max-width: calc(100% - 295px);
    height: 100%;
    padding: 35px 20px 35px 40px;
}

.banners .banner .title {
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;

    flex: 1 0 auto;
}

.banners .banner .link {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 40px;

    display: inline-block;

    width: 187px;
    max-width: 100%;
    height: 40px;
    margin-top: 20px;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-transform: uppercase;

    border-radius: 25px;
    background: #00964c;
}


.banners .banner .img {
    display: flex;

    width: 295px;
    height: 249px;

    justify-content: center;
    align-items: flex-end;
    align-content: flex-end;
    flex-wrap: wrap;
}

.banners .banner .img img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.banners .banner:hover .info:before {
    background: #00964c;
}

.banners .banner:hover .link {
    background: #28b954;
}


.cats_wall .flex {
    padding-bottom: 1px;
    padding-left: 1px;

    align-items: stretch;
    align-content: stretch;
    --cats_wall_count: 4;
}

.cats_wall .flex > * {
    width: calc((100% / var(--cats_wall_count)) + 1px);
    margin-bottom: -1px;
    margin-left: -1px;
}


.cats_wall .cat {
    color: #000;
    font-size: 14px;
    font-weight: 600;

    display: block;

    min-height: 191px;
    padding: 20px;

    text-align: center;
    text-decoration: none;

    border: 1px solid #e5e5e5;
}

.cats_wall .cat .thumb {
    display: flex;

    height: 120px;
    margin-bottom: 10px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.cats_wall .cat .thumb img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.cats_wall .cat:hover .name {
    text-decoration: underline;
}


.return_info {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.return_info .text_block {
    width: calc(100% - 277px);
}

.return_info .payments {
    width: 239px;
    max-width: 100%;
    padding: 50px 20px;

    border: 1px solid #e7e7e7;
}

.return_info .payments > * + * {
    margin-top: 50px;
}

.return_info .payments img {
    display: block;

    max-width: 100%;
    margin: 0 auto;
}

.return_info .payments img.loaded {
    height: auto !important;
}


.delivery_info {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.delivery_info .text_block {
    width: calc(100% - 599px);
}

.delivery_info .info_block {
    width: 534px;
    max-width: 100%;
    padding: 25px 30px;

    border-top: 4px solid #28b954;
    background: #f2f2f2;
}

.cart_info table td.sale {padding-right: 15px; text-align:center;font-size: 18px!important;}

.cart_info table {
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}

.cart_info table th {
	padding: 0 0 10px;
    text-align: center;
    font-size: 12px;
    font-weight: normal;
    line-height: 24px;
    vertical-align: middle;
    white-space: nowrap;
    letter-spacing: .075em;
    text-transform: uppercase;
    border-bottom: 1px solid #d1d1d1;
}

.cart_info table th:first-child {
    padding-left: 0;
}


.cart_info table td {
    padding: 15px 0;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #d1d1d1;
}


.cart_info table td.thumb {
	padding-left: 0;
    width: 225px;
    table-layout: fixed;
}

.cart_info table td.thumb a {
    display: flex;
	width:fit-content;
    height: 92px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.cart_info table td.thumb img {
        display: block;
    max-width: 92px;
    min-width: 92px;
    object-fit: contain;
    max-height: 100%;
    width: 100%;
}


.cart_info table td.info {
    padding-left: 15px;
}

.cart_info table td.info .name {
    color: #4191cf;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    width: 270px;
    max-width: 100%;
}

.cart_info table td.info .name a {
    color: #4191cf;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.cart_info table td.info .name a:hover {
    text-decoration: underline;
}


.cart_info table td.info .cat {
    color: #646363;
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;

    margin-top: 10px;

    text-transform: uppercase;
}

.cart_info table td.info .cat a {
    color: #646363;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.cart_info table td.info .cat a:hover {
    text-decoration: underline;
}


.cart_info table td.price {
	padding: 15px;
    font-size: 18px;
    font-weight: 600;
    width: 190px;
    table-layout: fixed;
    white-space: nowrap;
    text-transform: uppercase;
}

.cart_info table td.price .old {
    color: #646363;
    font-size: 12px;

    text-decoration: line-through;
}

.cart_info table td.price .new {
    color: #e22323;
}


.cart_info table td.amount {
    width: 170px;
	text-align: center;
    table-layout: fixed;
}

.cart_info table td.amount .box {
    position: relative;

    display: inline-block;

    padding-right: 25px;

    vertical-align: middle;
}

.cart_info table td.amount .input {
    color: #000;
    font-family: var(--font_family);
    font-size: 20px;
    font-weight: 600;

    display: block;

    width: 69px;
    height: 42px;

    text-align: center;

    border: 1px solid #d1d1d1;
    border-radius: 5px;
    background: none;
}

.cart_info table td.amount a {
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: 25px;
    height: 21px;
}

.cart_info table td.amount a.plus:after {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 10px;
    height: 10px;
    margin-top: -2px;
    margin-left: -5px;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid #00964c;
    border-right: 2px solid #00964c;
}

.cart_info table td.amount a.minus {
    top: auto;
    bottom: 0;
}

.cart_info table td.amount a.minus:after {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 10px;
    height: 10px;
    margin-top: -8px;
    margin-left: -5px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}


.cart_info table td.delete {
    width: 26px;
    padding-right: 0;
    padding-left: 0;

    table-layout: fixed;
}

.cart_info table td.delete a {
    display: flex;

    width: 26px;
    height: 26px;
    margin: 0 auto;
    padding: 2px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.cart_info table td.delete span {
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    transition: .2s linear;

    background: #c9cbcb;
}

.cart_info table td.delete span:nth-child(1) {
    top: 1px;

    transform: rotate(45deg);
}

.cart_info table td.delete span:nth-child(2) {
    top: -1px;

    transform: rotate(-45deg);
}

.cart_info table td.delete a:hover span {
    background: #000;
}


.cart_info .cart_total {
    width: 380px;
    max-width: 100%;
    margin-top: -1px;
    margin-left: auto;
    padding-top: 25px;

    border-top: 4px solid #00964c;
}

.cart_info .cart_total .total_price {
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;

    display: flex;

    letter-spacing: .075em;
    text-transform: uppercase;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.cart_info .cart_total .total_price > * {
    width: 170px;
    padding-right: 20px;
}

.cart_info .cart_total .total_price .price {
    width: 210px;
    padding-right: 0;
}


.cart_info .cart_total .checkout_link {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 50px;

    display: block;

    width: 100%;
    height: 50px;
    margin-top: 25px;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border-radius: 25px;
    background: #00964c;
}

.cart_info .cart_total .checkout_link:hover {
    background: #28b954;
}


.lk_personal .title {
    font-size: 20px;
    font-weight: 600;

    margin-bottom: 30px;

    text-transform: uppercase;
}

.lk_personal .item {
    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.lk_personal .item + .item {
    margin-top: 30px;
}

.lk_personal .item .name {
    color: #999;
    font-size: 13px;
    font-weight: 500;
    line-height: 24px;

    width: 130px;
    padding-right: 20px;

    letter-spacing: .075em;
    text-transform: uppercase;
}

.lk_personal .item .val {
    color: #0b1110;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;

    width: calc(100% - 130px);

    letter-spacing: .075em;
}

.lk_personal .item .val.green {
    color: #00964d;
}

.lk_personal .item .val a {
    color: #00964d;

    text-decoration: none;
}

.lk_personal .item .val a:hover {
    text-decoration: underline;
}


.lk_orders .title {
    font-size: 20px;
    font-weight: 600;

    margin-bottom: 30px;

    text-transform: uppercase;
}


.lk_orders .order {
    transition: .2s linear;

    background: #fff;
}

.lk_orders .order + .order {
    margin-top: 40px;
}

.lk_orders .order.active {
    box-shadow: 0 1px 29px 0 rgba(0, 0, 0, .2);
}


.lk_orders .order .head {
    display: flex;

    padding: 20px 28px;

    cursor: pointer;

    border-top: 4px solid #00964c;
    background: #f7f7f7;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.lk_orders .order .head .col_left {
    margin-right: auto;
    padding-right: 20px;
}

.lk_orders .order .head .date {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;

    transition: .2s linear;
    white-space: nowrap;
    text-transform: uppercase;
}

.lk_orders .order .head .number {
    color: #999;
    font-size: 13px;
    font-weight: 500;
    line-height: 24px;

    white-space: nowrap;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.lk_orders .order .head .price {
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;

    text-align: right;
    white-space: nowrap;
}

.lk_orders .order .head .count {
    color: #999;
    font-size: 13px;
    font-weight: 500;
    line-height: 24px;

    text-align: right;
    white-space: nowrap;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.lk_orders .order .head .status {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 38px;

    min-width: 167px;
    padding: 0 5px;
    height: 38px;
    margin-left: 30px;

    text-align: center;
    white-space: nowrap;
    /*text-transform: uppercase;*/

    background: #acacac;
}

.lk_orders .order .head .status.yellow {
    background: #bfad33;
}

.lk_orders .order .head .status.green {
    background: #00964c;
}


.lk_orders .order .data {
    display: none;
}


.lk_orders .order .order_info {
    font-size: 13px;
    font-weight: 600;
    line-height: 23px;

    display: flex;

    padding: 17px 28px;

    border-top: 1px solid #d1d1d1;
    border-bottom: 1px solid #d1d1d1;
    background: #f7f7f7;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.lk_orders .order .order_info a {
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 24px;

    display: inline-block;

    height: 23px;
    margin-left: 9px;
    padding: 0 21px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    border-radius: 15px;
    background: #00964c;
}

.lk_orders .order .order_info a:hover {
    background: #28b954;
}


.lk_orders .order .cart_info {
    padding: 20px 28px;
}

.lk_orders .order .cart_info table th:last-child {
    padding-right: 0;

    text-align: right;
}

.lk_orders .order .cart_info table td.thumb {
    width: 125px;
    padding: 10px;
}

.lk_orders .order .cart_info table td.info {
    padding-left: 20px;
}

.lk_orders .order .cart_info table td.price {
    width: 110px;
}

.lk_orders .order .cart_info table td.amount {
    font-size: 20px;
    font-weight: 600;

    width: 95px;

    white-space: nowrap;
    text-transform: uppercase;
}

.lk_orders .order .cart_info table td.amount span {
    display: block;

    width: 55px;

    text-align: center;
}

.lk_orders .order .cart_info table td.amount + td.price {
    padding-right: 0;

    text-align: right;
}


.lk_orders .order .cart_info .cart_total {
    width: 312px;
    margin-top: 0;
    padding-top: 20px;

    border: none;
}

.lk_orders .order .cart_info .cart_total .total_price {
    font-size: 20px;
}

.lk_orders .order .cart_info .cart_total .total_price > * {
    width: 110px;
}

.lk_orders .order .cart_info .cart_total .total_price .price {
    width: 202px;

    text-align: right;
}

.lk_orders .order .cart_info .cart_total .checkout_link {
    line-height: 40px;

    height: 40px;
    margin-top: 20px;
}


.lk_requisites .title {
    font-size: 20px;
    font-weight: 600;

    margin-bottom: 30px;

    text-transform: uppercase;
}

.lk_requisites .form {
    width: 780px;
    max-width: 100%;

    --form_label_width: 307px;
}

.lk_requisites .form .type .field > * {
    width: 303px;
    max-width: 100%;
}

.lk_requisites .form .type .field > * + * {
    width: calc(100% - 307px);
}

.lk_requisites .form .type label {
    border-color: #f7f7f7;
    background: #f7f7f7;
}

.lk_requisites .form .type label:before {
    background: #fff;
}

.lk_requisites .form .submit {
    padding-left: var(--form_label_width);
}


.register {
    width: 914px;
    max-width: 100%;
    margin: 0 auto;
}

.register .form {
    padding: 41px;

    border-top: 4px solid #00964c;
    background: #f7f7f7;
}

.register .form .data {
    width: 614px;
    max-width: 100%;
    margin: 0 auto;
}


.checkout .form {
    counter-reset: blocks;

    --form_label_width: 175px;
}

.checkout .form .block {
    /*display: none;*/

    margin: 0;
    padding: 25px 35px 30px;

    border-top: 4px solid #00964c;
    background: #f7f7f7;
}

.checkout .form .block_title {
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;

    position: relative;

    display: flex;

    min-height: 58px;
    margin-bottom: 24px;
    padding-left: 77px;

    text-transform: uppercase;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.checkout .form .block_title .number {
    font-size: 20px;
    font-weight: 600;
    line-height: 54px;

    position: absolute;
    top: 0;
    left: 0;

    width: 58px;
    height: 58px;

    text-align: center;

    border: 2px solid #00964c;
    border-radius: 50%;
}


.checkout .form .delivery input[type=radio] {
    display: none;
}

.checkout .form .delivery label {
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;

    position: relative;

    display: flex;

    min-height: 130px;
    padding: 20px 20px 20px 115px;

    cursor: pointer;
    transition: .2s linear;

    border: 2px solid #fff;
    background: #fff;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.checkout .form .delivery label + input[type=radio] + label {
    margin-top: 2px;
}

.checkout .form .delivery label .name {
    font-weight: 700;

    width: 100%;

    letter-spacing: .075em;
    text-transform: uppercase;
}

.checkout .form .delivery label:before {
    position: absolute;
    top: 50%;
    left: 29px;

    display: block;

    width: 56px;
    height: 56px;
    margin-top: -28px;

    content: '';
    transition: .2s linear;

    border-radius: 50%;
    background: #f7f7f7;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.checkout .form .delivery label:after {
    position: absolute;
    top: 50%;
    left: 46px;

    display: block;

    width: 25px;
    height: 14px;
    margin-top: -10px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 5px solid #fff;
    border-left: 5px solid #fff;
}

.checkout .form .delivery input[type=radio]:checked + label {
    border-color: #00964c;
}

.checkout .form .delivery input[type=radio]:checked + label:before {
    background: #00964c;
    box-shadow: none;
}

.checkout .form .delivery input[type=radio]:checked + label:after {
    opacity: 1;
}


.checkout .form .payment input[type=radio] {
    display: none;
}

.checkout .form .payment label {
    font-size: 14px;
    font-weight: 500;
    line-height: 24px;

    position: relative;

    display: flex;

    min-height: 90px;
    margin-bottom: 2px;
    padding: 20px 20px 20px 115px;

    cursor: pointer;
    transition: .2s linear;

    border: 2px solid #fff;
    background: #fff;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.checkout .form .payment label + input[type=radio] + label {
    margin-top: 2px;
}

.checkout .form .payment label .name {
    font-weight: 700;
    width: 100%;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.checkout .form .payment label .img {
    display: flex;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

.checkout .form .payment label .img img {
    display: block;
}

.checkout .form .payment label .img > * + * {
    margin-left: 13px;
}

.checkout .form .payment label:before {
    position: absolute;
    top: 50%;
    left: 29px;

    display: block;

    width: 56px;
    height: 56px;
    margin-top: -28px;

    content: '';
    transition: .2s linear;

    border-radius: 50%;
    background: #f7f7f7;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.checkout .form .payment label:after {
    position: absolute;
    top: 50%;
    left: 46px;

    display: block;

    width: 25px;
    height: 14px;
    margin-top: -10px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 5px solid #fff;
    border-left: 5px solid #fff;
}

.checkout .form .payment input[type=radio]:checked + label {
    border-color: #00964c;
}

.checkout .form .payment input[type=radio]:checked + label:before {
    background: #00964c;
    box-shadow: none;
}

.checkout .form .payment input[type=radio]:checked + label:after {
    opacity: 1;
}


.checkout .form .cart_info table th:last-child {
    padding-right: 0;

    text-align: right;
}

.checkout .form .cart_info table td.thumb {
    max-width: 105px;
    padding: 10px 0;
}

.checkout .form .cart_info table td.info {
    padding-left: 0;
	padding-right:10px;
	max-width:150px;
}

.checkout .form .cart_info table td.price {
    width: 110px;
}

.checkout .form .cart_info table td.amount {
    font-size: 20px;
    font-weight: 600;

    width: 95px;

    white-space: nowrap;
    text-transform: uppercase;
}

.checkout .form .cart_info table td.amount span {
    margin: 0 auto
    display: block;
    width: 55px;
    text-align: center;
}

.checkout .form .cart_info table td.amount + td.price {
    padding-right: 0;

    text-align: right;
}


.checkout .form .links {
    display: flex;

    padding-top: 5px;

    justify-content: flex-end;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.checkout .form .links .prev {
    color: #000;
    font-size: 14px;
    font-weight: 600;
    line-height: 46px;

    display: block;

    width: 133px;
    height: 50px;
    margin-right: auto;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 25px;
    background: none;
}

.checkout .form .links .prev:hover {
    color: #fff;

    background: #00964c;
}

.checkout .form .links .next {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 50px;

    display: block;

    width: 133px;
    height: 50px;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border-radius: 25px;
    background: #28b954;
}

.checkout .form .links .next:hover {
    background: #00964c;
}


.checkout .form .submit {
    /*display: none;*/
    margin-top: 20px;
    padding: 0;
}

.checkout .form .submit_btn {
    color: #fff;

    display: block;

    width: 354px;
    max-width: 100%;
    margin-left: auto;

    border-radius: #00964c;
    background: #00964c;
}

.checkout .form .submit_btn:hover {
    border-color: #28b954;
    background: #28b954;
}


.checkout aside {
    order: 5;
}


.checkout_total {
    border-top: 4px solid #00964c;
    border-bottom: 1px solid #d2d2d2;
    background: #f7f7f7;
}

.checkout_total .item {
    color: #0b1110;
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;

    display: flex;

    padding: 20px 34px;

    letter-spacing: .075em;
    text-transform: uppercase;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.checkout_total .item + .item {
    margin-top: -20px;
}

.checkout_total .item .name {
    white-space: nowrap;

    opacity: .5;
}

.checkout_total .item .val {
    font-size: 16px;
    font-weight: 700;
}


.checkout_total .item.total {
    color: #00964c;
    font-size: 20px;
    font-weight: 700;

    margin-top: 0;

    border-top: 1px solid #d2d2d2;
}

.checkout_total .item.total .name {
    opacity: 1;
}

.checkout_total .item.total .val {
    font-size: 20px;
}


.product_info {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}


.product_info .images {
    width: 326px;
    max-width: 100%;
}


.product_info .images .slider {
    border: 1px solid #e7e7e7;
}

.product_info .images .slide a {
    position: relative;

    display: block;

    padding-bottom: 100%;

    text-decoration: none;
}

.product_info .images .slide .img {
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.product_info .images .slide img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.product_info .links {
    display: flex;

    margin-top: 17px;
    margin-bottom: -15px;
    margin-left: -15px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .links > * {
    margin-bottom: 15px;
    margin-left: 46px;
}

.product_info .links a {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    height: 40px;
    width: 260px;
    padding: 0 20px;
    margin-top: 2px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #a9e3bb;
    border-radius: 30px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.product_info .links a .icon {
    margin-right: 13px;
}

.product_info .links a.pdf_link .icon {

}

.product_info .links a:hover,
.product_info .links a.active {
    color: #fff;

    border-color: #28b954;
    background: #28b954;
}

.product_info .links a:hover .icon,
.product_info .links a.active .icon {
    background-position: 0 100%;
}

.product_info .links #vopros_proekt svg,
.product_info .links .pdf_link svg {margin-right: 13px;}
.product_info .links #vopros_proekt .white,
.product_info .links .pdf_link .white {
	display:none;
}
.product_info .links .pdf_link:hover .green {display:none;}
.product_info .links .pdf_link:hover .white {
	display:block;
}
.product_info .links #vopros_proekt:hover .green {display:none;}
.product_info .links #vopros_proekt:hover .white {
	display:block;
}
.product_info .data .links {
    display: flex;

    margin-top: 35px;
    margin-bottom: -15px;
    margin-left: -15px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .data .links > * {
    margin-bottom: 15px;
    margin-left: 15px;
}

.product_info .data .links a {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    line-height: 36px;

    display: flex;

    height: 40px;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #b2dfc9;
    border-radius: 30px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: auto;
}

.product_info .data .links .mini_modal {
    overflow: auto;
    max-height: 350px;

    min-width: 100%;

    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}

.product_info .data .links .mini_modal a {
    border: none;
    border-radius: 0;
}

.product_info .title {
    color: #007236;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 20px;

    text-transform: uppercase;
}

.product_info .data .links a .icon {
    margin-right: 13px;
}

.product_info .data .links a.pdf_link .icon {
    width: 26px;
    height: 24px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_pdf.png) 0 0 no-repeat;
}

.product_info .data .links a.model3d_link .icon {
    width: 31px;
    height: 27px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_model3d_link.png) 0 0 no-repeat;
}

.product_info .data .links a.buy_link .icon {
    width: 27px;
    height: 25px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_buy_link.png) 0 0 no-repeat;
}

.product_info .data .links a:hover,
.product_info .data .links a.active,
.product_info .data .links a.buy_link {
    color: #fff;

    border-color: #28b954;
    background: #28b954;
}

.product_info .data .links a:hover .icon,
.product_info .data .links a.active .icon {
    background-position: 0 100%;
}


/*.product_info .links .mini_modal {
    overflow: hidden;

    min-width: 100%;

    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}

.product_info .links .mini_modal a {
    border: none;
    border-radius: 0;
}*/


.product_info .data {
    width: calc(100% - 360px);
}

.product_info .data .title {
    color: #00964c;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.product_info .data .product_name {
    font-size: 20px;
    font-weight: 600;
    line-height: 36px;
    margin-bottom: 20px;
}


.product_info .data .available {
    font-size: 12px;
    font-weight: 700;
	max-width:200px;
    /*margin-bottom: 25px;*/
    margin-top: 5px;

    text-transform: uppercase;
}

.product_info .data .available span {
    color: #00964c;
}


.product_info .data .buy_block {
    display: flex;

    margin-bottom: 30px;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .data .buy_block .col_left {
    display: flex;

    width: calc(100% - 259px);
    padding: 20px;

    border: 1px solid #e7e7e7;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .data .buy_block .col_right {
    width: 239px;
    max-width: 100%;
}

.product_info .data .buy_block .name {
    color: #00964c;
    font-size: 10px;
    font-weight: 700;

    margin-bottom: 12px;

    text-transform: uppercase;
}

/*.product_info .data .buy_block .dostavka_icon {
    display: flex;
    padding: 20px 20px 5px 20px;
    width: calc(100% - 259px);
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-direction: row;
}

.product_info .data .buy_block .dostavka_icon img {
    padding-right: 13px;
    padding-left: 13px;
}

.product_info .data .buy_block .dostavka_icon p {
    color: #5e5e5e;
    font-size: 13px;
}

.product_info .data .buy_block .dostavka_icon p span {
    font-weight: bold;
}

@media (max-width: 767px) {
    .product_info .data .buy_block .dostavka_icon {
        margin-top: 20px;
        width: 100%;
        justify-content: center;
    }

    .product_info .data .buy_block .dostavka_icon p {
        color: #5e5e5e;
        font-size: 15px;
    }
}*/

/***Áëîê ñ èíôîðìàöèåé îá îïëàòå è äîñòàâêå***/

.product_info .doinfo {
    /*border: 1px solid #e5e5e5;*/
    margin-top: 20px;
    /*border-radius: 10px;*/
}

.product_info .doinfo h4 {
    text-align: center;
    padding-bottom: 5px;
}

.product_info .doinfo .dostavka_icon {
    display: flex;
    flex-direction: row;
    padding: 10px 0 10px 0;
    justify-content: space-around;
    /*background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/ôîí.png);
    background-size: cover;*/
    border-bottom: 1px solid #e5e5e5;
}

.product_info .doinfo .dostavka_icon img {
    /*padding-right: 15px;
    padding-left: 15px;*/
    padding: 3px 15px;
}

.product_info .doinfo .dostavka_icon p {
    color: #5e5e5e;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
    padding-top: 3px;
}

.product_info .doinfo .dostavka_icon p span {
    font-weight: 800;
}

.product_info .doinfo .dinfo {
    display: flex;
    color: #5e5e5e;
    font-size: 13px;
}

.product_info .doinfo .dinfo ul {
    padding-left: 25px;
    padding-top: 5px;
    padding-bottom: 10px;
    text-align: justify;
}

.product_info .doinfo .dinfo ul li {
    font-size: 11.5px;
}

.product_info .doinfo .oinfo {
    display: flex;
    color: #5e5e5e;
    font-size: 13px;
    flex-direction: column;
}

.product_info .doinfo .oinfo ul {
    padding-left: 20px;
    padding-top: 5px;
    padding-bottom: 10px;
    text-align: justify;
}

.product_info .doinfo .oinfo ul li {
    font-size: 11.5px;
}

.product_info .doinfo .oinfo .dostavka_icon {
    display: flex;
    flex-direction: row;
    /*padding: 10px 0 10px 0;*/
    justify-content: flex-start;
    /*background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/ôîí.png);
    background-size: cover;*/
}

.product_info .doinfo .oinfo .dostavka_icon img {
    padding-right: 15px;
}

.product_info .doinfo .oinfo .dostavka_icon p {
    color: #5e5e5e;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 30px;
}

@media (max-width: 1279px) {
    .product_info .doinfo {
        display: none;
    }
}

/***Âòîðàÿ ÷àñòü***/

/***Áëîê ñ èíôîðìàöèåé îá îïëàòå è äîñòàâêå***/

.product_info .box_dostavka2 {
    /*border: 1px solid #e5e5e5;*/
    padding: 10px;
    margin-top: 40px;
    /*border-radius: 10px;*/
}

.product_info .box_dostavka2 h4 {
    text-align: center;
    padding-bottom: 5px;
}

.product_info .box_dostavka2 .dostavka_icon {
    display: flex;
    flex-direction: row;
    padding: 10px 0 10px 0;
    justify-content: space-around;
    /*background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/ôîí.png);
    background-size: cover;*/
    border-bottom: 1px solid #e5e5e5;
}

.product_info .box_dostavka2 .dostavka_icon img {
    /*padding-right: 15px;
    padding-left: 15px;*/
    padding: 3px 15px;
}

.product_info .box_dostavka2 .dostavka_icon p {
    color: #5e5e5e;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
    padding-top: 3px;
}

.product_info .box_dostavka2 .dostavka_icon p span {
    font-weight: 800;
}

.product_info .box_dostavka2 .dinfo {
    display: flex;
    color: #5e5e5e;
    font-size: 13px;
}

.product_info .box_dostavka2 .dinfo ul {
    padding-left: 25px;
    padding-top: 5px;
    padding-bottom: 10px;
    text-align: justify;
}

.product_info .box_dostavka2 .dinfo ul li {
    font-size: 11.5px;
}

.product_info .box_dostavka2 .oinfo {
    display: flex;
    color: #5e5e5e;
    font-size: 13px;
    flex-direction: column;
}

.product_info .box_dostavka2 .oinfo ul {
    padding-left: 20px;
    padding-top: 5px;
    padding-bottom: 10px;
    text-align: justify;
}

.product_info .box_dostavka2 .oinfo ul li {
    font-size: 11.5px;
}

.product_info .box_dostavka2 .oinfo .dostavka_icon {
    display: flex;
    flex-direction: row;
    /*padding: 10px 0 10px 0;*/
    justify-content: space-around;
    /*background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/ôîí.png);
    background-size: cover;*/
}

.product_info .box_dostavka2 .oinfo .dostavka_icon img {
    padding-right: 15px;
}

.product_info .box_dostavka2 .oinfo .dostavka_icon p {
    color: #5e5e5e;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 30px;
}

@media (max-width: 1279px) {
    .product_info .box_dostavka2 {
        display: block !important;
    }
}

/***End***/

.product_info .data .price .val {
    color: #0b1110;
    font-size: 24px;
    font-weight: 700;

    white-space: nowrap;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.product_info .data .price .old {
    color: #646363;
    font-size: 12px;
    font-weight: 600;

    text-decoration: line-through;
    letter-spacing: 0;
}


.product_info .data .amount .val {
    position: relative;

    display: flex;

    padding-right: 25px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .data .amount .input {
    color: #000;
    font-family: var(--font_family);
    font-size: 20px;
    font-weight: 600;

    display: block;

    width: 40px;
    height: 42px;

    text-align: center;

    border: 1px solid #d1d1d1;
    border-radius: 5px;
    background: none;
}

.product_info .data .amount a {
    position: absolute;
    top: 0;
    right: -12px;

    display: block;

    width: 25px;
    height: 21px;
}

.product_info .data .amount a.plus:after {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 10px;
    height: 10px;
    margin-top: -2px;
    margin-left: -5px;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid #00964c;
    border-right: 2px solid #00964c;
}

.product_info .data .amount a.minus {
    top: auto;
    bottom: 0;
}

.product_info .data .amount a.minus:after {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 10px;
    height: 10px;
    margin-top: -8px;
    margin-left: -5px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}


.product_info .data .buy_link {
    color: #666;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;

    display: flex;

    width: 100%;
    height: 42px;

    transition: .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 20px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.product_info .data .buy_link .icon {
    display: block;

    width: 40px;
    height: 24px;
    margin-right: 12px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_buy_link.svg) 0 0 no-repeat;
}

.product_info .data .buy_link:hover {
    color: #fff;

    background: #00964c;
}

.product_info .data .buy_link:hover .icon {
    background: url(/local/templates/pneumax-shop/css/../images/ic_buy_link_white.svg) 0 0 no-repeat;
}


.product_info .data .quike_buy_link,
.product_info .data .parent_breadcrumbs_link {
    color: #666;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;

    display: block;

    width: 100%;
    height: 42px;
    margin-top: 15px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #4191cf;
    border-radius: 20px;
}

.product_info .data .quike_buy_link:hover,
.product_info .data .parent_breadcrumbs_link:hover {
    color: #fff;
    background: #4191cf;
}


.product_info .data .tech_site_link {
    color: #666;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;

    display: flex;

    width: 100%;
    height: 42px;
    margin-top: 15px;

    transition: .2s linear;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #cfebdd;
    border-radius: 20px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.product_info .data .tech_site_link .icon {
    display: block;

    width: 21px;
    height: 21px;
    margin-right: 10px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_tech_site_link.svg) 0 0 no-repeat;
}

.product_info .data .tech_site_link:hover {
    color: #fff;

    border-color: #00964c;
    background: #00964c;
}

.product_info .data .tech_site_link:hover .icon {
    background: url(/local/templates/pneumax-shop/css/../images/ic_tech_site_link_white.svg) 0 0 no-repeat;
}


.product_info .data .features .title {
    margin-bottom: 25px;
}

.product_info .data .features .item {
	 margin-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.product_info .data .features .item + .item:last-child {
    border-top: none;
}

.product_info .data .features .name {
    font-weight: 700;

    width: 230px;
    max-width: 100%;
    padding-right: 15px;

    text-transform: uppercase;
}

.product_info .data .features .val {
    width: calc(100% - 230px);
}


.product_desc .title {
    color: #00964c;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.region_info > * + * {
    margin-top: 40px;
}


.region_info .city {
    font-size: 28px;
    font-weight: 600;
    line-height: 32px;
}

.region_info .contacts {
    font-size: 16px;
    font-weight: 600;
    line-height: 18px;
}

.region_info .contacts > * {
    padding-left: 25px;
}

.region_info .contacts > * + * {
    margin-top: 25px;
}


.region_info .contacts .adres {
    background: url(/local/templates/pneumax-shop/css/../images/ic_adres.svg) 0 0/12px 16px no-repeat;
}


.region_info .contacts .phones {
    background: url(/local/templates/pneumax-shop/css/../images/ic_phone.svg) 0 0/14px 14px no-repeat;
}

.region_info .contacts .phones > * + * {
    margin-top: 10px;
}

.region_info .contacts .phones a {
    color: #000;

    display: inline-block;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}


.region_info .contacts .email {
    background: url(/local/templates/pneumax-shop/css/../images/ic_email.svg) 0 3px/16px 11px no-repeat;
}

.region_info .contacts .email a {
    color: #00964c;

    display: inline-block;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}

.region_info .contacts .email a:hover {
    text-decoration: underline;
}


.region_info .personal {
    display: flex;

    margin-bottom: -40px;
    margin-left: -40px;

    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}


.region_info .personal .item {
    display: flex;

    width: calc(50% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.region_info .personal .foto {
    overflow: hidden;

    width: 130px;
    height: 130px;

    border: 1px solid #e0e0e0;
    background: #ddd;
}

.region_info .personal .foto img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.region_info .personal .info {
    display: flex;

    width: calc(100% - 155px);

    align-self: center;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.region_info .personal .name {
    font-size: 19px;
    font-weight: 600;
    line-height: 23px;

    width: 100%;
}

.region_info .personal .post {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    width: 100%;
    margin-top: 13px;
}

.region_info .personal .phones {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    margin-top: 10px;
    padding-left: 25px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_phone.svg) 0 50%/14px 14px no-repeat;
}

.region_info .personal .phones > * + * {
    margin-top: 6px;
}

.region_info .personal .phones a {
    color: #000;

    display: inline-block;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}


.region_info .personal .email {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    margin-top: 7px;
    padding-left: 25px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_email.svg) 0 4px/16px 11px no-repeat;
}

.region_info .personal .email a {
    color: #00964c;

    display: inline-block;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}

.region_info .personal .email a:hover {
    text-decoration: underline;
}


.projects .project {
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: flex;

    margin: 20px 0;
    padding: 20px;

    border: 1px solid #e0e0e0;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.projects .project .thumb {
    display: block;
    overflow: hidden;

    width: 100px;
    height: 90px;

    border: 1px solid #e0e0e0;
    background: #ddd;
}


.projects .project .thumb img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.projects .project .info {
    display: flex;

    width: calc(100% - 120px);

    align-self: center;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.projects .project .name {
    font-size: 16px;
    font-weight: 700;

    margin-bottom: 6px;

    text-transform: uppercase;
}

.projects .project .name a {
    color: #00964c;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
}

.projects .project .name a:hover {
    text-decoration: none;
}


.clients .list {
    margin-top: -20px;
}

.clients .list .item {
    display: flex;

    height: auto;
    padding: 25px 0;

    border-bottom: 1px solid #d1d1d1;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.clients .list .logo {
    width: 250px;
    max-width: 100%;
}

.clients .list .logo img {
    display: block;

    max-width: 100%;
    margin: 0 auto;
}

.clients .list .desc {
    font-weight: 500;
    line-height: 21px;

    width: calc(100% - 300px);
}


.how_to_get .map_wrap {
    position: relative;

    overflow: hidden;

    margin-top: -34px;
    padding-bottom: 33.333%;

    border-top: 4px solid #00964c;
    background: #ddd;
}

.how_to_get .map_wrap .map {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}


.vacancies .item {
    display: flex;

    padding: 35px 45px 35px 35px;

    border: 1px solid #e0e0e0;
    border-top: 4px solid #00964c;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.vacancies .item + .item {
    margin-top: 30px;
}

.vacancies .item .info {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    /*width: calc(100% - 285px);*/
}

.vacancies .item .name {
    font-size: 22px;
    line-height: 26px;

    margin-bottom: 10px;
}

.vacancies .item .link {
    color: #fff;
    font-family: var(--font_family);
    font-size: 14px;
    font-weight: 600;
    line-height: 40px;

    display: inline-block;

    width: 205px;
    max-width: 100%;
    height: 40px;

    cursor: pointer;
    vertical-align: top;
    text-transform: uppercase;

    border: none;
    border-radius: 20px;
    background: #00964c;

    align-self: center;
}


.reviews .slider {
    padding: 0 40px;
}


.reviews .review {
    display: flex;

    height: 250px;
    padding: 20px;

    transition: border-color .2s linear;

    border: 1px solid #e0e0e0;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.reviews .review img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.reviews .review:hover {
    border-color: #00964c;
}


.reviews .owl-carousel .owl-nav button {
    top: 50%;
    bottom: auto;

    margin-top: -33px;
}

.reviews .owl-carousel .owl-nav button.owl-prev {
    left: -15px;
}

.reviews .owl-carousel .owl-nav button.owl-next {
    right: -15px;
}

.faq {
    margin-bottom: 50px;
}

.subscribe {
    margin-top: 50px;
    padding: 15px 0;

    border-bottom: 1px solid #f9fbfc;
    background: #e3eaee;
}

.subscribe .cont {
    display: flex;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.subscribe .head {
    color: #656464;
    font-weight: 600;

    position: relative;

    display: flex;

    min-height: 51px;
    margin-right: 25px;
    padding-left: 68px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.subscribe .head .title {
    color: #000;
    font-size: 20px;

    text-transform: uppercase;
}

.subscribe .head:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 51px;
    height: 51px;

    content: '';

    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    background: url(/local/templates/pneumax-shop/css/../images/ic_subscribe.png) 50% no-repeat;
}


.subscribe #form-subscribe {
    display: flex;

    width: 432px;
    max-width: 100%;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.subscribe #form-subscribe ::-webkit-input-placeholder {
    color: #646363;
}

.subscribe #form-subscribe :-moz-placeholder {
    color: #646363;
}

.subscribe #form-subscribe :-ms-input-placeholder {
    color: #646363;
}

.subscribe .input {
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: var(--font_size);
    font-weight: 500;

    display: block;

    width: calc(100% - 134px);
    height: 45px;
    padding: 0 34px;

    border: none;
    border-radius: 30px 0 0 30px;
    background: #fff;
}

.subscribe .submit_btn {
    color: #fff;
    font-family: var(--font_family);
    font-size: var(--font_size);
    font-weight: 600;

    position: relative;

    width: 134px;
    max-width: 100%;
    height: 45px;

    cursor: pointer;

    border: none;
    border-radius: 0 30px 30px 0;
    background: #28b954;
}


.more {
    margin-top: 40px;
    margin-bottom: 20px;
    text-align: center;
    height: 40px;
}

.more a {
    color: #000;
    font-size: 13px;
    font-weight: 500;
    line-height: 46px;

    display: inline-block;

    width: 410px;
    max-width: 100%;
    height: 50px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 25px;
}

.more a:hover {
    color: #fff;

    background: #00964c;
}


/*---------------
   Footer
---------------*/
footer {
    flex: 0 0 auto;
}


footer .info {
    padding: 40px 0;

    background: #575757;
}


footer .col_left {
    width: 285px;
    max-width: 100%;
}

footer .col_right {
    width: calc(100% - 350px);
    margin-left: auto;
}

footer .col_right .columns {
    column-gap: 30px;
    column-count: 3;
    position:relative;
}

footer .col_right .columns .footer__text-error button {
    padding: 2px;
    font-size: 12px;
}

footer .col_right .columns > * {
    --webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

footer .col_right .columns > * + * {
    margin-top: 20px;
}


footer .logo {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}

footer .logo img {
    display: block;

    max-width: 100%;
}

footer .logo .slogan {
    margin-top: 10px;
}


footer .contacts {
    margin-top: 11px;
}

footer .contacts > * + * {
    margin-top: 20px;
}


footer .contacts .phone {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

footer .contacts .phone a {
    color: #fff;

    display: inline-block;

    padding-left: 25px;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;

    background: url(/local/templates/pneumax-shop/css/../images/ic_phone.svg) 0 50% no-repeat;
}


footer .contacts .email {
    color: #fff;
    font-weight: 500;
    line-height: 21px;
}

footer .contacts .email a {
    color: #fff;

    display: inline-block;

    padding-left: 25px;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;

    background: url(/local/templates/pneumax-shop/css/../images/ic_email.svg) 0 50% no-repeat;
}


footer .contacts .adres {
    color: #fff;
    font-weight: 500;
    line-height: 21px;

    padding-left: 25px;

    background: url(/local/templates/pneumax-shop/css/../images/ic_adres.svg) 0 0 no-repeat;
}


footer .socials {
    display: flex;
    margin-top: 25px;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

footer .socials a {
    display: block;

    width: 36px;

    transition: .2s linear;

    opacity: .4;
    border-radius: 50%;
}

footer .socials a + a {
    margin-left: 12px;
}

footer .socials img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

footer .socials a:hover {
    opacity: 1;
}


footer .title {
    color: #fff;
    font-weight: 700;
}

footer .title a {
    color: #fff;

    display: inline-block;
	    font-weight: 400;
    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
}

footer .title a:hover {
    text-decoration: underline;
}


footer .links .items {
    font-size: 14px;
	min-height: 16.67px;
    margin-top: 20px;
}

footer .links .items > * + * {
    margin-top: 20px;
}

footer .links .items a {
    color: #fff;

    display: inline-block;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
}

footer .col_right .columns .links {
	margin-bottom:20px;
}
footer .col_right .columns .footer__text-oferta a {
	color: #fff;
    display: inline-block;
    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
}
footer .links .items a:hover,
footer .col_right .columns .footer__text-oferta a:hover {
    text-decoration: underline;
}


footer .payments img {
    display: block;

    max-width: 100%;
}

footer .payments img.loaded {
    height: auto !important;
}

footer .footer__text-error {
    color: #fff;
    max-width: 290px;
    font-size: 12px;
    line-height: 21px;
}

footer .columns .payments {
	width:70%;
}
footer .bottom {
    color: #fff;
    font-weight: 500;
    line-height: 21px;

    padding: 13px 0;

    background: #444;
}

footer .bottom .cont.flex {
    justify-content: space-between;
    align-items: center;
    align-content: center;
}


footer .creator {
    line-height: 37px;
}

footer .creator a {
    color: #fff;

    display: inline-block;

    padding-right: 47px;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;

    background: url(/local/templates/pneumax-shop/css/../images/creator_logo.png) 100% 50% no-repeat;
}


/*---------------
   PopUp
---------------*/
.modal {
    display: none;
    visibility: visible !important;

    width: 950px;
    max-width: 100%;
    padding: 34px 124px 48px;

    border: 1px solid #cfcfcf;
    border-top: 3px solid #00964c;
    background: #fff;
}

.modal_title {
    font-size: 26px;
    font-weight: 600;
    line-height: 26px;

    margin-bottom: 30px;
    padding-right: 30px;
}

.modal_data {
    position: relative;
}


.modal .success {
    position: absolute;
    z-index: 9;
    top: 0;
    left: 0;

    display: flex;
    visibility: hidden;

    width: 100%;
    height: 100%;
    padding: 20px;

    transition: .3s linear;
    text-align: center;
    pointer-events: none;

    opacity: 0;
    background: #fff;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.modal .success.show {
    position: auto;

    visibility: visible;

    opacity: 1;
}

.modal .success img {
    display: block;

    max-width: 100%;
    margin: 0 0 20px;
}

.modal .success .title {
    width: 100%;
    margin-bottom: 15px;
}

.modal .success .desc {
    font-weight: 500;
    line-height: 21px;

    width: 335px;
    max-width: 100%;
}


.modal .links {
    margin: 30px -30px -30px;
    padding: 30px;

    border: 1px solid #e5e5e5;
}

.modal .links a {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 38px;

    display: block;

    width: 100%;
    height: 42px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 20px;
    background: #00964c;
}


#login_modal,
#recovery_modal {
    width: 350px;
    padding: 30px;

    background: #f7f7f7;
}

#login_modal .form .submit,
#recovery_modal .form .submit {
    padding: 0;
}

#login_modal .form .submit_btn,
#recovery_modal .form .submit_btn {
    line-height: 38px;

    height: 42px;

    background: #fff;
}

#login_modal .form .submit_btn:hover,
#recovery_modal .form .submit_btn:hover {
    background: #00964c;
}

@media (max-width: 767px) {
    .modal-buy-one-click .form .bottom .agree {
        width: 100% !important;
    }
}

@media (max-width: 697px) {
    .modal {
        padding: 34px 25px 48px !important;
    }

    .modal-buy-one-click .form .columns {
        margin-left: 0 !important;
        --columns_offset: 0 !important;
    }

    .modal-buy-one-click .form .columns > * {
        width: 100% !important;
    }
}

/***Êàðòà ïðîåçäà â êîíòàêòàõ***/

.contacts_map .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 40px;

    margin-bottom: 15px;
}

.contacts_map .map_wrap {
    position: relative;

    padding-bottom: 31.5%;

    border-top: 2px solid #00964c;
    background-color: #eee;
}

.contacts_map .map {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}


.contacts_path .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 40px;

    margin-bottom: 15px;
}

.contacts_path .tabs {
    display: flex;

    margin-bottom: 20px;

    align-items: stretch;
    align-content: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.contacts_path .tabs > * + * {
    margin-left: 55px;
}

.contacts_path .tabs a {
    color: #00964c;
    font-size: 20px;
    font-weight: 600;

    position: relative;

    display: flex;

    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;

    border-bottom: 1px dashed #00964c;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.contacts_path .tabs a:after {
    position: absolute;
    z-index: 9;
    bottom: -22px;
    left: 50%;

    display: block;

    width: 25px;
    height: 14px;
    margin-left: -12px;

    content: '';
    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
    background: url(https://www.pneumax.ru/local/templates/pneumax-tech/images/ic_tab_arr.png) 0 0 no-repeat;
}

.contacts_path .tabs a:hover,
.contacts_path .tabs a.active {
    color: var(--text_color);
}

.contacts_path .tabs a.active:after {
    opacity: 1;
}


.contacts_path .tab_content {
    position: relative;

    visibility: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.contacts_path .tab_content.active {
    visibility: visible;

    height: auto;
    padding: 23px;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
    border: 1px solid #ccc;
}

.contacts_path .tab_content .text_block {
    font-size: 13px;
    line-height: 20px;
}

/*** End ***/


.e_catalogs {
    position: relative;
}


.e_catalogs .tabs {
    position: absolute;
    top: -67px;
    right: 0;

    display: flex;
    overflow: hidden;

    width: 445px;
    max-width: 100%;

    border-radius: 25px;
    border: 1px solid #28b954;

    align-items: stretch;
    align-content: stretch;
    flex-wrap: nowrap;
    justify-content: center;
}

.e_catalogs .tabs a {
    color: #000;
    font-size: 11pt;
    letter-spacing: 3px;
    font-weight: 600;
    line-height: 14px;

    position: relative;

    display: flex;

    width: 100%;
    height: 40px;
    padding: 10px 15px;

    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    background: #f2f2f2;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.e_catalogs .tabs a:hover,
.e_catalogs .tabs a.active {
    color: #fff;

    background: #28b954;
}

.e_catalogs .tab_content {
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.e_catalogs .tab_content.active {
    visibility: visible;

    height: auto;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
}


.e_catalogs .flex {
    padding: 0 0 1px 1px;

    --e_catalogs_count: 3;
    align-items: stretch;
    align-content: stretch;
}

.e_catalogs .flex > * {
    width: calc((100% / var(--e_catalogs_count)) + 1px);
    margin-bottom: -1px;
    margin-left: -1px;
}

.e_catalogs .item {
    color: #000;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;

    display: block;

    padding: 37px 37px 27px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 1px solid #d1d1d1;
}

.e_catalogs .item .thumb {
    display: flex;

    height: 263px;
    margin-bottom: 27px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.e_catalogs .item .thumb img {
    display: block;

    max-width: 100%;
    max-height: 100%;

    box-shadow: 0 5px 27px rgba(0, 0, 0, .29);
}

.e_catalogs .item:hover {
    color: #00964c;
}


.articles .flex {
    margin-bottom: calc(var(--articles_offset) * -1);
    margin-left: calc(var(--articles_offset) * -1);

    --articles_count: 5;
    --articles_offset: 20px;
}

.articles .flex > * {
    width: calc((100% / var(--articles_count)) - var(--articles_offset));
    margin-bottom: var(--articles_offset);
    margin-left: var(--articles_offset);
}

.articles .article {
    color: #00964c;
    font-weight: 600;
    line-height: 21px;

    display: block;

    text-decoration: none;
}

.articles .article .date {
    color: #030303;
    font-weight: 700;
    line-height: 25px;

    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;

    padding: 0 10px;

    white-space: normal;

    background: #fff;
}

.articles .article .thumb {
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
    padding-bottom: 53%;
    background-color: #eee;
}


.articles .article .thumb img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.articles .masonry {
    width: calc(100% + 16px);
    margin-right: -16px;
	display: flex;
    flex-wrap: wrap;
    --articles_count: 4;
}

.articles .masonry > * {
    width: calc(25% - 16px);
}


.articles .item {
    color: var(--text_color);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    display: block;

    margin-bottom: 16px;
    padding: 19px;

    transition: .2s linear;
    text-decoration: none;

    border: 1px solid #cfcfcf;
    border-top: 3px solid #00964c;
}

.articles .item > * + * {
    margin-top: 3px;
}

.articles .item .thumb {
    margin-bottom: 10px;
    background-color: #eee;
}
.articles .item .thumb > div > iframe {
    width:100%;
}

.articles .item .thumb img {
    display: block;

    width: 100%;
}

.articles .item .date {
    color: #00964c;
    font-size: 14px;
    line-height: 21px;
}

.articles .item:hover {
    color: #00964c;
}


.article_info .date {
    color: #00964c;
    font-size: 14px;
    font-weight: 700;

    margin-top: -20px;
    margin-bottom: 30px;
}


.projects .flex {
    margin-bottom: calc(var(--projects_offset) * -1);
    margin-left: calc(var(--projects_offset) * -1);

    --projects_count: 3;
    --projects_offset: 20px;
    align-items: stretch;
    align-content: stretch;
}

.projects .flex > * {
    width: calc((100% / var(--projects_count)) - var(--projects_offset));
    margin-bottom: var(--projects_offset);
    margin-left: var(--projects_offset);
}


.projects .item {
    color: var(--text_color);
    font-weight: 700;
    line-height: 21px;

    position: relative;

    display: flex;
    flex-direction: column;

    transition: .2s linear;
    text-decoration: none;

    border-bottom: 3px solid #28b954;
    background: #f5f5f5;
}

.projects .item .thumb {
    position: relative;

    overflow: hidden;

    width: 100%;
    padding-bottom: 75%;

    background-color: #eee;
}

.projects .item .thumb:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: .2s linear;

    opacity: .1;
    background: #000;
}
.main .page_content > .cont > .content_flex.flex > .content .big {
	position: absolute;
    top: 0;
    left: 0;
}
.main .page_content > .cont > .content_flex.flex > .content > .tabs_container > .tab_content .big {
display:none;
}
.projects .item .thumb img {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    transition: .2s linear;

    object-fit: cover;
}

.projects .item .info {
    position: relative;
    z-index: 9;

    display: flex;
    flex-direction: column;

    padding: 20px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    flex: 1 0 auto;
}

.projects .item .info:before {
    position: absolute;
    bottom: 100%;
    left: 50%;

    display: block;

    width: 26px;
    height: 13px;
    margin-left: -13px;

    content: '';
    transition: .2s linear;

    border-right: 13px solid transparent;
    border-bottom: 13px solid #f5f5f5;
    border-left: 13px solid transparent;
}

.projects .item .name {
    width: 100%;

    flex: 1 0 auto;
}

.projects .item .details {
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;

    display: inline-block;

    margin-top: 20px;
    margin-left: auto;

    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;

    border-bottom: 2px solid #28b954;
}


.projects .item:hover {
    color: #fff;

    background: #656464;
}

.projects .item:hover .thumb:after {
    opacity: .6;
}

.projects .item:hover .thumb img {
    transform: scale(1.1);
}

.projects .item:hover .info:before {
    border-bottom-color: #656464;
}

.projects .item:hover .details {
    color: #fff;

    border-color: #fff;
}


.clients {
    margin-bottom: 20px;
}


.clients .slider {
    padding: 0 45px;
}


.clients .flex {
    margin-bottom: calc(var(--clients_offset) * -1);
    margin-left: calc(var(--clients_offset) * -1);

    --clients_count: 5;
    --clients_offset: 20px;
}

.clients .flex > * {
    width: calc((100% / var(--clients_count)) - var(--clients_offset));
    margin-bottom: var(--clients_offset);
    margin-left: var(--clients_offset);
}


.clients .item {
    display: flex;

    height: 64px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.clients .item img {
    display: block;

    max-width: 100%;
    max-height: 100%;

    transition: .3s linear;

    /*opacity: .4;*/
    opacity: 1;

    /*-webkit-filter: grayscale(100%);*/
    /*-moz-filter: grayscale(100%);*/
    /*-ms-filter: grayscale(100%);*/
    /*-o-filter: grayscale(100%);*/
    /*filter: grayscale(100%);*/
}

.clients .item:hover img {
    opacity: 1;

    /*-webkit-filter: grayscale(0%);*/
    /*-moz-filter: grayscale(0%);*/
    /*-ms-filter: grayscale(0%);*/
    /*-o-filter: grayscale(0%);*/
    /*filter: grayscale(0%);*/
}


.pagination {
    margin-top: 30px;
    margin-bottom: 20px;
	line-height: 40px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.pagination.center {
    justify-content: center;
}

.pagination.alignright {
    justify-content: flex-end;
}

.pagination a,
.pagination .sep {
    color: var(--text_color);
    font-weight: 700;
    line-height: 40px;

    display: inline-block;

    width: 40px;
    height: 40px;
    margin: 0 2px;

    transition: color .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
}

.pagination a:hover,
.pagination a.active {
    color: #00964c;
}


.pagination .prev,
.pagination .next {
    position: relative;

    transition: .2s linear;

    border: 2px solid rgba(0, 150, .76, .3);
    border-radius: 50%;
}

.pagination .prev {
    margin-right: 15px;
}

.pagination .next {
    margin-left: 15px;
}

.pagination .prev:after,
.pagination .next:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 4px;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid var(--text_color);
    border-left: 2px solid var(--text_color);
}

.pagination .next {
    transform: rotate(-180deg);
}

.pagination .prev:hover,
.pagination .next:hover {
    border-color: #00964c;
}


.projects_wall .flex {
    margin-bottom: calc(var(--projects_wall_offset) * -1);
    margin-left: calc(var(--projects_wall_offset) * -1);
    padding-bottom: 16px;

    --projects_wall_count: 3;
    --projects_wall_offset: 7px;
    align-items: stretch;
    align-content: stretch;
}

.projects_wall .flex > * {
    width: calc((100% / var(--projects_wall_count)) - var(--projects_wall_offset));
    margin-bottom: var(--projects_wall_offset);
    margin-left: var(--projects_wall_offset);
}

.projects_wall .item {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 19px;

    position: relative;

    display: block;
    height: 250px;
    overflow: hidden;

    padding-bottom: 30%;

    text-decoration: none;

    background: #eee;
}

.projects_wall .item:before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: .2s linear;

    background: -moz-linear-gradient(top, #000000 0%, rgba(0, 0, 0, .10) 10%);
    background: -webkit-linear-gradient(top, #000000 0%, rgba(0, 0, 0, .10) 40%);
    background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, .10) 20%);
}

.projects_wall .item:after {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .3;
    background: #00000037;
}

.projects_wall .item img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    transition: .2s linear;

    /*object-fit: cover;*/
    object-fit: none;
}

.projects_wall .item .name {
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 5px 10px;
    background: #5e5e5ec8;
}

.projects_wall .item:hover:before {
    opacity: 0;
}

.projects_wall .item:hover img {
    transform: scale(0.98);
}

.projects_wall .item:hover {
    font-weight: 550;
    font-size: 14px;
}

aside .mob_links_link,
aside .mob_filter_link,
aside .mob_cats_link {
    color: #000;
    font-weight: 600;
    line-height: 36px;

    display: none;

    height: 40px;
    padding: 0 40px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
}

aside .filter .reset_btn {
    color: var(--text_color);
    font: 700 var(--font_size) var(--font_family);
    display: inline-block;
    width: 100%;
    height: 44px;
    margin-top: 25px;
    padding: 0 20px;
    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;
    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}


aside .filter input[type=checkbox],
aside .filter input[type=radio] {
    display: none;
}

aside .filter input[type=checkbox] + label {
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: table-cell;
    height: 23px;
    padding-left: 36px;
    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

aside .filter input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 23px;
    height: 23px;
    content: '';
    transition: .2s linear;

    border-radius: 3px;
    background: #ededed;
}

aside .filter input[type=checkbox] + label:after {
    position: absolute;
    top: 7px;
    left: 6px;

    display: block;

    width: 12px;
    height: 6px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
}

aside .filter input[type=checkbox]:checked + label:before {
    background: #00964c;
}

aside .filter input[type=checkbox]:checked + label:after {
    opacity: 1;
}

aside .filter.projects {
    padding: 25px 18px;
    border: 1px solid #e7e7e7;
    border-top: 3px solid #00964c;
    background: none;
    margin-top: 0;
}

aside .filter.projects .title {
    color: #999;
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
    margin-bottom: 20px;
    text-align: center;
    text-transform: uppercase;
    border: 0;
}

.page_title {
    margin-bottom: 30px;
}

.link_nav {
    font-size: 18px;
    font-weight: 600;
    position: relative;
    display: inline-block;
    padding-left: 25px;
    vertical-align: top;
}

.link_nav:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    content: '';
    transform: rotate(-45deg);
    border-top: 2px solid;
    border-left: 2px solid;
}

.new-search__container {
	display:flex;
}

.parent-category__img {
	width: 40px;
}

/*////*/
.form-tech {
    --form_border_color: #f2f2f2;
    --form_border_radius: 10px;
    --form_bg_color: #f2f2f2;
}


.form-tech ::-webkit-input-placeholder {
    color: var(--form_placeholder_color);
}

.form-tech :-moz-placeholder {
    color: var(--form_placeholder_color);
}

.form-tech :-ms-input-placeholder {
    color: var(--form_placeholder_color);
}


.form-tech .columns {
    margin-left: -30px;

    --columns_offset: 30px;
}

.form-tech .columns > * {
    width: calc(50% - var(--columns_offset));
    margin-left: var(--columns_offset);
}


.form-tech .line {
    margin-bottom: 30px;
}

.form-tech .field {
    position: relative;
}


.form-tech .input {
    color: var(--text_color);
    font: 500 var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 50px;
    padding: 0 27px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech textarea {
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 80px;
    padding: 15px 27px;

    resize: none;
    transition: .2s linear;
    /*text-transform: uppercase;*/

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech textarea:focus {
    text-transform: none;
}

.form-tech .input:focus,
.form-tech textarea:focus,
.form-tech .nice-select.open .current {
    border-color: var(--form_focus_color);
}

.form-tech .success,
.form-tech .success + .nice-select .current {
    border-color: var(--form_success_color);
}

.form-tech .error,
.form-tech .error + .nice-select .current {
    border-color: var(--form_error_color);
}


.form-tech .input:disabled,
.form-tech textarea:disabled,
.form-tech select:disabled + .nice-select,
.form-tech input[type=checkbox]:disabled + label {
    cursor: default;
    pointer-events: none;

    opacity: .5;
}


.form-tech .error_text {
    color: var(--form_error_color);
    font-size: 14px;
    line-height: 20px;

    margin-top: 5px;
}


.form-tech input[type=checkbox],
.form-tech input[type=radio],
.form-tech input[type=file] {
    display: none;
}

.form-tech input[type=checkbox] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;

    position: relative;

    display: table-cell;

    height: 21px;
    padding-left: 38px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form-tech input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 21px;
    height: 21px;

    content: '';
    transition: .2s linear;

    border-radius: 3px;
    background: #f2f2f2;
}

.form-tech input[type=checkbox] + label:after {
    position: absolute;
    top: 6px;
    left: 6px;

    display: block;

    width: 12px;
    height: 6px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}

.form-tech input[type=checkbox]:checked + label:after {
    opacity: 1;
}

.form-tech .social .field {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form-tech .social .input {
    width: calc(100% - 74px);
}

.form-tech .social .add_social {
    display: block;

    width: 50px;
    height: 50px;

    border-radius: 10px;
    background: #00964c url(/local/templates/pneumax-shop/css/../images/ic_add_social.png) 50% 50% no-repeat;
}


.form-tech .file input {
    display: none;
}

.form-tech .file label {
    color: #00964c;

    display: inline-block;

    cursor: pointer;
    transition: border-color .2s linear;
    vertical-align: top;
    letter-spacing: .05em;

    border-bottom: 1px dotted;
}

.form-tech .file label:hover {
    border-color: transparent;
}

.form-tech .exp {
    font-size: 12px;

    margin-bottom: 25px;

    letter-spacing: .05em;
}

.form-tech .exp a {
    color: #00964c;
}

.form-tech .exp a:hover {
    text-decoration: none;
}


.form-tech select {
    display: none;
}

.form-tech .nice-select {
    position: relative;

    display: block;
}

.form-tech .nice-select .current {
    color: var(--form_placeholder_color);
    line-height: 50px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 50px;
    padding: 0 57px 0 27px;

    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech .nice-select .current.selected {
    color: var(--text_color);
}

.form-tech .nice-select.open .current {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-tech .nice-select .current:after {
    position: absolute;
    top: 50%;
    right: 22px;

    display: block;

    width: 12px;
    height: 12px;
    margin-top: -9px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid var(--text_color);
    border-left: 2px solid var(--text_color);
}

.form-tech .nice-select .list {
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;

    transition: .2s linear;

    opacity: 0;
    border: 1px solid var(--form_border_color);
    border-radius: 0 0 var(--form_border_radius) var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech .nice-select.open .list {
    top: calc(100% - 1px);

    visibility: visible;

    opacity: 1;
}

.form-tech .nice-select .list .scrollbar {
    overflow: auto;

    max-height: 240px;
}

.form-tech .nice-select .list .list_item {
    padding: 10px 27px;

    cursor: pointer;
    transition: .2s linear;
    text-transform: uppercase;
}

.form-tech .nice-select .list .list_item:hover {
    background: #47474691;
}

.form-tech .nice-select .list .list_item:empty {
    display: none;
}


.form-tech .bottom {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form-tech .bottom .agree {
    width: calc(100% - 330px);
}

.form-tech .bottom .submit {
    width: 300px;
    max-width: 100%;
}


.form-tech .submit_btn {
    color: var(--text_color);
    font: 700 var(--font_size) var(--font_family);

    display: inline-block;

    width: 100%;
    height: 50px;
    padding: 0 20px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}

.form-tech .submit_btn:hover {
    color: #fff;

    background: #00964c;
}

.agree_check2 {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: table-cell;
    height: 21px;
    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}


.calculation-table {
    min-width: 500px;
    max-width: 600px;
    width: 100%;
}

.calculation-table tr td {
    padding: 10px 10px;
    text-align: center;
}

.calculation-table tr td:first-of-type {
    text-align: left;
    font-size: 15px;
    width: 64%;
}

.table_wrap tr td p {font-size:12px;}
p.final_result {
    font-weight: bold;
    padding: 30px 0 0;
    font-size: 18px;
}

span.final_result {
    font-weight: bold;
    font-size: 16px;
}

.parent-category__title {
	font-family: var(--font_family);
	margin-bottom: 8px;
	padding-left: 8px;
	color:#000;
	font-weight: 700;
    letter-spacing: 1px;
    line-height: 16px;
    margin-top: 15px;
    text-transform: uppercase;
}

.bx_smart_searche {
	padding-top: 0;
}

.bx_smart_searche.line {
	border-top: 1px solid #ebedf8;
}
.close-calc {
    position: absolute;
    right: 7px;
    top: 7px;
    width: 25px;
    height: 25px;
    background: url(/include/calculators/img/icon-close.png) no-repeat;
}

.close-calc:hover {
    background: url(/include/calculators/img/icon-close.png) no-repeat 100% 0;
}

.calc-link-right {
    text-align: right;
    font-size: 16px;
}

.result-table {
    max-width: 800px;
}

.result-table h3 {
    text-align: center;
    margin: 20px 0;
}


.gidoakkum tr td:first-of-type {
    padding-top: 40px;
}

.diff-cil table {
    width: 500px;
}

#tabs div[step]:nth-of-type(n+2) {
    border-top: 2px dashed #ccc;
}

.new-search__link-container {
	display: flex;
    text-decoration: none;
    margin-bottom: 5px;
    padding: 8px;
    width: 100%;
    line-height: 14px;
}
.new-search__link-container:hover {
	background-color: #b2d9f1;
}

.parent-category__text {
	font-weight: 600;
	color:#333;
	padding-left: 8px;
}
.button-calculate {
    color: var(--text_color);
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    display: inline-block;
    width: auto;
    height: 50px;
    padding: 0 20px;
    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;
    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}

.selection {
    position: relative;
}


.selection .tabs {
    position: absolute;
    top: -67px;
    right: 0;

    display: flex;
    overflow: hidden;

    width: 500px;
    max-width: 100%;

    border-radius: 25px;

    align-items: stretch;
    align-content: stretch;
    flex-wrap: nowrap;
    justify-content: center;
}

.selection .tabs a {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    line-height: 14px;

    position: relative;

    display: flex;

    width: 100%;
    height: 40px;
    padding: 10px 15px;

    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    background: #f2f2f2;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.selection .tabs a:hover,
.selection .tabs a.active {
    color: #fff;

    background: #28b954;
}

.parent-category__under-text {
	color: #9b9b9b;
    margin-top: 8px;
    font-size: 13px;
    line-height: 15px;
    text-transform: uppercase;
}
.selection .tab_content {
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

.selection .tab_content.active {
    visibility: visible;

    height: auto;

    transition: opacity .5s linear;
    pointer-events: auto;

    opacity: 1;
}


.about_block {
    display: flex;

    padding: 30px 40px 40px;

    background: #f2f2f2 url(/local/templates/pneumax-shop/css/../images/bg_about_block.png) 100% 100% no-repeat;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.about_block .info {
    font-weight: 500;
    line-height: 21px;

    width: calc(100% - 400px);
}

.about_block .info > * + * {
    margin-top: 20px;
}

.about_block .title {
    color: #00964c;
    font-size: 20px;
    font-weight: 700;
    line-height: 21px;

    text-transform: uppercase;
}

.about_block .link {
    color: #000;
    font-weight: 600;
    line-height: 36px;

    display: inline-block;

    height: 40px;
    padding: 0 40px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
}

.about_block .link:hover {
    color: #fff;

    background: #00964c;
}

.about_block .logo {
    width: 330px;
    max-width: 100%;
}

.about_block .logo img {
    display: block;

    max-width: 100%;
    margin: 0 auto;
}


.advantages-tech .block {
    display: flex;

    margin-top: 50px;
    margin-bottom: 0 !important;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.advantages-tech .info {
    width: calc(100% - 445px);
}

.advantages-tech .item {
    font-weight: 500;
    line-height: 21px;
}

.advantages-tech .item .name {
    color: #008e48;
    font-size: 18px;
    font-weight: 700;
}

.advantages-tech .item .val{margin-top:15px;}
.advantages-tech .img {
    position: relative;
    width: 375px;
    max-width: 100%;
    padding-bottom: 30.5%;
    border-bottom: 3px solid #00964c;
    background: #eee;
}

.advantages-tech .img img {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.certs-tech .slider {
    margin-top: 37px;
}

.certs-tech .owl-stage-outer {
    overflow: visible !important;
}

.certs-tech .owl-item {
    visibility: hidden;

    transition: .2s linear;

    opacity: 0;
}

.certs-tech .owl-item.active {
    visibility: visible;

    opacity: 1;
}

.certs-tech .slide .item {
    display: flex;

    text-decoration: none;

    box-shadow: 0 1px 16px rgba(0, 0, 0, .15);

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.certs-tech .slide .item img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.certs-tech .slide .item img.loaded {
    height: auto !important;
}


.certs-tech .flex {
    margin-bottom: calc(var(--certs_offset) * -1);
    margin-left: calc(var(--certs_offset) * -1);

    --certs_count: 2;
    --certs_offset: 27px;
    align-items: stretch;
    align-content: stretch;
}

.certs-tech .flex > * {
    width: calc((100% / var(--certs_count)) - var(--certs_offset));
    margin-bottom: var(--certs_offset);
    margin-left: var(--certs_offset);
}

.certs-tech .flex .item {
    font-size: 13px;
    line-height: 18px;

    display: flex;

    padding: 27px;

    border: 1px solid #d1d1d1;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.certs-tech .flex .item .thumb {
    width: 159px;
    max-width: 100%;
}

.certs-tech .flex .item .thumb a {
    display: block;
}

.certs-tech .flex .item .thumb img {
    display: block;

    max-width: 100%;
    margin: 0 auto;
}

.certs-tech .flex .item .thumb img.loaded {
    height: auto !important;
}

.certs-tech .flex .item .thumb + .info {
    width: calc(100% - 184px);
}

.certs-tech .flex .item .name {
    color: #3e3e3e;
    font-weight: 700;
    line-height: 20px;

    margin-bottom: 15px;

    text-transform: uppercase;
}

.history .timeline {
    margin-top: 40px;
}

.history .timeline .item {
    position: relative;

    display: flex;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: nowrap;
}

.history .timeline .item + .item {
    margin-top: 55px;
}

.history .timeline .item + .item:after {
    position: absolute;
    z-index: -1;
    bottom: 100%;
    left: 38px;

    display: block;

    width: 2px;
    height: 55px;

    content: '';

    background: #e8e8e8;
}

.history .timeline .item > * + * {
    margin-left: 30px;
}

.history .timeline .item:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 38px;

    display: block;

    width: 2px;
    height: 100%;

    content: '';

    background: #e8e8e8;
}
.ant-carousel h4 {
    font-size: 22px;
    margin-bottom: 10px;
   position: relative;
    right: 54px;
    width: 920px;
}
.ant-carousel .ant-carousel-list {
	margin-top: 10px;
}
.ant-carousel .ant-carousel-element a {
	    color: #000;
    text-decoration: none;
    font-weight: 500;
    text-align: center;
    font-size: 15px;
}
.ant-carousel .ant-carousel-element > a > img {
	width: auto;
}
.ant-carousel hr {
   width: 920px;
    position: relative;
    right: 54px;
}
.history .timeline .item:last-child:before {
    display: none;
}

.history .timeline .year {
    font-size: 18px;
    font-weight: 700;

    display: flex;

    width: 77px;
    min-width: 77px;
    height: 77px;

    text-align: center;

    border: 2px solid #00964c;
    border-radius: 50%;
    background: #fff;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.history .timeline .text_block {
    width: 100%;
}

.history .timeline .text_block.now {
    position: relative;

    width: 475px;
    max-width: 100%;
    padding-bottom: 55px;
}

.history .timeline .text_block.now:before {
    position: absolute;
    z-index: -1;
    top: 44px;
    left: -70px;

    display: block;

    width: calc(100% + 140px);
    height: calc(100% - 44px);

    content: '';

    opacity: .8;
    background: #fff;
}

.history .timeline .text_block.now .bg {
    position: absolute;
    z-index: -2;
    top: 41px;
    left: -437px;

    width: 1280px;
    height: calc(100% - 41px);

    border-top: 3px solid #00964c;
    background-color: #eee;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
}

.history .timeline .title {
    color: #00964c;
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 65px;

    text-transform: uppercase;
}


.history .timeline .img {
    position: relative;

    width: 246px;
    min-width: 246px;
    padding-bottom: 16%;

    border-top: 3px solid #00964c;
    background: #eee;
}

.history .timeline .img img {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.history .timeline .info {
    color: #5a5959;
    font-weight: 700;
    line-height: 21px;

    width: 183px;
    min-width: 183px;
    padding: 30px;

    text-align: center;
    text-transform: uppercase;

    border: 1px solid #e8e8e8;
}

.history .timeline .info > * + * {
    margin-top: 5px;
}

.history .timeline .info .icon {
    display: flex;

    height: 40px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.history .timeline .info .icon img {
    display: block;

    max-width: 100%;
    max-height: 100%;
}

.history .timeline .info .val {
    color: #000;
    font-size: 30px;
    line-height: normal;
}

/***************Ñåðòèôèêàòû********************/
.recommendat {
    padding-top: 20px;
}

.recommendat .flex {
    margin-bottom: calc(var(--certs_offset) * -1);
    margin-left: calc(var(--certs_offset) * -1);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
}

.recommendat .flex .item {
    font-size: 14px;
    line-height: 18px;
    display: flex;
    flex-direction: column;
    flex-shrink: 1;
    padding: 15px;
    margin-right: 20px;
    margin-bottom: 20px;
    border: 1px solid #d1d1d1;
    height: 335px;
}

.recommendat .flex .item .thumb {
    width: 185px;
    max-width: 100%;
    margin-bottom: 5px;
}

.recommendat .flex .item .thumb a {
    display: block;
}

.recommendat .flex .item .thumb img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border: none;
}

.recommendat .flex .item .info .name {
    color: #3e3e3e;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    margin-bottom: 15px;
    padding-top: 5px;
    text-transform: uppercase;
    max-width: 185px;
    border-top: 1px solid #e5e5e5;
}

/***************END ñåðòèôèêàòû************************/

.vacancy {
    display: flex;

    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}

.vacancies .career {
    padding: 40px;

    background: #f2f2f2;
}

.vacancies .career .title {
    font-size: 24px;
    font-weight: 600;

    margin-bottom: 20px;
}


.vacancies .list .title {
    font-size: 24px;
    font-weight: 600;

    margin-bottom: 20px;
}

.vacancies .list .item {
    color: var(--text_color);
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;

    display: flex;

    padding: 25px;

    text-decoration: none;

    border: 1px solid #cfcfcf;
    border-top: 3px solid #00964c;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.vacancies .list .item + .item {
    margin-top: 35px;
}

.vacancies .list .item .name {
    margin-right: 15px;
}

.vacancies .list .item .city {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;

    padding: 0 10px;

    white-space: nowrap;

    border-radius: 10px;
    background: #00964c;
}

.vacancy .info {
    width: 50%;
    padding-right: 40px;
}

.vacancy .info > * + * {
    margin-top: 20px;
}

.vacancy .info .title {
    font-size: 20px;
    font-weight: 600;

    margin-bottom: 20px;

    text-transform: uppercase;
}

.vacancy .info .back {
    font-size: 18px;
    font-weight: 600;

    position: relative;

    display: inline-block;

    padding-left: 25px;

    vertical-align: top;
}

.vacancy .info .back:before {
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin-top: -9px;

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid;
    border-left: 2px solid;
}

.vacancy .form {
    width: 50%;
    margin: -40px 0 -50px;
    padding: 40px 50px;

    background: #e7e7e7;

    --form_border_color: #fff;
    --form_bg_color: #fff;
}

.vacancy .form .form_title {
    font-size: 24px;
    font-weight: 600;

    margin-bottom: 25px;

    text-transform: uppercase;
}


.regions .flex {
    padding-bottom: 1px;
    padding-left: 1px;

    align-items: stretch;
    align-content: stretch;
}

.regions .flex > * {
    width: calc(33.333% + 1px);
    margin-bottom: -1px;
    margin-left: -1px;
}

.regions .item {
    color: var(--text_color);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;

    padding: 25px;

    transition: .2s linear;

    border: 1px solid #e0e0e0;
    text-decoration: none;
}

.regions .item > * + * {
    margin-top: 15px;
}

.regions .item a {
    color: var(--text_color);

    transition: .2s linear;
    text-decoration: none;
}

.regions .item .logo img {
    display: block;

    max-width: 100%;
}

.regions .item .city {
    font-size: 22px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
}

.regions .item .adres,
.regions .item .phone,
.regions .item .site,
.regions .item .email {
    padding-left: 25px;
}

.regions .item .adres {
    background: url(/local/templates/pneumax-shop/css/../images/ic_adres.svg) 2px 1px/12px auto no-repeat;
}

.regions .item .phone {
    background: url(/local/templates/pneumax-shop/css/../images/ic_phone.svg) 1px 2px/13px auto no-repeat;
}

.regions .item .site {
    background: url(/local/templates/pneumax-shop/css/../images/ic_site.svg) 0 4px/14px auto no-repeat;
}

.regions .item .site a {
    color: #00964c;

    word-break: break-all;
}

.regions .item .email {
    background: url(/local/templates/pneumax-shop/css/../images/ic_email.svg) 0 4px/16px auto no-repeat;
}

.regions .item .email a {
    color: #00964c;

    white-space: nowrap;
}


.regions .item:not(.no_hover):hover {
    color: #fff;

    background: #00964c;
}

.regions .item:not(.no_hover):hover a,
.regions .item:not(.no_hover):hover .site a,
.regions .item:not(.no_hover):hover .email a {
    color: #fff;
}
.table_wrap tr td br {display:block!important}

.regions .item:not(.no_hover):hover .adres {
    background: url(/local/templates/pneumax-shop/css/../images/ic_adres_white.svg) 2px 1px/12px auto no-repeat;
}

.regions .item:not(.no_hover):hover .phone {
    background: url(/local/templates/pneumax-shop/css/../images/ic_phone_white.svg) 1px 2px/13px auto no-repeat;
}

.regions .item:not(.no_hover):hover .site {
    background: url(/local/templates/pneumax-shop/css/../images/ic_site_white.svg) 0 4px/14px auto no-repeat;
}

.regions .item:not(.no_hover):hover .email {
    background: url(/local/templates/pneumax-shop/css/../images/ic_email_white.svg) 0 4px/16px auto no-repeat;
}

.show_image_sort {display:none;}
.favor:hover {background: none !important;}
.show_number {color: #4191cf; font-size: 12px; font-weight: 550; text-decoration: none; display: block; width: 285px; margin-left: 460px;}
.contacts_info.sp .download {background: url(https://pneumax.ru/local/templates/pneumax-shop/images/ic_downlo.svg) 0 50% no-repeat;}
.page_content .content_flex .content {min-height: auto!important;}
#bx-soa-order > #bx-soa-total {position: inherit;}
#bx_4145281613_3892 {display:none}
.tabs_container .tab_content .description table tr td:last-child {font-size: 13px;padding: 6px;}
.tabs_container .tab_content .description table tr:first-child td:last-child {font-size: 13px;padding: 10px 13px;}
.text_block .slider_in_text .img img {
object-fit: contain!important;
    background: white!important;
}
.slider_in_text .owl-carousel .owl-nav button.owl-next:after {border-right: 3px solid #000!important;
    border-bottom: 3px solid #000!important;}
.slider_in_text .owl-carousel .owl-nav button.owl-prev:after {border-top: 3px solid #000!important;
    border-left: 3px solid #000!important;}
.text_block .slider_in_text .img {}
/* End */


/* Start:/local/templates/pneumax-shop/css/jquery.messages.min.css?1785752778849*/
.tip-message{width:240px;overflow:hidden;position:fixed;padding:0 0 3px;background:#aaa;top:50%;left:50%;margin-left:-120px;z-index:999999;display:none;text-align:left;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.red-popup-thor{background:#bd1919}.green-popup-thor{background:green}.tip-message .tip-hold{overflow:hidden;height:1%;padding:12px 48px 13px 17px;background:#aaa}.red-popup-thor .tip-hold{background:#bd1919}.green-popup-thor .tip-hold{background:green}.tip-message span{display:block;line-height:14px;color:#fff}.tip-message .btn-close{position:absolute;top:8px;right:8px;width:10px;height:10px;overflow:hidden;text-indent:-99999px;background:url(/local/templates/pneumax-shop/css/../images/btn-tip-close.png) no-repeat}.tip-message p{font-size:11px;margin:1px 0 3px}.tip-message{font-size:12px}.tip-message a{color:#fff;text-decoration:underline}
/* End */


/* Start:/local/templates/pneumax-shop/css/dev.css?178582921011311*/
.main_slider .info { width: 100%;background:none; display: grid; height: 360px}
.main_slider .title {font-size: 22px;max-width:330px}
aside .cats .catalog_link {min-height:40px;    padding: 11px 20px;}
.search .submit_btn {font-size:16px; width:94px;}
.owl-carousel .owl-nav button:after {    width: 18px;    height: 18px;}
.main_slider .title:after {display:block; clear:both; position:absolute}
.text_block, .text_block p, .text_block img, .text_block ul, .text_block ol, .text_block blockquote, .text_block q {font-size: 14px;}
.search .input {height:40px}
.search .field {padding-left:1px; width: calc(100% - 94px);}
.main_slider .link {justify-self:start}
aside .links {border-radius:15px }
aside .links > div:first-child a {border-radius:15px 15px 0 0 }
aside .links > div:last-child a {border-radius:0 0 15px 15px }
aside .items div a.active {color:#28b954}
aside .items div a:hover {color:#28b954}

/* Блок подписки прижимается к подвалу на коротких страницах.
   Причина зазора: .wrap — флекс-колонка с min-height:100%, а .main имеет
   flex:1 0 auto и растягивается на всю оставшуюся высоту. Внутри .main
   раскладка блочная, поэтому свободное место оказывалось ПОД последним
   блоком, то есть между подпиской и подвалом (на /contacts/dealer-network/
   это 205px). Дефект был и на боевом — 187px.
   Делаем .main флекс-колонкой и отдаём свободное место margin-top:auto
   у подписки: пустота уходит выше неё, к контенту.
   Отступ сверху сохраняется — у .page_content уже стоит margin-bottom:50px. */
.wrap > .main {display: flex; flex-direction: column}
.wrap > .main > .subscribe {margin-top: auto}

/* Иконка корзины в мобильной шапке: адаптив хотел сузить отступ, но не смог.
   В response_767.min.css стоит .mob_header .cart_link{margin-left:20px},
   в response_413.min.css — то же с 10px. Обе специфичности (0,2,0), а в
   styles.css:1668 лежит .mob_header .links a + a{margin-left:24px} — (0,2,2),
   и она выигрывает на любой ширине: медиазапрос специфичность не поднимает.
   В итоге все три иконки (сравнение, избранное, корзина) разъезжаются на 24px
   даже на 360px. За экран шапка при этом не вылезает — у .mob_header .cont стоит
   flex-wrap:wrap, лишнее уедет на вторую строку; на устройстве не проверялось.
   Повторяем замысел автора селектором той же формы, но на класс длиннее. */
@media (max-width: 767px) {
    .mob_header .links a + a.cart_link {margin-left: 20px;}
}
@media (max-width: 413px) {
    .mob_header .links a + a.cart_link {margin-left: 10px;}
}

/* Блок преимуществ на главной (index_advantages.php) на телефоне.
   Разметка — пять .item, между ними четыре .sep (вертикальные палочки).

   Правки лежат ЗДЕСЬ, а не в css/response_*.css, потому что сайт отдаёт
   response_*.min.css, и они разошлись с одноимёнными исходниками: правило
   .advantages .sep{display:none} написано в response_1023.css:94, но в .min
   его нет, то есть оно никогда не применялось. dev.css отдаётся как есть
   и подключается после styles.css, поэтому правки отсюда доезжают гарантированно. */
@media (max-width: 767px) {
    /* Палочки-разделители рассчитаны на один ряд из пяти карточек.
       В два ряда они не влезают: 50% + (1px + 32px полей) + 50% больше 100%,
       перенос флекса ломается, карточки встают по одной, а палочки уходят
       в правую колонку вертикальной чертой (bugs/img_18.png). */
    .advantages .sep {display: none;}

    /* Зазор между рядами задаём свойством самого ряда. Прежний способ —
       .advantages .item:nth-child(3), :nth-child(4) в response_767.min.css —
       считает вместе с .item ещё и .sep: карточки это дети 1,3,5,7,9,
       так что (3) попадает во вторую карточку ПЕРВОГО ряда, а (4) — в .sep
       и не срабатывает вовсе. row-gap не зависит ни от порядка элементов,
       ни от их количества. */
    .advantages .flex {row-gap: 15px;}

    /* Гасим тот самый ошибочный отступ у второй карточки первого ряда.
       Специфичность (0,4,0) против (0,3,0) в response_767.min.css нужна
       потому, что файлы адаптива подключаются ПОСЛЕ dev.css и при равной
       специфичности выигрывают они. */
    .advantages .flex .item:nth-child(3) {margin-top: 0;}
}

/* Уведомление о подмене запроса: «мерс» → MERS (SEARCH.md §18) */
.search_substituted {margin: 0 0 20px; padding: 12px 16px; background: #eef1f0; border-left: 3px solid #007a43; font-size: 14px; line-height: 1.5; color: #3e3e3e}
.search_substituted b {font-weight: 600; color: #10231b}
.search_substituted a {color: #007a43; text-decoration: underline}
.search_substituted a:focus-visible {outline: 2px solid #10231b; outline-offset: 2px}

/* Пустая выдача поиска (SEARCH.md §3.1, §5.4) */
.search_empty {padding: 48px 20px 64px}
.search_empty__title {margin: 0 0 12px; font-size: 24px; font-weight: 600; color: #10231b}
.search_empty__lead {margin: 0 0 24px; font-size: 16px; color: #3e3e3e}
.search_empty__hints {margin: 0 0 28px; padding: 0; list-style: none; max-width: 640px}
.search_empty__hints li {position: relative; padding-left: 18px; margin-bottom: 8px; font-size: 14px; line-height: 1.5; color: #5e5e5e}
.search_empty__hints li:before {content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #00964c}
.search_empty__hints b {font-weight: 600; color: #10231b}
.search_empty__similar {margin: 0 0 28px; padding: 20px 24px; max-width: 640px; background: #eef1f0; border-radius: 4px}
.search_empty__similar_title {margin-bottom: 12px; font-size: 14px; font-weight: 600; color: #10231b}
.search_empty__similar_list {margin: 0; padding: 0; list-style: none}
.search_empty__similar_list li {margin-bottom: 8px}
.search_empty__similar_list li:last-child {margin-bottom: 0}
.search_empty__similar_list a {display: block; text-decoration: none}
.search_empty__similar_list b {font-family: 'Courier New', monospace; font-size: 14px; font-weight: 700; color: #007a43}
.search_empty__similar_list span {display: block; font-size: 13px; line-height: 1.4; color: #5e5e5e}
.search_empty__similar_list a:hover b {text-decoration: underline}
.search_empty__similar_list a:focus-visible {outline: 2px solid #10231b; outline-offset: 2px}
.search_empty__actions {display: flex; flex-wrap: wrap; gap: 12px}
.search_empty__link {display: inline-block; padding: 11px 22px; border: 1px solid #007a43; border-radius: 4px; font-size: 14px; font-weight: 600; color: #007a43; text-decoration: none}
.search_empty__link:first-child {background: #007a43; color: #fff}
.search_empty__link:hover {opacity: .85}
.search_empty__link:focus-visible {outline: 2px solid #10231b; outline-offset: 2px}
/*
 * Баннер главной: подложка под текст на телефоне.
 *
 * На десктопе .info шириной 492px занимает свободную левую часть кадра —
 * там текст читается. При max-width:767px правило из response_767.min.css
 * растягивает его на всю ширину и центрирует:
 *     .main_slider .slide .info {width:100%; height:auto; padding:40px 20px 20px; text-align:center}
 * и текст ложится поверх фотографии, где в этом месте техника, а не фон.
 * Заголовок #3e3e3e и подзаголовок #00b600 на пёстром снимке нечитаемы
 * (bugs/img_18.png).
 *
 * Светлая подложка выбрана под цвет текста: он тёмный, значит фон должен
 * быть светлым, иначе пришлось бы менять и цвета — а это уже перерисовка
 * баннера, а не починка читаемости.
 *
 * backdrop-filter поддерживают не все браузеры, поэтому непрозрачность
 * подложки (.88) подобрана так, чтобы текста хватало и без размытия —
 * blur только сглаживает картинку под ним, но не отвечает за контраст.
 *
 * Скругление не задаём: у .slide стоит border-radius:14px и overflow:hidden,
 * подложка обрезается по нему сама.
 */
@media (max-width: 767px) {
    .main_slider .slide .info {
        background: rgba(255, 255, 255, .88);
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
    }
}

/*
 * Логотип в мобильной шапке был сплющен.
 *
 * Правило `.mob_header .logo a, .mob_header .logo img {height:45px}` в
 * styles.css задаёт высоту И ссылке, И самой картинке, а на узких экранах
 * снижает её до 19px (≤479) и 16px (≤413). Ширину при этом не ограничивает
 * ничто, кроме max-width:100% — картинка растягивается на всю ширину
 * контейнера. Lighthouse намерил показ 250x19 при настоящих 480x78:
 * соотношение 13.16 вместо 6.15, логотип раздавлен по вертикали.
 *
 * width:auto заставляет браузер считать ширину от заданной высоты по
 * настоящим пропорциям — при height:19px получится ~117px.
 *
 * Специфичность (0,2,1) совпадает с исходным правилом, но dev.css
 * подключается после styles.css, поэтому побеждает. Медиазапросы на 479
 * и 413 задают только height и с width:auto не конфликтуют.
 */
.mob_header .logo img {width: auto;}

/* End */


/* Start:/local/templates/pneumax-shop/components/bitrix/catalog.compare.list/my_compare/style.css?17857527781265*/
.bx_catalog-compare-list{
    font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;
    font-size:12px;
    z-index:998;
    overflow:hidden;
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
            box-sizing:border-box;
    width:270px;
    max-height:100%;
    padding:10px 8px 0;
    white-space:normal;
    color:#404040;
    border:1px solid #b7b7b7;
    border-radius:3px;
    background:#fff;
    box-shadow:0 2px 5px 0 rgba(0,0,0,.18);
	margin-bottom: 10px;
}
.bx_catalog-compare-list.fix{
	position:fixed;
}
.bx_catalog-compare-list.top{
    top:5px;
}
.bx_catalog-compare-list.right{
    right:5px;
}
.bx_catalog-compare-list.bottom{
    bottom:5px;
}
.bx_catalog-compare-list.left{
    left:5px;
}
.bx_catalog-compare-list .bx_catalog_compare_form {  }
.bx_catalog-compare-list:hover .bx_catalog_compare_form {  }
.bx_catalog-compare-list a{
    font-size:11px;
    color:#327ab7;
}
.bx_catalog-compare-list a:hover{
    text-decoration:none;
}
.bx_catalog_compare_count p{
    margin:0 0 10px 0;
}
.bx_catalog_compare_count p.compare-redirect{
	text-align: center;
	font-weight: bold;
}
.bx_catalog-compare-list .compare-items td{
    font-size:12px;
    font-weight:bold;
    padding-bottom:10px;
	vertical-align: top;
}
/* End */


/* Start:/local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.buyoneclick/style.css?1785765094427*/
.bitrix-captcha {
    cursor: pointer;
}
/* Перенесено из inline <style> в template.php: стили одинаковы для каждого
   вывода формы, в разметке им делать нечего — так они кэшируются браузером */
.bottom #errorSubmitMy {
	width: 100%;
	padding: 10px;
	margin-top: 20px;
	color: #000;
	border: 2px solid red;
	font-weight: 600;
}

/* End */


/* Start:/local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.service/style.css?178575277840*/
.bitrix-captcha {
    cursor: pointer;
}
/* End */


/* Start:/local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.projects/style.css?1785765094667*/
.bitrix-captcha {
    cursor: pointer;
}
.h3_style {
	font-size: 16px;
	font-weight: 700;
}
/* Перенесено из inline <style> в template.php: стили одинаковы для каждого
   вывода формы, в разметке им делать нечего — так они кэшируются браузером */
.bottom #errorSubmitMy2 {
	width: 100%;
	padding: 10px;
	margin-top: 20px;
	color: #000;
	border: 2px solid red;
	font-weight: 600;
}
#myCheckbox:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 21px;
	height: 21px;
	content: '';
	transition: .2s linear;
	border-radius: 3px;
	background: #fff;
}

/* End */


/* Start:/local/templates/pneumax-shop/styles.css?1785752778957*/
.copyright a {
    color: #fff;
}
#contentAI h2 {margin-bottom:20px;}
.cart_info table td.sale {
    font-size: 20px;
    width: 190px;
    table-layout: fixed;
    white-space: nowrap;
    text-transform: uppercase;
}
.tab_content .name {
    text-transform: initial;
}
.custom-block-for-catalog {
    font-weight: 500;
    font-size: 14px;
    line-height: 21px;
}
.custom-block-for-catalog p {
    margin-bottom: 20px;
}
.text_block_main_catalog {
    display:none;
}
.custom-block-for-catalog ul {
    margin-bottom:20px;
}
.custom-block-for-catalog ul li {
    position: relative;
    overflow: hidden;
    display: block;
    padding-left: 20px;
    list-style-type: none;
}
.custom-block-for-catalog ul li + li {
    margin-top: 10px;
}
.custom-block-for-catalog ul li:before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 9px;
    height: 9px;
    content: '';
    border-radius: 50%;
    background: #00964c;
}

/* End */


/* Start:/local/templates/pneumax-shop/template_styles.css?1786372163114706*/
#bx_4145281613_3067 {
    display: none;
}
.agree_check2 {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: table-cell;
    height: 21px;
    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.partners-table img {
    border-top: none;
    max-width: none;
}
.cont.wrap_search{
    position: initial;
}
.partners-table,
.partners-table td,
.partners-table th,
.partners-table tr {
    border: none !important;
}

.regions img {
    display: inline !important;
}

.regions .item .logo {
    text-align: center;
}

.regions .item .city {
    text-align: center;
}

.dealers-list .item {
    border: 0 !important;
}


/*пїЅпїЅпїЅпїЅ 4 пїЅпїЅпїЅпїЅпїЅ*/
aside .cats .sub_cats.level4 {
    background: #eee url(/local/templates/pneumax-shop/images/sh_sub_cats.png) 50% 0 repeat-x;
}

aside .cats .sub_cats.level4 a {
    padding-left: 70px;
    text-transform: none;
}

aside .cats .sub_cats.level4 > * + * {
    border-top: 1px solid #fff;
}

aside.catalog-p:after {
    display: none !important;
}

.close-calc {
    position: absolute;
    right: 7px;
    top: 7px;
    width: 25px;
    height: 25px;
    background: url(/include/calculators/img/icon-close.png) no-repeat;
}


.online-calc {
    margin-top: 10px;
}


.online-calc .calc-icon {
    margin: 0 10px 0 0;
    float: left;
}

.online-calc .calc-link {
    text-decoration: none;
    font-size: 17px;
    line-height: 26px;
}

.title-bold-calc {
    font-size: 15px;
}

.calc-link-list {
    overflow: hidden;
    padding: 0 0 0 25px;
    margin: 0;
    list-style-type: circle;
}

.calc-link-list li {
    margin: 3px 0;
}

.calc-link-list a {
    text-decoration: none;
}

.calc-link-list a:hover {
    text-decoration: underline;
}

#bgshadowdiv {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: #000;
    z-index: 1000;
    opacity: 0.7;
}

#divCalcid {
    visibility: hidden;
    position: absolute;
    left: 30%;
    top: 150px;
    background-color: #fff;
    z-index: 2000;
    padding: 15px 25px;
    border-radius: 4px;
    -webkit-transition: visibility 1s ease-out 0.5s;
    -moz-transition: visibility 1s ease-out 0.5s;
    -o-transition: visibility 1s ease-out 0.5s;
    transition: visibility 1s ease-out 0.5s;
}

#divCalcid h2 {
    margin: 30px 0;
}

#divCalcid b {
    font-size: 1.2em;
}

#tabs {
    max-width: 850px;
    min-width: 500px;
    margin-top: 40px;
}

.three-col-calc td:nth-of-type(2) {
    width: 16%;
}

.three-col-calc td:nth-of-type(3) {
    width: 20%;
}


.calculation-table {
    min-width: 500px;
    max-width: 600px;
    width: 100%;
}

.calculation-table tr td {
    padding: 10px 10px;
    text-align: center;
}

.calculation-table tr td:first-of-type {
    text-align: left;
    font-size: 15px;
    width: 64%;
}

.amount {
    text-align: center;
    /* padding: 3px 0; */
    /* border: 1px solid #ccc; */
    width: 55px;
    /* margin: 5px 0; */
    /* border-radius: 3px; */
    font-size: 12px;
}

p.final_result {
    font-weight: bold;
    padding: 30px 0 0;
    font-size: 18px;
}

span.final_result {
    font-weight: bold;
    font-size: 16px;
}

.close-calc {
    position: absolute;
    right: 7px;
    top: 7px;
    width: 25px;
    height: 25px;
    background: url(/include/calculators/img/icon-close.png) no-repeat;
}

.close-calc:hover {
    background: url(/include/calculators/img/icon-close.png) no-repeat 100% 0;
}

.calc-link-right {
    text-align: right;
    font-size: 16px;
}

.result-table {
    max-width: 800px;
}

.result-table h3 {
    text-align: center;
    margin: 20px 0;
}


.gidoakkum tr td:first-of-type {
    padding-top: 40px;
}

.diff-cil table {
    width: 500px;
}

#tabs div[step]:nth-of-type(n+2) {
    border-top: 2px dashed #ccc;
}

.button-calculate {
    color: var(--text_color);
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    display: inline-block;
    width: auto;
    height: 50px;
    padding: 0 20px;
    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;
    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}

footer .logo img {
    height: 38px;
}

.product_info .data .links .mini_modal a {
    padding: 10px 20px;
    font-size: 11px;
    height: auto;
    line-height: 15px;
}


.form input[type=radio] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: inline-block;
    min-height: 21px;
    padding-left: 38px;
    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form input[type=radio] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 21px;
    height: 21px;
    margin-top: 0;
    content: '';
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.form input[type=radio]:checked + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 21px;
    height: 21px;
    margin-top: 0;
    content: '';
    border-radius: 50%;
    background: #f7f7f7;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.form input[type=radio]:checked + label:before {
    background: #fff;
    box-shadow: inset 0 0 0 6px #00964c;
}

.form .btn {
    color: #000;
    font: 700 13px/24px var(--font_family);
    display: inline-block;
    height: 30px;
    padding: 0 20px;
    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    border: 2px solid #00964c;
    border-radius: 25px;
    background: none;
}

@media (min-width: 768px) {
    .catalog__page .page_title {
        margin-right: 120px;
    }
}

.links a.order_consult_link .icon {
    width: 17px;
    height: 16px;
    background: url(/local/templates/pneumax-shop/images/ic_order_consult_link.png) 0 0 no-repeat;
}

.links a.order_calc_link .icon {
    width: 14px;
    height: 17px;
    background: url(/local/templates/pneumax-shop/images/ic_order_calc_link.png) 0 0 no-repeat;
}

.links a.questionnaire_link .icon {
    width: 17px;
    height: 15px;
    background: url(/local/templates/pneumax-shop/images/ic_questionnaire_link.png) 0 0 no-repeat;
}

a.item-regional {
    text-decoration: none;
}

.text_block table img{
    min-width: 100px;
}

.dataTables_filter {
    margin-bottom: 10px;
}
.dataTables_filter label {
    width: calc(100% - 134px);
}
.dataTables_filter input {
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: var(--font_size);
    font-weight: 500;
    display: inline-block;
    height: 45px;
    padding: 0 34px;
    border: none;
    border-radius: 30px 0 0 30px;
    background: #e3eaee;
}

.dataTables_filter button {
    display: inline-block;
    color: #fff;
    font-family: var(--font_family);
    font-size: var(--font_size);
    font-weight: 600;
    position: relative;
    width: 134px;
    max-width: 100%;
    height: 45px;
    cursor: pointer;
    border: none;
    border-radius: 30px;
    /*border-radius: 0 30px 30px 0;*/
    background: #28b954;
}
@media (max-width: 768px) {
#upbutton {
    bottom: -30px !important;
    left: 20px;
}
.product_info .data .features .item {
    font-size: 15px;
}
.product_info .data .features .name {
    text-transform: none;
}
.text_block {
    line-height: 22px;
    font-size: 16px;
}
}


/******Р¤СѓС‚РµСЂ РґРѕРї.РјРµРЅСЋ**************************/
.about_tovar {
    display: flex;
    margin-top: -13px;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.about_tovar .punkt {
    position: relative;
    margin-right: 25px;
}

.about_tovar .punkt a {
    color: #fff;
    font-weight: 500;
    line-height: normal;
    position: relative;
    display: flex;
    height: 46px;
    transition: .2s linear;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

.about_tovar .punkt a:hover {
    color: #00964c;
    font-weight: 500;
}
/***********END С„СѓС‚РµСЂ РґРѕРї.РјРµРЅСЋ*****************/

/****РљРѕРЅС‚Р°РєС‚С‹: РіРѕР»РѕРІРЅРѕР№ РѕС„РёСЃ****/
.golovnoi {
    display: flex;
    column-count: 2;
}

.golovnoi .flex .item {
    color: var(--text_color);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    padding: 25px;
    margin-bottom: 15px;
    margin-right: 15px;
    transition: .2s linear;
    display: flex;
    border: 1px solid #e5e5e5;
}

.golovnoi .flex .item a {
    color: var(--text_color);
    transition: .2s linear;
    text-decoration: none;
}

.golovnoi .flex .item .logo img {
    width: 150px;
}

.golovnoi .flex .item .info_personal {
    width: 240px;
}

.golovnoi .flex .item .info_personal .name {
    font-size: 20px;
    font-weight: 600;
    line-height: 21px;
    padding-bottom: 5px;
    margin-bottom: 15px;
    padding-top: 20px;
}

.golovnoi .flex .item .info_personal .post {
    color: #00964c;
    font-size: 14px;
    line-height: 15px;
    margin-bottom: 10px;
    height: 35px;
}

.golovnoi .flex .item .info_personal .phone {
    background: url(/local/templates/pneumax-tech/images/ic_phone.svg) 1px 2px/13px auto no-repeat;
    margin-bottom: 5px;
}

.golovnoi .flex .item .info_personal .phone div {padding-left: 25px;}

.golovnoi .flex .item .phone_mobile div {padding-left: 25px;}

.golovnoi .flex .item .info_personal .email {
    background: url(/local/templates/pneumax-tech/images/ic_email.svg) 0 4px/16px auto no-repeat;
}

.golovnoi .flex .item .info_personal .email a {
    white-space: nowrap;
    padding-left: 25px;
}

.golovnoi .flex .item .logo {
    text-align: center;
    padding-right: 15px;
}
/****END РљРѕРЅС‚Р°РєС‚С‹: РіРѕР»РѕРІРЅРѕР№ РѕС„РёСЃ****/

/***************РЎРµСЂС‚РёС„РёРєР°С‚С‹********************/
.recommendat {padding-top: 20px;}

.recommendat .flex {
    margin-bottom: calc(var(--certs_offset) * -1);
    margin-left: calc(var(--certs_offset) * -1);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
}

.recommendat .flex .item {
    font-size: 14px;
    line-height: 18px;
    display: flex;
    flex-direction: column;
    flex-shrink: 1;
    padding: 15px;
    margin-right: 20px;
    margin-bottom: 20px;
    border: 1px solid #d1d1d1;
    height: 335px;
}

.recommendat .flex .item .thumb {
    width: 185px;
    max-width: 100%;
    margin-bottom: 5px;
}

.recommendat .flex .item .thumb a {
    display: block;
}

.recommendat .flex .item .thumb img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border: none;
}

.recommendat .flex .item .info .name {
    color: #3e3e3e;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    margin-bottom: 15px;
    padding-top: 5px;
    text-transform: uppercase;
    max-width: 185px;
    border-top: 1px solid #e5e5e5;
}
/***************END СЃРµСЂС‚РёС„РёРєР°С‚С‹************************/
.lk-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.mt30 {
    margin-top: 30px;
}

.personal-user {
    max-width: 500px;
}
.hide{
    display: none!important;
}
.field .clear_btn{
    display: none;
}
.more.search_more{
    /* Было: height от .more = 40px при кнопке в 50px, плюс margin:0 auto,
       который затирал margin-top/bottom из .more. Кнопка выходила из
       контейнера ровно на 10px и наезжала на заголовок «Результаты поиска
       в разделах». Свойства bottom/left не действовали вовсе — элемент
       статический. */
    height: auto;
    margin: 40px auto 32px;
    overflow: visible;
}
#bx-soa-total-mobile {
    display: none;
}
body .products .product .details{
    max-width: 50%;
}
.products .list .product .quike_buy_link{
    padding: 0 20px;
}
div.line.flex.bx-soa-customer-field[data-property-id-row="15"]:after {
    content: "* для ИП поле оставить пустым";
    color: #9c9c9c;
    width: 79%;
    font-style: italic;
    font-size: 13px;
}

.bx-soa-editstep {
    display: inline;
    font-size: 11px;
    vertical-align: middle;
    line-height: 22px;
    border-bottom: 1px dotted;
    text-decoration: none;
    color: #4191cf;
}

.bx-soa-editstep-box {
    position: absolute;
    right: 0;
}

span.bx-authform-starrequired {
    color: #d93333;
}

.bx-sls .dropdown-block {
    /*border: 1px solid #bdbdbd;*/
    /*border-radius: 2px;*/
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 14px;
    /*padding: 0 22px 0 30px;*/
    position: relative;

    color: #0b1110;
    font: var(--font_size) var(--font_family);
    display: block;
    width: 100%;
    height: 42px;
    padding: 0 20px 0 30px;
    transition: .2s linear;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
    background-position: calc(100% - 13px) 50%;
}

#bx-soa-region .bx-sls .bx-ui-sls-clear {
    background: url(/bitrix/panel/main/images/bx-admin-sprite-small.png) 6px -3382px no-repeat scroll;
    height: 38px;
}

#bx-soa-region .bx-sls .dropdown-icon {
    top: 14px;
}

#bx-soa-region .bx-sls .bx-ui-sls-container {
    min-height: 40px;
}

#bx-soa-region .bx-sls .bx-ui-sls-fake,
#bx-soa-region .bx-sls .bx-ui-sls-route {
    height: 40px;
}

.checkout .form .delivery input[type=checkbox]:checked + label {
    border-color: #00964c;
}

.checkout .form .delivery input[type=checkbox]:checked + label:before {
    background: #00964c;
    box-shadow: none;
}

.checkout .form .payment input[type=checkbox]:checked + label {
    border-color: #00964c;
}

.checkout .form .payment input[type=checkbox]:checked + label:before {
    background: #00964c;
    box-shadow: none;
}

.bx-step-completed .bx-soa-section-content {
    margin-top: 10px;
}

.checkout .form .block_title {
    margin-bottom: 0;
}

.checkout .form #bx-soa-basket .block_title,
.checkout .form .bx-selected .block_title {
    margin-bottom: 24px;
}

.checkout .form .block_title .number {
    border: 2px solid #c9c9c9;
    color: #9c9c9c;
}

.checkout .form .bx-soa-section.bx-step-completed .block_title .number {
    border: 2px solid #00964c;
    color: #00964c;
}

.checkout .form .block {
    margin: 0;
    padding: 10px 35px;
    border-top: 1px solid #c9c9c9;
    background: #f7f7f7;
}

.checkout .form .block#bx-soa-basket,
.checkout .form .block.bx-selected {
    margin: 0;
    padding: 25px 35px 30px;
    border-top: 4px solid #00964c;
    border-bottom: 4px solid #00964c;
    background: #f7f7f7;
}

.alert {
    border: none;
    border-radius: 1px;
    font-size: 14px;
    padding: 15px;
    margin-bottom: 20px;
}

.alert-success {
    color: #3C763D;
    background-color: #DFF0D8;
    border-color: #D6E9C6;
}

.alert-warning {
    color: #8A6D3B;
    background-color: #FCF8E3;
    border-color: #FAEBCC;
}

.alert-danger {
    color: #A94442;
    background-color: #F2DEDE;
    border-color: #EBCCD1;
}

.bx-soa-cart-total.bx-soa-cart-total-fixed {
    position: fixed;
    top: 60px;
}

.checkout_total {
    margin-top: 0 !important;
}


.form .textarea {
    color: #0b1110;
    font: var(--font_size) var(--font_family);
    display: block;
    width: 100%;
    /*height: 42px;*/
    padding: 15px 15px 15px 15px;
    transition: .2s linear;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
    background-position: calc(100% - 13px) 50%;
}


.form .textarea:focus {
    border-color: var(--form_focus_color);
}

.form .textarea.success {
    background: var(--form_bg_color) url(/local/templates/pneumax-shop/images/ic_success.svg) calc(100% - 13px) 50% no-repeat;
}

.form .textarea:disabled {
    cursor: default;
    pointer-events: none;
    opacity: .5;
}


.modal-buy-one-click .form {
    --form_border_color: #f2f2f2;
    --form_border_radius: 10px;
    --form_bg_color: #f2f2f2;
}

.modal-buy-one-click .form .line {
    margin-bottom: 30px;
}

.fancybox-container * {
    box-sizing: border-box;
}

.modal-buy-one-click .form .field {
    position: relative;
}

.modal-buy-one-click .form .input {
    color: var(--text_color);
    font: 500 var(--font_size) var(--font_family);
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 27px;
    transition: .2s linear;
    text-transform: uppercase;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.modal-buy-one-click .form .columns {
    margin-left: -30px;
    --columns_offset: 30px;
}

.modal-buy-one-click .form .columns > * {
    width: calc(50% - var(--columns_offset));
    margin-left: var(--columns_offset);
}

.modal-buy-one-click .form .bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.modal-buy-one-click .form .bottom .agree {
    width: calc(100% - 330px);
}

.modal-buy-one-click .form .bottom .submit {
    width: 300px;
    max-width: 100%;
}

.modal-buy-one-click .form input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 21px;
    height: 21px;
    content: '';
    transition: .2s linear;
    border-radius: 3px;
    background: #f2f2f2;
}

.modal .success {
    position: relative !important;
}

.modal-buy-one-click .modal .success img {
    display: block;
    max-width: 100%;
    margin: 0 0 20px;
}

.modal-buy-one-click .modal .success .title {
    width: 100%;
    margin-bottom: 15px;
}

.modal-buy-one-click .modal .success .desc {
    font-weight: 500;
    line-height: 21px;
    width: 335px;
    max-width: 100%;
}

.search-form-page {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.box-input-search {
    width: calc(100% - 330px);
}

.box-input-btn {
    width: 300px;
    max-width: 100%;
}


.contacts_info {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.contacts_info + .contacts_info {
    margin-top: 40px;
    padding-top: 40px;

    border-top: 1px solid #e5e5e5;
}


.contacts_info .title {
    font-size: 28px;
    font-weight: 600;

    width: calc(100% - 200px);
    margin-bottom: 25px;

    align-self: center;
}


.contacts_info .download {
    color: var(--text_color);
    font-weight: 500;
    line-height: 21px;

    display: flex;

    min-height: 27px;
    margin-top: 2px;
    padding-left: 34px;

    text-decoration: none;

    background: url(/local/templates/pneumax-shop/images/ic_download.svg) 0 50% no-repeat;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}


.contacts_info .info {
	margin: auto 0;
    font-weight: 500;
    line-height: 21px;

    width: 310px;
    max-width: 100%;
}
#bx_3218110189_12512 .img {
	height: auto;
}
.contacts_info .info > * + * {
    margin-top: 10px;
}

.contacts_info .info .name {
    font-weight: 700;
}

.contacts_info .info .phone a {
    color: var(--text_color);
    font-size: 14px;

    display: inline-block;

    margin-top: 3px;

    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}

.contacts_info .info .email a {
    color: #00964c;
    font-size: 14px;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
}


.contacts_info .img {
    width: calc(100% - 330px);

    background-color: #eee;
}

.contacts_info .img img {
    display: block;

    width: 100%;
}


.contacts_info .slider .thumb {
    position: relative;

    padding-bottom: 50%;
}

.contacts_info .slider .thumb img {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.line-all-width {
    width: 100%;
}

.banners .banner .info:before {
    display: none !important;
}


.feedback {
    position: relative;

    margin-top: 60px;
    padding: 34px 124px 48px;

    border: 1px solid #cfcfcf;
    border-top: 3px solid #00964c;
}

.feedback .title {
    font-size: 24px;
    font-weight: 600;
    line-height: 26px;

    margin-bottom: 30px;
}


.feedback .success {
    /*position: absolute;*/
    z-index: 9;
    top: 0;
    left: 0;

    display: flex;
    visibility: hidden;

    width: 100%;
    height: 100%;
    padding: 20px;

    transition: .3s linear;
    text-align: center;
    pointer-events: none;

    opacity: 0;
    background: #fff;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.feedback .success.show {
    position: auto;

    visibility: visible;

    opacity: 1;
}

.feedback .success img {
    display: block;

    max-width: 100%;
    margin: 0 0 20px;
}

.feedback .success .title {
    width: 100%;
    margin-bottom: 15px;
}

.feedback .success .desc {
    font-weight: 500;
    line-height: 21px;

    width: 335px;
    max-width: 100%;
}


.feedback .form {
    --form_border_color: #f2f2f2;
    --form_border_radius: 10px;
    --form_bg_color: #f2f2f2;
}


.feedback .form ::-webkit-input-placeholder {
    color: var(--form_placeholder_color);
}

.feedback .form :-moz-placeholder {
    color: var(--form_placeholder_color);
}

.feedback .form :-ms-input-placeholder {
    color: var(--form_placeholder_color);
}


.feedback .form .columns {
    margin-left: -30px;

    --columns_offset: 30px;
}

.feedback .form .columns > * {
    width: calc(50% - var(--columns_offset));
    margin-left: var(--columns_offset);
}

.feedback .form .line {
    margin-bottom: 30px;
}

.feedback .form .field {
    position: relative;
}


.feedback .form .input {
    color: var(--text_color);
    font: 500 var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 50px;
    padding: 0 27px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.feedback .form textarea {
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 80px;
    padding: 15px 27px;

    resize: none;
    transition: .2s linear;
    /*text-transform: uppercase;*/

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.feedback .form textarea:focus {
    text-transform: none;
}

.feedback .form .input:focus,
.feedback .form textarea:focus,
.feedback .form .nice-select.open .current {
    border-color: var(--form_focus_color);
}

.feedback .form .success,
.feedback .form .success + .nice-select .current {
    border-color: var(--form_success_color);
}

.feedback .form .error,
.feedback .form .error + .nice-select .current {
    border-color: var(--form_error_color);
}


.feedback .form .input:disabled,
.feedback .form textarea:disabled,
.feedback .form select:disabled + .nice-select,
.feedback .form input[type=checkbox]:disabled + label {
    cursor: default;
    pointer-events: none;

    opacity: .5;
}


.feedback .form .error_text {
    color: var(--form_error_color);
    font-size: 14px;
    line-height: 20px;

    margin-top: 5px;
}


.feedback .form input[type=checkbox],
.feedback .form input[type=radio],
.feedback .form input[type=file] {
    display: none;
}

.feedback .form input[type=checkbox] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;

    position: relative;

    display: table-cell;

    height: 21px;
    padding-left: 38px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.feedback .form input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 21px;
    height: 21px;

    content: '';
    transition: .2s linear;

    border-radius: 3px;
    background: #f2f2f2;
}

.feedback .form input[type=checkbox] + label:after {
    position: absolute;
    top: 6px;
    left: 6px;

    display: block;

    width: 12px;
    height: 6px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}

.feedback .form input[type=checkbox]:checked + label:after {
    opacity: 1;
}


.feedback .form .social .field {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.feedback .form .social .input {
    width: calc(100% - 74px);
}

.feedback .form .social .add_social {
    display: block;

    width: 50px;
    height: 50px;

    border-radius: 10px;
    background: #00964c url(/local/templates/pneumax-shop/../images/ic_add_social.png) 50% 50% no-repeat;
}


.feedback .form .file input {
    display: none;
}

.feedback .form .file label {
    color: #00964c;

    display: inline-block;

    cursor: pointer;
    transition: border-color .2s linear;
    vertical-align: top;
    letter-spacing: .05em;

    border-bottom: 1px dotted;
}

.feedback .form .file label:hover {
    border-color: transparent;
}


.feedback .form .exp {
    font-size: 12px;

    margin-bottom: 25px;

    letter-spacing: .05em;
}

.feedback .form .exp a {
    color: #00964c;
}

.feedback .form .exp a:hover {
    text-decoration: none;
}


/*.feedback .form select
{
    display: none;
}

.feedback .form .nice-select
{
    position: relative;

    display: block;
}

.feedback .form .nice-select .current*/

.feedback .form select {
    color: var(--form_placeholder_color);
    line-height: 50px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 50px;
    width: 100%;
    padding: 0 57px 0 27px;

    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.feedback .form .field .name_tema {
    display: block;
    position: absolute;
    z-index: 9;
    padding-left: 31px;
    color: var(--form_placeholder_color);
    text-transform: uppercase;
}


/*.feedback .form .nice-select .current.selected
{
    color: var(--text_color);
}

.feedback .form .nice-select.open .current
{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.feedback .form .nice-select .current:after
{
    position: absolute;
    top: 50%;
    right: 22px;

    display: block;

    width: 12px;
    height: 12px;
    margin-top: -9px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid var(--text_color);
    border-left: 2px solid var(--text_color);
}

.feedback .form .nice-select .list
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;

    transition: .2s linear;

    opacity: 0;
    border: 1px solid var(--form_border_color);
    border-radius: 0 0 var(--form_border_radius) var(--form_border_radius);
    background: var(--form_bg_color);
}

.feedback .form .nice-select.open .list
{
    top: calc(100% - 1px);

    visibility: visible;

    opacity: 1;
}

.feedback .form .nice-select .list .scrollbar
{
    overflow: auto;

    max-height: 240px;
}

.feedback .form .nice-select .list .list_item
{
    padding: 10px 27px;

    cursor: pointer;
    transition: .2s linear;
    text-transform: uppercase;
}

.feedback .form .nice-select .list .list_item:empty
{
    display: none;
}*/


.feedback .form .bottom {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.feedback .form .bottom .agree {
    width: calc(100% - 330px);
}

.feedback .form .bottom .submit {
    width: 300px;
    max-width: 100%;
}


.feedback .form .submit_btn {
    color: var(--text_color);
    font: 700 var(--font_size) var(--font_family);

    display: inline-block;

    width: 100%;
    height: 50px;
    padding: 0 20px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}

.feedback .form .submit_btn:hover {
    color: #fff;

    background: #00964c;
}


/*��������� ��������*/

.text_block {
    font-weight: 500;
    line-height: 21px;
}

.text_block > :last-child,
.text_block blockquote > :last-child,
.text_block .cols .col > :last-child {
    margin-bottom: 0 !important;
}

.text_block > :first-child {
    margin-top: 0 !important;
}


.text_block h1 {
    /*
     * Фиксированный размер вместо var(--font_size_title).
     *
     * Правка сделана напрямую на тестовом стенде 04.08.2026 и забрана
     * в репозиторий, чтобы выкладка её не затёрла. Переменная никуда
     * не делась и живёт как жила: 24px в styles.css:136, дальше ступени
     * 22 / 20 / 18 в response_1279, response_1023 и response_413.
     * Здесь она больше не используется, то есть h1 в текстовых блоках
     * перестал уменьшаться на узких экранах и всегда равен 20px.
     *
     * Остальные пять правил, читающих эту переменную (styles.css: 343,
     * 402, 5060, 6684, 6711), не тронуты.
     */
    font-size: 20px;
    font-weight: 600;
    line-height: 34px;

    margin-bottom: 30px;
}

.text_block * + h2,
.text_block * + h3 {
    margin-top: 30px;
}

.text_block .clear + h2,
.text_block .clear + h3 {
    margin-top: 20px;
}


.text_block h2 {
    font-size: 18px;
    font-weight: 600;
    line-height: 30px;

    margin-bottom: 20px;
}

.text_block h1 + h2 {
    margin-top: 0 !important;
}


.text_block h3 {
    font-size: 16px;
    font-weight: 600;
    line-height: 26px;

    margin-bottom: 20px;

    text-transform: uppercase;
}

.text_block h1 + h3,
.text_block h2 + h3 {
    margin-top: 0 !important;
}


.text_block h4 {
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;

    margin-bottom: 20px;

    text-transform: uppercase;
}

.text_block h1 + h4,
.text_block h2 + h4,
.text_block h3 + h4 {
    margin-top: 0 !important;
}


.text_block .cols,
.text_block .slider_in_text,
.text_block .carousel_in_text {
    margin: 30px 0;
}

.text_block h1 + *,
.text_block h2 + *,
.text_block h3 + *,
.text_block h4 + * {
    margin-top: 0 !important;
}


.text_block p,
.text_block img,
.text_block ul,
.text_block ol,
.text_block blockquote,
.text_block q {
    margin-bottom: 21px;
}

.text_block ul {margin-bottom: 0}
.text_block img {
    display: block;

    max-width: 100%;

    /*border-top: 3px solid #00964c;*/
}

.text_block img.left {
    
    margin-right: 40px;
}

.text_block img.right {
    max-width: calc(50% - 40px);
    margin-left: 40px;
}

.text_block img.loaded {
    height: auto !important;
}


.text_block ul li + li,
.text_block ul li ul li {
    margin-top: 10px;
}

.text_block ul li:before {
    position: absolute;
    top: 6px;
    left: 0;

    display: block;

    width: 9px;
    height: 9px;

    content: '';

    border-radius: 50%;
    background: #00964c;
}


.text_block ol {
    counter-reset: li;
}

.text_block ol li {
    position: relative;

    display: block;

    padding-left: 20px;

    list-style-type: none;
}

.text_block ol li + li {
    margin-top: 10px;
}

.text_block ol li:before {
    color: #00964c;
    font-weight: 700;

    position: absolute;
    top: 0;
    left: 0;

    content: counter(li) '.';
    counter-increment: li;
}


.text_block .cols {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.text_block .cols .col {
    width: calc(50% - 30px);
}

.text_block .cols .col.align_self_center {
    align-self: center;
}

.text_block .cols .col img {
    margin: 0 auto;
}


.text_block .cols.stretch {
    align-items: stretch;
    align-content: stretch;
}

.text_block .cols.stretch .col {
    padding-bottom: 20px;

    border-bottom: 3px solid #00964c;
}


.text_block blockquote,
.text_block q {
    display: block;

    width: calc(100% + 40px);
    margin-right: -20px;
    margin-left: -20px;
    padding: 20px 40px;

    background: #fbfbfb;
}


.text_block .table_wrap {
    overflow: auto;

    max-width: 100%;
    margin: 30px 0;
}

.text_block table {
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}

.text_block table th {
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;

    padding: 10px 13px;

    text-align: left;
    vertical-align: middle;

    border: 1px solid #ccc;
    border-top: 3px solid #6ec399;
    background: #fff;
}

.text_block table td {
    font-size: 12px;
    font-weight: normal;
    line-height: 16px;

    padding: 10px 13px;

    text-align: left;
    vertical-align: middle;

    border: 1px solid #ccc;
}

.text_block table td p,
.text_block table td img {
    margin: 0;
	font-size:13px;
}

.text_block table tbody tr:nth-child(2n+1) td {
    background: #f7f7f7;
}


.text_block a {
    color: #00964c;
}

.text_block a:hover {
    text-decoration: none;
}


.text_block .links {
    display: flex;

    margin-top: 30px;
    margin-bottom: -15px;
    margin-left: -15px;

    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.text_block .links > * {
    max-width: calc(100% - 15px);
    margin-bottom: 15px;
    margin-left: 15px;
}

.text_block .links a {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    line-height: 36px;

    display: flex;

    height: 40px;
    padding: 0 20px;

    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #e5e5e5;
    border-radius: 30px;

    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.text_block .links a .icon {
    margin-right: 13px;
}


.text_block .links a:hover,
.text_block .links a.active {
    color: #fff;

    border-color: #28b954;
    background: #28b954;
}

.text_block .links a:hover .icon,
.text_block .links a.active .icon {
    background-position: 0 100%;
}


.text_block .link {
    color: #000;
    font-weight: 600;
    line-height: 36px;

    display: inline-block;

    min-width: 220px;
    max-width: 100%;
    height: 40px;
    padding: 0 40px;

    transition: .2s linear;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
}

.text_block .link:hover {
    color: #fff;

    background: #00964c;
}


.text_block .slider_in_text {
    background-color: #eee;
}

.text_block .slider_in_text .img {
    position: relative;

    display: block;

    padding-bottom: 42%;
}

.text_block .slider_in_text .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: auto;
    max-width: 100%;
    height: 100% !important;
    margin: auto;
}


.text_block .carousel_in_text .img {
    position: relative;

    display: block;

    padding-bottom: 66%;

    text-decoration: none;

    background-color: #eee;
}

.text_block .carousel_in_text .img img {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100% !important;
    margin: 0;

    object-fit: cover;
}

.partners-table img {
    border-top: none;
    max-width: none;
}

.partners-table,
.partners-table td,
.partners-table th,
.partners-table tr {
    border: none !important;
}


.form:not([name="ORDER_FORM"],[name="regform"]) input[type=radio] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: inline-block;
    min-height: 21px;
    padding-left: 38px;
    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form:not([name="ORDER_FORM"],[name="regform"]) input[type=radio] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 21px;
    height: 21px;
    margin-top: 0;
    content: '';
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.form:not([name="ORDER_FORM"],[name="regform"]) input[type=radio]:checked + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 21px;
    height: 21px;
    margin-top: 0;
    content: '';
    border-radius: 50%;
    background: #f7f7f7;
    box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, .24);
}

.form:not([name="ORDER_FORM"],[name="regform"]) input[type=radio]:checked + label:before {
    background: #fff;
    box-shadow: inset 0 0 0 6px #00964c;
}

.form:not([name="ORDER_FORM"],[name="regform"]) .btn {
    color: #000;
    font: 700 13px/24px var(--font_family);
    display: inline-block;
    height: 30px;
    padding: 0 20px;
    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    border: 2px solid #00964c;
    border-radius: 25px;
    background: none;
}

.banners .banner .info {
    margin: 0 0 auto;
}


.products .product .available {
	padding: 5px 0;
    width: 100%;
    font-size: 12px;
    font-weight: 700;
    margin-top: 5px;
}

.products .product .available span {
    color: #00964c;
}

.cancel_link {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    display: block;
    width: 100%;
    padding: 0 20px;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 25px;
    background: #acacac;

    line-height: 40px;
    height: 40px;
    margin-top: 20px;
}

.related-sections .owl-carousel .owl-nav button.owl-prev {
    left: 0;
    top: 80px;
}

.related-sections .owl-carousel .owl-nav button.owl-next {
    right: 0;
    top: 80px;
}

.products .related-sections .product:after {
    display: none !important;
}

.pay-link-order {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    display: inline-block;

    padding: 0 20px;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 25px;
    background: #00964c;

    line-height: 40px;
    height: 40px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.image_scheme_filter {
    height: 25px;
    vertical-align: middle;
    margin: 0 5px;
}

.image_scheme_filter_name {
    width: 35px;
    display: inline-block;
}

/*header .menu .item:hover > a,*/
/*header .menu .item > a.active {*/
/*    color: #5d5e5f;*/
/*}*/

header .contacts .whatsup {
    color: #fff;
    font-size: 15px;
    margin-top: 5px;
    text-transform: uppercase;
}

footer .contacts .whatsup {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

header .contacts .whatsup a,
footer .contacts .whatsup a {
    color: #fff;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
    margin-top: -5px;

}

header .contacts .whatsup a img,
footer .contacts .whatsup a img {
    padding-top: 4px;
    padding-right: 5px;
}

header .contacts .zakaz_zvonka {
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    margin-top: 5px;

}

header .contacts .zakaz_zvonka a {
    color: #fff;
    display: inline-block;
    margin-left: 5px;
    vertical-align: top;
    white-space: nowrap;
    text-decoration: none;
    font-size: 20px;
    font-weight: 550;
}

header .info {
    /*margin-bottom: -50px !important;*/
}

@media (max-width: 1279px) {
    header .contacts .whatsup a,
    footer .contacts .whatsup a {
        font-size: 16px;
    }

    header .contacts .zakaz_zvonka a {
        font-size: 16px;
    }

    header .info {
        /*margin-bottom: -25px !important;*/
    }
}

header .contacts .whatsup a img,
footer .contacts .whatsup a img {
    height: 20px;
    padding-right: 5px;
}

.products .list .product .front,
.products .list .product .back {
    height: auto !important;
}

select[name="PROFILE_ID"] {
    color: var(--form_placeholder_color);
    line-height: 50px;
    position: relative;
    display: block;
    overflow: hidden;
    height: 50px;
    padding: 0 65px 0 15px;
    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
    width: 100%;
}

.profile-edit.form .input {
    color: #0b1110;
    font: var(--font_size) var(--font_family);
    display: block;
    width: 100%;
    height: 42px;
    padding: 0 15px 0 15px;
    transition: .2s linear;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
    background-position: calc(100% - 13px) 50%;
}

@media (max-width: 694px) {
    .feedback {
        padding: 34px 50px 48px;
    }

    .feedback .form .columns {
        margin-left: 0;
        --columns_offset: 0;
    }

    .feedback .form .columns > * {
        width: 100%;
    }

    .feedback .form .bottom .agree {
        width: 100%;
    }
}

@media (max-width: 594px) {
    .feedback {
        padding: 34px 24px 48px;
    }
}


/*******Кнопка со звонком на обратную связь***********/
#popup__toggle {
    left: 124px;
    position: relative;
    top: 79px;

}

.img-circle {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    width: 40px;
    height: 40px;
    bottom: 28px;
    right: 68px;
    position: absolute;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 2px solid transparent;
    opacity: .7;
}

.img-circleblock {
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    width: 40px;
    height: 40px;
    background-image: url(https://www.pneumax.ru/upload/iblock/522/52250e3b5d058573253e0ae49fe71e4e.png);
    background-position: center center;
    background-repeat: no-repeat;
    animation-name: tossing;
    -webkit-animation-name: tossing;
    animation-duration: 1.5s;
    -webkit-animation-duration: 1.5s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

.img-circle:hover {
    opacity: 1;
}

@keyframes pulse {
    0% {
        transform: scale(0.9);
        opacity: 1;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(0.9);
        opacity: 1;
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(0.95);
        opacity: 1;
    }
    50% {
        -webkit-transform: scale(1);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(0.95);
        opacity: 1;
    }
}

@keyframes tossing {
    0% {
        transform: rotate(-8deg);
    }
    50% {
        transform: rotate(8deg);
    }
    100% {
        transform: rotate(-8deg);
    }
}

@-webkit-keyframes tossing {
    0% {
        -webkit-transform: rotate(-8deg);
    }
    50% {
        -webkit-transform: rotate(8deg);
    }
    100% {
        -webkit-transform: rotate(-8deg);
    }
}

@-moz-keyframes circle-anim {
    0% {
        -moz-transform: rotate(0deg) scale(0.5) skew(1deg);
        opacity: .1;
        -moz-opacity: .1;
        -webkit-opacity: .1;
        -o-opacity: .1;
    }
    30% {
        -moz-transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .5;
        -moz-opacity: .5;
        -webkit-opacity: .5;
        -o-opacity: .5;
    }
    100% {
        -moz-transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .6;
        -moz-opacity: .6;
        -webkit-opacity: .6;
        -o-opacity: .1;
    }
}

@-webkit-keyframes circle-anim {
    0% {
        -webkit-transform: rotate(0deg) scale(0.5) skew(1deg);
        -webkit-opacity: .1;
    }
    30% {
        -webkit-transform: rotate(0deg) scale(0.7) skew(1deg);
        -webkit-opacity: .5;
    }
    100% {
        -webkit-transform: rotate(0deg) scale(1) skew(1deg);
        -webkit-opacity: .1;
    }
}

@-o-keyframes circle-anim {
    0% {
        -o-transform: rotate(0deg) kscale(0.5) skew(1deg);
        -o-opacity: .1;
    }
    30% {
        -o-transform: rotate(0deg) scale(0.7) skew(1deg);
        -o-opacity: .5;
    }
    100% {
        -o-transform: rotate(0deg) scale(1) skew(1deg);
        -o-opacity: .1;
    }
}

@keyframes circle-anim {
    0% {
        transform: rotate(0deg) scale(0.5) skew(1deg);
        opacity: .1;
    }
    30% {
        transform: rotate(0deg) scale(0.7) skew(1deg);
        opacity: .5;
    }
    100% {
        transform: rotate(0deg) scale(1) skew(1deg);
        opacity: .1;
    }
}

@media (max-width: 1915px) {
    #popup__toggle {
        bottom: 820px;
        right: 695px;
    }
}

@media (max-width: 1875px) {
    #popup__toggle {
        right: 700px;
    }
}

@media (max-width: 1845px) {
    #popup__toggle {
        right: 685px;
    }
}

@media (max-width: 1805px) {
    #popup__toggle {
        right: 665px;
    }
}

@media (max-width: 1780px) {
    #popup__toggle {
        right: 650px;
    }
}

@media (max-width: 1745px) {
    #popup__toggle {
        right: 635px;
    }
}

@media (max-width: 1715px) {
    #popup__toggle {
        right: 620px;
    }
}

@media (max-width: 1680px) {
    #popup__toggle {
        right: 600px;
    }
}

@media (max-width: 1640px) {
    #popup__toggle {
        right: 580px;
    }
}

@media (max-width: 1595px) {
    #popup__toggle {
        right: 560px;
    }
}

@media (max-width: 1560px) {
    #popup__toggle {
        right: 540px;
    }
}

@media (max-width: 1515px) {
    #popup__toggle {
        right: 520px;
    }
}

@media (max-width: 1475px) {
    #popup__toggle {
        right: 500px;
    }
}

@media (max-width: 1435px) {
    #popup__toggle {
        right: 480px;
    }
}

@media (max-width: 1410px) {
    #popup__toggle {
        right: 465px;
    }
}

@media (max-width: 1370px) {
    #popup__toggle {
        right: 445px;
    }
}

@media (max-width: 1330px) {
    #popup__toggle {
        right: 429px;
    }
}

@media (max-width: 1279px) {
    #popup__toggle {
        right: 0;
        left: 70px;
    }
}

@media (max-width: 1167px) {
    #popup__toggle {
        left: 80px;
    }
}

@media (max-width: 1066px) {
    #popup__toggle {
        width: 27%;
    }
}

@media (max-width: 1023px) {
    .img-circle {
        background: #28b954;
    }

    #popup__toggle {
        top: 20px;
        left: 212px;
    }
}

/*******END*****Кнопка со звонком на обратную связь***********/


.checkout_link-disabled {
    background: #DFDFE4 !important;
}


.notice_warning {
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 1.375rem 1.875rem;
    border-radius: .625rem;
    margin-bottom: 2rem;
    /* background: #28b954; */
    border: solid 1px #28b954;
    color: #000;
}

.bx-price-old {
    display: none;
}

/***************Сертификаты********************/
.certs {
    padding-top: 20px;
}

.certs .flex {
    /*margin-bottom: calc(var(--certs_offset) * -1);
    margin-left: calc(var(--certs_offset) * -1);*/
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
}

.certs .flex .item {
    font-size: 14px;
    line-height: 18px;
    display: flex;
    flex-direction: column;
    flex-shrink: 1;
    padding: 15px;
    margin-right: 20px;
    margin-bottom: 20px;
    border: 1px solid #d1d1d1;
    height: 350px;
}

.certs .flex .item .thumb {
    width: 185px;
    max-width: 100%;
    margin-bottom: 5px;
}

.certs .flex .item .thumb a {
    display: block;
}

.certs .flex .item .thumb img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border: none;
}

.certs .flex .item .info .name {
    color: #3e3e3e;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    margin-bottom: 15px;
    padding-top: 5px;
    text-transform: uppercase;
    max-width: 185px;
    border-top: 1px solid #e5e5e5;
}

/***************END сертификаты************************/

/****Контакты: головной офис****/
.golovnoi {
    display: flex;
    column-count: 2;
}

.golovnoi .flex .item {
    color: var(--text_color);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    padding: 25px;
    margin-bottom: 15px;
    margin-right: 15px;
    transition: .2s linear;
    display: flex;
    border: 1px solid #e5e5e5;
}

.golovnoi .flex .item a {
    color: var(--text_color);
    transition: .2s linear;
    text-decoration: none;
}

.golovnoi .flex .item .logo img {
    width: 150px;
    border-top: none;
}

.golovnoi .flex .item .info_personal {
    width: 240px;
}

.golovnoi .flex .item .info_personal .name {
    font-size: 20px;
    font-weight: 600;
    line-height: 21px;
    padding-bottom: 5px;
    margin-bottom: 15px;
    padding-top: 20px;
}

.golovnoi .flex .item .info_personal .post {
    color: #00964c;
    font-size: 14px;
    line-height: 15px;
    margin-bottom: 10px;
    height: 35px;
}

.golovnoi .flex .item .info_personal .phone {
    background: url(/local/templates/pneumax-shop/images/ic_phone.svg) 1px 2px/13px auto no-repeat;
    margin-bottom: 5px;
}

.golovnoi .flex .item .info_personal .phone div {
    padding-left: 25px;
}

.golovnoi .flex .item .phone_mobile div {
    padding-left: 25px;
}

.golovnoi .flex .item .info_personal .email {
    background: url(/local/templates/pneumax-shop/images/ic_email.svg) 0 4px/16px auto no-repeat;
}

.golovnoi .flex .item .info_personal .email a {
    white-space: nowrap;
    padding-left: 25px;
}

.golovnoi .flex .item .logo {
    text-align: center;
    padding-right: 15px;
}

/****END Контакты: головной офис****/

/**************Favorite_Compare****************************/
.icon_block {
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: row;
    width: 70px;
    height: 43px;
    margin-top: 10px;
    text-decoration: none;
}

#compareCount {
    color: #fff;
    position: relative;
    left: 6px;
    bottom: 3px;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-decoration: none;
    padding-top: 6px;
}

.input_compare_new {
    background: url(/local/templates/pneumax-shop/components/bitrix/catalog.section/.default/images/compare_grey.png);
    width: 36px;
    margin-top: 55px;
    height: 36px;
    cursor: pointer;
}

.input_compare_new:checked {
    background: url(/local/templates/pneumax-shop/components/bitrix/catalog.section/.default/images/compare_green.png);
    width: 36px;
    margin-top: 55px;
    height: 36px;
    cursor: pointer;
}

.compar {
    color: #00964c;
    font-size: 12px;
    font-weight: 600;
    line-height: 38px;
    display: inline-block;
    margin-left: 20px;
}

.compar:hover {
    color: #666;
}

.compar input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    z-index: -10;
    top: -20000px;
}

.compar label {
    display: inline-block;
}

.favor {cursor: pointer;}

.favor:hover:after {
    color: #666;
}

.compar label span {cursor: pointer;}

.compar label span pre {
    background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/image/compare_green00964c.png);
    display: inline-block;
    overflow: hidden;
    height: 20px;
    width: 20px;
    position: relative;
    top: 5px;
    margin-right: 3px;
}

.compar: hover > .compar label span pre {
    background-image: url(/local/templates/pneumax-shop/components/bitrix/catalog/page.catalog/bitrix/catalog.element/.default/image/compare_grey666.png);
}

.compar label i {
    display: none;
}

.compar input[type="checkbox"]:checked + label {
    color: #666;
    display: inline-block;
}

.compar input[type="checkbox"]:checked + label i {
    display: block;
    font-style: normal;
}

.compar input[type="checkbox"]:checked + label i img {
    display: inline-block;
    overflow: hidden;
    height: 20px;
    width: 20px;
    position: relative;
    top: 5px;
    margin-right: 3px;
}

.compar input[type="checkbox"]:checked + label span {
    display: none;
}

/**************END_Favorite_Compare****************************/


.section-items .tabs {
    display: flex;
    overflow: hidden;
    width: 400px;
    max-width: 100%;
    border-radius: 25px;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: nowrap;
    justify-content: center;
}

.section-items .tabs a {
    color: #000;
    font-size: 12px;
    font-weight: 700;
    line-height: 14px;
    position: relative;
    display: flex;
    width: 100%;
    height: 40px;
    padding: 10px 15px;
    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    background: #f2f2f2;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.section-items .tabs a:hover,
.section-items .tabs a.active {
    color: #fff;
    background: #28b954;
}

.section-items .tab_content {
    position: relative;
    visibility: hidden;
    height: 0;
    pointer-events: none;
    opacity: 0;
}

.section-items .tab_content.active {
    visibility: visible;
    height: auto;
    transition: opacity .5s linear;
    pointer-events: auto;
    opacity: 1;
}

.product_info .data .links .mini_modal a {
    padding: 10px 20px;
    font-size: 11px;
    height: auto;
    line-height: 15px;
}


#want {
    color: #fff;
    position: relative;
    left: 13px;
    bottom: 3px;
    flex-direction: row;
    text-decoration: none;
    display: flex;
    margin: 0;
    padding-top: 5px;
    width: auto;
    height: 41px;
}

.product_info .data .links a.pdf_link .icon_calc {
    width: 26px;
    height: 24px;
    margin-right: 13px;
    background: url(/local/templates/pneumax-shop/images/ico_calc.png) 0 0 no-repeat;
    background-size: cover;
}
.product_info .data .links a.pdf_link:hover .icon_calc {
    background: url(/local/templates/pneumax-shop/images/ico_calc.png) 0 100% no-repeat;
    background-size: cover;
}
.product_info .data .links a.pdf_link .icon_catalog {
    width: 26px;
    height: 24px;
    margin-right: 13px;
    background: url(/local/templates/pneumax-shop/images/ico_catalog.png) 0 0 no-repeat;
    background-size: cover;
}
.product_info .data .links a.pdf_link:hover .icon_catalog {
    background: url(/local/templates/pneumax-shop/images/ico_catalog.png) 0 100% no-repeat;
    background-size: cover;
}
.product_info .data .links a.order_calc_link .icon_order {
    width: 26px;
    height: 24px;
    margin-right: 13px;
    background: url(/local/templates/pneumax-shop/images/ico_zakaz.png) 0 0 no-repeat;
    background-size: cover;
}
.product_info .data .links a.order_calc_link:hover .icon_order {
    background: url(/local/templates/pneumax-shop/images/ico_zakaz.png) 0 100% no-repeat;
    background-size: cover;
}
.tabs-new {
    display: flex;
    margin-bottom: 32px;
    border-bottom: 1px solid #e0e0e0;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    flex-wrap: wrap;
}

.tabs-new a {
    color: #323333;
    font-family: var(--font_family);
    font-size: 16px;
    font-weight: 700;
    position: relative;
    display: flex;
    height: 40px;
    margin-bottom: -1px;
    padding: 10px 30px;
    cursor: pointer;
    transition: .2s linear;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid #e0e0e0;
    background: none;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    text-decoration: none;
}

.tabs-new a:hover, .tabs-new a.active {
    color: #fff;
    border-color: #429454;
    background: #429454;
}

.tabs-new-container {
    display: block;
    width: 100%;
}

.top-span-count {
    font-size: 11px;
    font-weight: 600;
    line-height: 17px;
    position: absolute;
    top: -8px;
    right: -7px;
    display: block;
    width: 17px;
    height: 17px;
    text-align: center;
    border-radius: 50%;
    background: #e22323;
    color: #fff;
    font-style: normal;
}

.favorite_link,
.compare_link,
.cart_link {
    position: relative;
}

.links a.order_calc_link .icon {
    width: 14px;
    height: 17px;
    background: url(/local/templates/pneumax-shop/images/ic_order_calc_link.png) 0 0 no-repeat;
}

.links a.questionnaire_link .icon {
    width: 17px;
    height: 15px;
    background: url(/local/templates/pneumax-shop/images/ic_questionnaire_link.png) 0 0 no-repeat;
}

.search-filter-aside .filter {
    padding: 25px 18px;
    border: 1px solid #e7e7e7;
    border-top: 3px solid #00964c;
    background: none;
    margin-top: 0;
}

.search-filter-aside .filter .title {
    color: #999;
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
    margin-bottom: 20px;
    text-align: center;
    text-transform: uppercase;
    border-bottom: none;
}

.search_result .result {
    padding-bottom: 16px;
}

.search_result .result .item {
    padding: 23px;
    border: 1px solid #cfcfcf;
}

.search_result .result .type {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    display: inline-block;
    padding: 0 10px;
    vertical-align: top;
    white-space: nowrap;
    border-radius: 10px;
    background: #00964c;
}

.search_result .result .item > * + * {
    margin-top: 15px;
}

.search_result .result .name {
    font-size: 18px;
    font-weight: 700;
    line-height: 21px;
}

.search_result .result .name a {
    color: var(--text_color);
    display: inline-block;
    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
}

.search_result .result .text_block {
    color: #565555;
}

.search_result .form {
    display: flex;
    margin-bottom: 34px;
    --form_border_color: #dadada;
    --form_border_radius: 30px;
    --form_bg_color: #fff;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}
.search_result .input {
    color: var(--text_color);
    font: 500 var(--font_size) var(--font_family);
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 27px;
    transition: .2s linear;
    text-transform: uppercase;
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}
.search_result .form .input {
    height: 48px;
    border-width: 2px;
}

.search_result .form .submit_btn {
    position: relative;
    width: 59px;
    height: 48px;
    margin-left: -61px;
    cursor: pointer;
    border: none;
    background: url(/local/templates/pneumax-shop/images/ic_search2.svg) 50% no-repeat;
}
.search_result .products .flex {
    padding-bottom: 1px;
    align-items: stretch;
    align-content: stretch;
}
.search_result .flex {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}
.search_result .products .flex > * {
    width: calc(25% + 1px);
    margin-bottom: -1px;
    margin-left: -1px;
}
.search_result .products .product {
    color: #565555;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
    position: relative;
    display: flex;
    padding: 20px;
    transition: .2s linear;
    text-decoration: none;
    border: 1px solid #e6e6e6;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}
.search_result .products .flex .product:before {
    position: absolute;
    top: -1px;
    left: -1px;
    display: block;
    width: calc(100% + 2px);
    height: 2px;
    content: '';
    transition: .2s linear;
    opacity: 0;
    background: #00964c;
}
.search_result .products .flex .product .thumb {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 70%;
}
.search_result .products .product .thumb {
    position: relative;
    width: 222px;
    max-width: 100%;
    padding-bottom: 13%;
}
.search_result .products .product .img {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}
.search_result .products .product .thumb img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
.lozad.loaded {
    opacity: 1;
}
.search_result .products .flex .product .thumb + .info {
    width: 100%;
    margin: 0;
    padding: 0;
}
.search_result .products .product .thumb + .info {
    width: calc(100% - 242px);
}

.search_result .products .product .name {
    color: #4191cf;
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
}
.search_result .products .product .name:hover{
    text-decoration: underline;
}
.search_result .products .flex .product .desc {
    display: none;
}
.search_result .products .product:hover {
    z-index: 9;
    box-shadow: 0 1px 35px rgb(0 0 0 / 19%);
}
.text_block .slider_in_text .img img{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100% !important;
    margin: 0;
    object-fit: cover;
}
.search_result .products .flex .product:hover:before {
    opacity: 1;
}
.teg_razdel {
	margin: 30px 0 20px;
   display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
}

.teg_razdel .teg {
    border: 1px solid #a19f9f;
    border-radius: 10px;
    margin-bottom: 10px;
    margin-right: 15px;
}

.teg_razdel  .teg a {
    text-align: center;
    text-decoration: none;
    color: #5e5e5e;
    font-size: 13px;
    font-weight: 600;
    padding: 10px;
    display: block;
}

.teg_razdel  .teg:hover {    
    background: #a19f9f;
    color: #fff;
}
body .main_slider .sub_title{
    color: #4191cf;
}
.teg_razdel .teg a:hover {color: #fff;}

.block_head .all_link {
    display: block;
    width: 26px;
    height: 22px;
    margin-left: auto;
    padding: 3px;
    position: absolute;
    right: 0;
    bottom:40%;
}
.block_head .all_link span {
    position: relative;
    display: block;
    width: 100%;
    height: 2px;
    transition: .2s linear;
    background: #000;
}
.block_head .all_link span + span {
    margin-top: 5px;
}
body .header .menu .item > a{
    padding: 0 20px;
}
.text_block img.left{
    height: auto;
}
.article_info .text_block img{
    margin-right: 30px;
}
.projects.block{
    margin-bottom: 40px;
    margin-top: 50px;
}
.articles.block{
    margin-bottom: 40px;
    margin-top: 20px;
}

/*////*/
.form-tech {
    --form_border_color: #f2f2f2;
    --form_border_radius: 10px;
    --form_bg_color: #f2f2f2;
}


.form-tech ::-webkit-input-placeholder {
    color: var(--form_placeholder_color);
}

.form-tech :-moz-placeholder {
    color: var(--form_placeholder_color);
}

.form-tech :-ms-input-placeholder {
    color: var(--form_placeholder_color);
}


.form-tech .columns {
    margin-left: -30px;

    --columns_offset: 30px;
}

.form-tech .columns > * {
    width: calc(50% - var(--columns_offset));
    margin-left: var(--columns_offset);
}


.form-tech .line {
    margin-bottom: 30px;
}

.form-tech .field {
    position: relative;
}


.form-tech .input {
    color: var(--text_color);
    font: 500 var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 50px;
    padding: 0 27px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech textarea {
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    display: block;

    width: 100%;
    height: 80px;
    padding: 15px 27px;

    resize: none;
    transition: .2s linear;
    /*text-transform: uppercase;*/

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech textarea:focus {
    text-transform: none;
}

.form-tech .input:focus,
.form-tech textarea:focus,
.form-tech .nice-select.open .current {
    border-color: var(--form_focus_color);
}

.form-tech .success,
.form-tech .success + .nice-select .current {
    border-color: var(--form_success_color);
}

.form-tech .error,
.form-tech .error + .nice-select .current {
    border-color: var(--form_error_color);
}


.form-tech .input:disabled,
.form-tech textarea:disabled,
.form-tech select:disabled + .nice-select,
.form-tech input[type=checkbox]:disabled + label {
    cursor: default;
    pointer-events: none;

    opacity: .5;
}


.form-tech .error_text {
    color: var(--form_error_color);
    font-size: 14px;
    line-height: 20px;

    margin-top: 5px;
}


.form-tech input[type=checkbox],
.form-tech input[type=radio],
.form-tech input[type=file] {
    display: none;
}

.form-tech input[type=checkbox] + label {
    font-size: 12px;
    font-weight: 500;
    line-height: 21px;

    position: relative;

    display: table-cell;

    height: 21px;
    padding-left: 38px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form-tech input[type=checkbox] + label:before {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 21px;
    height: 21px;

    content: '';
    transition: .2s linear;

    border-radius: 3px;
    background: #f2f2f2;
}

.form-tech input[type=checkbox] + label:after {
    position: absolute;
    top: 6px;
    left: 6px;

    display: block;

    width: 12px;
    height: 6px;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #00964c;
    border-left: 2px solid #00964c;
}

.form-tech input[type=checkbox]:checked + label:after {
    opacity: 1;
}

.form-tech .social .field {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form-tech .social .input {
    width: calc(100% - 74px);
}

.form-tech .social .add_social {
    display: block;

    width: 50px;
    height: 50px;

    border-radius: 10px;
    background: # url(/local/templates/pneumax-shop/../images/ic_add_social.png) 50% 50% no-repeat;
}


.form-tech .file input {
    display: none;
}

.form-tech .file label {
    color: #00964c;

    display: inline-block;

    cursor: pointer;
    transition: border-color .2s linear;
    vertical-align: top;
    letter-spacing: .05em;

    border-bottom: 1px dotted;
}

.form-tech .file label:hover {
    border-color: transparent;
}

.form-tech .exp {
    font-size: 12px;

    margin-bottom: 25px;

    letter-spacing: .05em;
}

.form-tech .exp a {
    color: #00964c;
}

.form-tech .exp a:hover {
    text-decoration: none;
}


.form-tech select {
    display: none;
}

.form-tech .nice-select {
    position: relative;

    display: block;
}

.form-tech .nice-select .current {
    color: var(--form_placeholder_color);
    line-height: 50px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 50px;
    padding: 0 57px 0 27px;

    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech .nice-select .current.selected {
    color: var(--text_color);
}

.form-tech .nice-select.open .current {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-tech .nice-select .current:after {
    position: absolute;
    top: 50%;
    right: 22px;

    display: block;

    width: 12px;
    height: 12px;
    margin-top: -9px;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 2px solid var(--text_color);
    border-left: 2px solid var(--text_color);
}

.form-tech .nice-select .list {
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;

    transition: .2s linear;

    opacity: 0;
    border: 1px solid var(--form_border_color);
    border-radius: 0 0 var(--form_border_radius) var(--form_border_radius);
    background: var(--form_bg_color);
}

.form-tech .nice-select.open .list {
    top: calc(100% - 1px);

    visibility: visible;

    opacity: 1;
}

.form-tech .nice-select .list .scrollbar {
    overflow: auto;

    max-height: 240px;
}

.form-tech .nice-select .list .list_item {
    padding: 10px 27px;

    cursor: pointer;
    transition: .2s linear;
    text-transform: uppercase;
}

.form-tech .nice-select .list .list_item:hover {
    background: #47474691;
}

.form-tech .nice-select .list .list_item:empty {
    display: none;
}


.form-tech .bottom {
    display: flex;

    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.form-tech .bottom .agree {
    width: calc(100% - 330px);
}

.form-tech .bottom .submit {
    width: 300px;
    max-width: 100%;
}


.form-tech .submit_btn {
    color: var(--text_color);
    font: 700 var(--font_size) var(--font_family);

    display: inline-block;

    width: 100%;
    height: 50px;
    padding: 0 20px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;

    border: 2px solid #00964c;
    border-radius: 30px;
    background: var(--btn_bg);
}

.form-tech .submit_btn:hover {
    color: #fff;

    background: #00964c;
}

@media (max-width: 1279px){
    .articles .flex {
        --articles_count: 4;
    }
    .articles .article {
        font-size: 13px;
        line-height: 19px;
    }
    .projects .item {
        font-size: 13px;
        line-height: 19px;
    }

}
@media (max-width: 767px){
    .articles .flex {
        --articles_count: 2;
    }
    .projects .flex {
        --projects_count: 2;
    }
    .advantages .flex {
        justify-content: center;
        --stats_count: 3;
    }
    .articles .item{
        position: relative!important;
        width: 97%;
        left: 0!important;
        top: auto!important;
    }
    .masonry{
        height: auto!important;
    }
    .wrap_search .products.block .flex {
        --products_count: 2;
    }
}

@media (max-width: 600px){
    /* Технические калькуляторы (.include/calculators/*.php, 24 файла, открываются
       во fancybox поверх страницы). Контейнер #tabs получает выше по файлу
       min-width:500px без единой мобильной ступени, а селектор идёт по id —
       специфичность (1,0,0), перебить его класса́ми в файлах адаптива невозможно.
       На телефоне это гарантированный горизонтальный вылет: 500px в окне 360-414px.
       Каждый калькулятор уже опускает свои таблицы до 300px в собственном
       @media (max-width: 600px) — но про сам #tabs вспомнили только двое из 24
       (gidroakkumulyator.php и instruction.php), и именно их правила остаются
       в силе: их <style> идёт в каскаде после этого файла. Порог 600px взят тот же,
       что у калькуляторов, чтобы не заводить лишнюю ступень. */
    #tabs {
        min-width: 0;
    }
    .calculation-table {
        min-width: 0;
    }
    .diff-cil table {
        max-width: 100%;
    }

    .wrap_search .products.block .flex {
        --products_count: 2;
    }
    body .ic_fc {
        top: 15px;
    }
    body .products .product .details {
        width: 65%;
        max-width: 70%;
    }
    body .input_compare_new{
        margin-top: 35px;
    }
}
@media (max-width: 413px){
    .search {
        height: 92px;
    }

    .search form{
        height: 98px;
    }
    .articles .flex {
        --articles_count: 1;
    }
    .projects .flex {
        --projects_count: 1;
    }
    .articles .article {
        font-size: 14px;
        line-height: 20px;
    }
    .projects .item .thumb {
        padding-bottom: 60%;
    }
    .advantages .data {
        padding: 0;
        border: none;
    }
    .advantages .flex {
        --stats_count: 2;
    }
}

/* =====================================================================
   МОБИЛЬНЫЙ АДАПТИВ — правки 04.08.2026 (MOBILE.md §4, §5, §6)
   =====================================================================

   Почему весь блок лежит здесь, а не в css/response_*.css и не в dev.css.

   response_{1279,1023,767,479,413}.css и одноимённые .min.css — не оригинал
   и сжатая копия, а две разошедшиеся редакции адаптива (MOBILE.md §5).
   Подключается только .min, поэтому правка в response_479.css не доезжает
   до браузера вообще: именно так была потеряна панель фильтра каталога.

   Из редактируемых файлов template_styles.css идёт в каскаде последним —
   сразу перед пятью response_*.min.css. dev.css лежит выше по бандлу и при
   равной специфичности проигрывает и styles.css, и адаптиву.

   Отсюда общее правило блока: чтобы перебить response_*.min.css, правило
   обязано иметь специфичность СТРОГО ВЫШЕ либо нести !important. Медиазапрос
   специфичность не поднимает — «правило для телефона» с той же тройкой
   селектора не срабатывает ни на одной ширине. Специфичность считана вручную
   по тройке (id, class, tag) и проверена симуляцией каскада для 390px.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. МОБИЛЬНЫЙ ФИЛЬТР КАТАЛОГА

   На телефоне каталог на тысячи позиций было нечем фильтровать. Причина —
   не одна, а две, и обе проверены в браузере на /catalog/tsilindry_pnevmaticheskie/:

   а) section.php:564 переносит <aside> внутрь <div class="filter2"> при
      ширине окна < 1023. Внутри .filter2 (он лежит в .tab_content) на aside
      начинают действовать два правила из styles.css, написанные про ДРУГОЙ
      aside.big — пустой дубль, который компонент рисует внутри вкладки:
          .main … > .tabs_container > .tab_content .big {display:none}  (0,9,0)
          .main … > .content .big {position:absolute;top:0;left:0}      (0,7,0)
      Перенесённый настоящий aside попадает под них и исчезает.

   б) сам .filter2 объявлен display:none в style.css шаблона компонента
      на всех ширинах.

   Слайд-панель из response_479.css (.filter2.active{position:fixed}
   + .show_image_sort + body.active + две @keyframes) сюда НЕ перенесена
   намеренно: элемента .show_image_sort, который её открывает, нет ни в одном
   шаблоне проекта (проверено grep'ом по всему репозиторию и запросом
   document.querySelectorAll('.show_image_sort') на живой странице — 0 штук),
   а скрипт section.php:47-51 ищет его до того, как разметка ниже разобрана.
   Перенос дал бы мёртвый CSS. Вместо этого возвращён тот вариант фильтра,
   который в проекте реально собран и работает: аккордеон по клику
   на заголовок (scripts.js:322, делегированный клик на 'aside .filter .title'),
   свёрнутая форма (aside .filter form{display:none} в response_1023.min.css)
   и рамка вокруг блока (style.css компонента). Порог 1023 взят потому, что
   на него настроены все три части этой связки.
   --------------------------------------------------------------------- */

@media (max-width: 1023px) {
    /* Специфичность та же (0,1,0), что у .filter2{display:none} в
       components/bitrix/catalog/page.catalog/style.css, но этот файл идёт
       в бандле позже — выигрываем по порядку. */
    .filter2 {
        display: block;
    }

    /* !important, а не длинный селектор: перебить (0,9,0) и (0,7,0) можно
       только цепочкой из десяти классов, читать её будет невозможно.
       :first-of-type оставляет пустой дубль скрытым — настоящий aside
       (в нём .bx-filter) идёт в документе первым и переносится первым. */
    .filter2 > aside.big:first-of-type {
        display: block !important;
        position: static !important;
    }

    /* Заголовок «Фильтр» — единственное, чем форма открывается. Без курсора
       и стрелки он выглядит подписью, а не кнопкой. Высота уже 47px
       (15 + 20 + 12), до порога 44px дотягивает, трогать её не нужно.
       (0,3,0) против (0,2,1) у aside .filter .title. */
    .filter2 .filter .title {
        position: relative;
        cursor: pointer;
        padding-right: 44px;
    }

    /* Шеврон вниз — свёрнуто, вверх — развёрнуто. Класс .active вешает
       на заголовок scripts.js:326. */
    .filter2 .filter .title:after {
        position: absolute;
        top: 50%;
        right: 20px;
        display: block;
        width: 9px;
        height: 9px;
        margin-top: -7px;
        content: '';
        transition: transform .2s linear;
        transform: rotate(45deg);
        border-right: 2px solid #00964c;
        border-bottom: 2px solid #00964c;
    }

    .filter2 .filter .title.active:after {
        margin-top: -3px;
        transform: rotate(-135deg);
    }
}


/* ---------------------------------------------------------------------
   2. ЛОВУШКИ СПЕЦИФИЧНОСТИ (MOBILE.md §4)

   Общая схема во всех пяти случаях: правило геометрии написано «для
   телефона», но целится в те же элементы селектором короче, чем десктопное.
   Ниже — тот же замысел, поднятый до победной специфичности. Десктопные
   правила не тронуты: за пределами медиазапросов они работают как прежде.
   --------------------------------------------------------------------- */

@media (max-width: 1279px) {
    /* Замысел response_1279.min.css: погасить инлайновые высоты, которые
       ставит productHeight(). Но там селектор .products .product .back (0,3,0),
       а в styles.css:3175 лежит .content .products .product .back с
       height:calc(100% - 1px)!important (0,4,0) — и в каталоге, где список
       товаров как раз внутри .content, выигрывает он.
       Практический эффект правки близок к нулю: .back — это оборотная
       сторона карточки, у неё opacity:0 и pointer-events:none, а на ≤1279
       её ещё и прячут на :hover. Возвращаем замысел, чтобы правило
       из адаптива перестало быть мёртвым, а не ради видимого результата. */
    .content .products .product .back {
        height: auto !important;
    }

    /* .checkout .form .block{padding:20px} в response_1279.min.css (0,3,0)
       не доходит до блока корзины: template_styles.css:735 задаёт ему
       padding:25px 35px 30px селектором с id — (1,3,0). На 390px это
       70px горизонтальных полей из 360 доступных. */
    .checkout .form .block#bx-soa-basket,
    .checkout .form .block.bx-selected {
        padding: 20px;
    }
}

@media (max-width: 1023px) {
    /* Замысел response_1023.min.css: в мобильной раскладке корзины строка
       таблицы становится блоком, и поля у ячеек обнуляются правилом
       .cart_info table tr td{padding:0} — (0,1,3). Ячейка цены его не видит:
       .cart_info table td.price{padding:15px} в styles.css:3733 — (0,2,2).
       padding:0 здесь безопасно: padding-top:20px ячейке возвращает
       response_1023.min.css, он идёт позже при той же специфичности. */
    .cart_info table td.price {
        padding: 0;
    }
}

@media (max-width: 767px) {
    /* .product_info .title{font-size:16px} в response_767.min.css — (0,2,0),
       а .product_info .data .title в styles.css:5047 — (0,3,0) и 18px.
       Повторяем длинную форму селектора: специфичность равна, но этот файл
       в бандле после styles.css. */
    .product_info .data .title {
        font-size: 16px;
        line-height: 22px;
    }

    /* Шестой ловушки из MOBILE.md §4 (.lk_requisites .form .type .field > *)
       здесь нет намеренно: она уже закрыта. response_767.min.css содержит
       .lk_requisites .form .type .field > *{width:100%} — та же специфичность
       (0,4,0), что и у desktop-правила styles.css:4281, но файл идёт позже.
       Универсальный селектор в `> * + *` специфичности не добавляет, поэтому
       правило из адаптива побеждает и для второго поля пары. Проверено
       симуляцией каскада на 390px: оба поля получают 100%. */
}

@media (max-width: 413px) {
    /* Та же ловушка, что и на 1279, но со ступени 413: там padding:15px. */
    .checkout .form .block#bx-soa-basket,
    .checkout .form .block.bx-selected {
        padding: 15px;
    }
}


/* ---------------------------------------------------------------------
   3. КАРТА ПРОЕЗДА НА /contacts/ НАЕЗЖАЛА НА ТЕКСТ (bugs/img_26.png)

   Конструктор Яндекса (contacts/index_map.php) подставляет iframe с жёстким
   height=403 из параметра адреса. Контейнер .contacts_map .map_wrap задаёт
   высоту процентным padding-bottom:31.5%, то есть от ширины: на десктопе
   это те же ~403px и всё сходится, а на 390px — всего ~113px. Внутренний
   .map позиционирован абсолютно с height:100%, но у iframe остаётся его
   собственные 403px, и лишние ~290px вываливаются наружу: overflow у
   .map_wrap не задан. Ровно это на скриншоте — карта поверх заголовков
   «Проезд на автомобиле» и списка под ними.

   Лечим причину, а не следствие: iframe обязан заполнять свой контейнер,
   а не диктовать ему высоту. На мобильной ширине процент заменён фиксированной
   высотой — 113px карты бесполезны, а 31.5% от узкого экрана других значений
   не дадут. overflow:hidden — предохранитель на случай, если в конструкторе
   снова поменяют height.
   --------------------------------------------------------------------- */

.contacts_map .map iframe,
.how_to_get .map_wrap .map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.contacts_map .map_wrap {
    overflow: hidden;
}

@media (max-width: 1023px) {
    .contacts_map .map_wrap {
        height: 320px;
        padding-bottom: 0;
    }
}

@media (max-width: 767px) {
    /* Вкладки «Проезд на автомобиле» / «Проезд наземным транспортом»:
       20px кегля, отступ 55px и flex-wrap:nowrap рассчитаны на десктоп.
       На 360px две подписи в одну строку не помещаются и лезут друг на друга. */
    .contacts_path .tabs {
        flex-wrap: wrap;
        row-gap: 12px;
    }

    .contacts_path .tabs > * + * {
        margin-left: 20px;
    }

    .contacts_path .tabs a {
        font-size: 16px;
        line-height: 20px;
        text-align: left;
        justify-content: flex-start;
    }
}


/* ---------------------------------------------------------------------
   4. ЧИТАЕМОСТЬ И РАЗМЕР НАЖИМАЕМЫХ ЭЛЕМЕНТОВ (MOBILE.md §6)

   Кегль поднят до 12px там, где он был ниже. Значения ровно 12px не трогаем.
   Часть правил живёт в response_*.min.css — их приходится перебивать
   селектором длиннее, это отмечено на месте.
   --------------------------------------------------------------------- */

/* Хлебные крошки — 11px в styles.css. Специфичность (0,1,0) совпадает,
   выигрываем порядком. */
.breadcrumbs {
    font-size: 12px;
}

/* Счётчик у пунктов каталога в сайдбаре: <sup> с кеглем 10px. */
aside .cats .items a sup {
    font-size: 12px;
}

/* Подпись раздела в карточке товара на плитке — 10px. */
.products .product .cat {
    font-size: 12px;
}

/* Раздел товара в строке корзины — 10px. */
.cart_info table td.info .cat {
    font-size: 12px;
}

/* Ссылки в блоке сведений о заказе в личном кабинете — 11px. */
.lk_orders .order .order_info a {
    font-size: 12px;
}

/* Подпись над ценой в карточке товара — 10px. */
.product_info .data .buy_block .name {
    font-size: 12px;
}

/* Списки в блоках доставки и оплаты карточки товара — 11.5px. */
.product_info .doinfo .dinfo ul li,
.product_info .doinfo .oinfo ul li,
.product_info .box_dostavka2 .dinfo ul li,
.product_info .box_dostavka2 .oinfo ul li {
    font-size: 12px;
}

/* Ссылки «Задать вопрос» и т.п. в карточке товара — 11px. */
.product_info .data .links .mini_modal a {
    font-size: 12px;
}

/* Всплывающая подсказка — 11px. */
.tip-message p {
    font-size: 12px;
}

/* Список сравнения — 11px. */
.bx_catalog-compare-list a {
    font-size: 12px;
}

/* «Заказать звонок» в шапке — 11px. */
header .contacts .zakaz_zvonka {
    font-size: 12px;
}

/* Счётчик найденного над выдачей — 11px. */
.top-span-count {
    font-size: 12px;
}

@media (max-width: 479px) {
    /* Блок преимуществ на главной: response_479.min.css ставит 11px,
       response_413.min.css — 10px, оба селектором .advantages .item (0,2,0).
       Одно правило (0,3,0) закрывает обе ступени. */
    .advantages .flex .item {
        font-size: 12px;
    }

    /* Характеристики в карточке на плитке: 11px в response_479.min.css
       селектором (0,3,0). Нужна (0,4,0). */
    .products .flex .product .features {
        font-size: 12px;
    }

    /* Единственное правило во всём адаптиве, где интерактив доводили
       до 44px, — .tabs button в response_479.css:близко к концу файла.
       В отдачу оно не попало. Это не подъём, а СНИЖЕНИЕ с 60px: на узком
       экране вкладки занимали слишком много высоты. 44px — порог,
       ниже которого опускать нельзя. */
    .tabs button {
        height: 44px;
    }
}

@media (max-width: 767px) {
    /* Пагинация каталога — основной способ листать список на телефоне.
       40x40 в styles.css:7349. */
    .pagination a,
    .pagination .sep {
        line-height: 44px;
        width: 44px;
        height: 44px;
    }

    /* Кнопка «в корзину» на плитке товара: 35px по высоте (styles.css:2996).
       Ширину не трогаем — её задаёт адаптив (75px на ≤767, 100px на ≤413). */
    .products .product .buy_link {
        height: 44px;
        border-radius: 22px;
    }

    /* Удаление строки корзины: 40x40 в response_1023.min.css селектором
       .cart_info table td.delete a (0,2,3). Нужна специфичность выше —
       добавлен tr. Родительская ячейка тоже 40x40, иначе кнопка обрежется. */
    .cart_info table tr td.delete {
        width: 44px;
        height: 44px;
    }

    .cart_info table tr td.delete a {
        width: 44px;
        height: 44px;
    }
}

/*
 * Меню разделов на телефоне: контакты, «о компании», сервис.
 *
 * Класс `home` стоит на обёртке ВСЕХ страниц, а не только главной —
 * проверено на /contacts/, /about/, /services/, /catalog/. Поэтому правило
 * `.home aside{display:none}` при ≤1023 прячет боковую колонку по всему
 * сайту.
 *
 * В каталоге это скомпенсировано: скрипт переносит сайдбар в блок фильтра
 * (section.php:564), и он остаётся доступен. А на остальных страницах меню
 * разделов просто исчезает — на /contacts/ вместе с ним пропадали ссылки
 * «Региональная сеть» и «Дилерская сеть», и попасть на эти страницы
 * с телефона было нельзя вообще.
 *
 * Целимся по содержимому, а не по адресу страницы: у меню разделов прямой
 * потомок .links, у каталожного сайдбара — .cats. Проверено на пяти
 * страницах, пересечений нет. Так каталог не заденем: его сайдбар под этот
 * селектор не попадает, и перенос в фильтр продолжает работать.
 *
 * :has() поддерживают все браузеры с 2023 года. Если понадобится поддержка
 * более старых — заменить на класс, проставляемый в шаблоне страницы.
 */
@media (max-width: 1023px) {
    .home aside:has(> .links) {
        display: block;
        width: 100%;
        margin-bottom: 24px;
    }

    /* Меню разделов на узком экране идёт в строку, а не колонкой в 250px */
    .home aside:has(> .links) > .links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .home aside:has(> .links) > .links > div {
        width: auto;
    }
}

/*
 * Пропорции картинок в текстовых блоках.
 *
 * У картинок, вставленных через визуальный редактор, стоят атрибуты
 * width и height — редактор проставляет их сам. Единственное правило
 * геометрии для них — `.text_block img{max-width:100%}` в styles.css:
 * ширина задана в CSS, высота нет. Как только экран уже картинки,
 * max-width зажимает ширину, а высота остаётся такой, как написано
 * в атрибуте, и картинка сплющивается по горизонтали.
 *
 * Замеры при ширине окна 390 px:
 *   /services/  шапка раздела  1024x397 отдавалась как 341x397 (в 3 раза уже)
 *   /services/  схема сервиса  1014x604 отдавалась как 341x604
 *   /metalloobrabotka/ заставка 1024x339 отдавалась как 341x339
 * Именно это заказчик описал как «картинки сжимаются или растягиваются».
 *
 * Это ровно та ловушка, из-за которой в своё время откатывали width/height
 * у логотипа (коммит fb91877b2): атрибуты безопасны, только если CSS задаёт
 * либо обе размерности, либо ни одной. Здесь чиним со стороны CSS, чтобы
 * не трогать сотни страниц контента.
 *
 * На десктопе не меняется ничего: там max-width не срабатывает, ширина
 * равна атрибуту, и height:auto даёт ту же высоту, что была в атрибуте.
 * Проверено перебором всех <img> на /services/ и /metalloobrabotka/:
 * сдвинулись только сплющенные, остальные до пикселя те же.
 *
 * Картинки, которым высоту задают отдельным правилом (плитки услуг,
 * иконки сетки сервиса), не затронуты — там специфичность выше (0,1,1).
 */
.text_block img {
    height: auto;
}

/*
 * /about/ на телефоне: текст выкладывался по одному слову в строку.
 *
 * Причина — две ширины, посчитанные от вычитания фиксированного числа
 * пикселей, без единой ступени адаптива:
 *     styles.css:8328  .about_block .info      {width: calc(100% - 400px)}
 *     styles.css:8399  .advantages-tech .info  {width: calc(100% - 445px)}
 * Вычитаемое — место под соседнюю картинку (330 и 375 px плюс отступы).
 * При ширине окна 390 px контейнер получается 341 px, разность
 * отрицательная, и браузер зажимает ширину в ноль. Колонка схлопывается,
 * а текст переносится по каждому слову.
 *
 * Замер: обе .info давали width 0 px, страница вытягивалась до 13286 px.
 * После правки — 6599 px, то есть вдвое короче.
 *
 * Медиазапросы специфичность не повышают, но здесь она и не нужна:
 * селекторы те же самые (0,2,0), а template_styles.css идёт в объединённом
 * бандле после styles.css — выигрыш по порядку источника.
 * ВНИМАНИЕ: с response_*.min.css так не пройдёт, они подключаются
 * отдельными <link> ПОСЛЕ бандла и при равной специфичности бьют этот файл.
 */
@media (max-width: 767px) {
    .about_block {
        padding: 20px;
    }

    .about_block .info,
    .advantages-tech .info {
        width: 100%;
    }

    .about_block .logo {
        width: 100%;
        margin-top: 20px;
    }

    /* Высота картинки задана через padding-bottom в процентах, а проценты
       считаются от ширины контейнера. На десктопе блок 341 px внутри
       контейнера 1120 px давал почти квадрат, на телефоне контейнер и сам
       блок совпали — и 30,5% превратились в полосу 341x104. Ставим
       пропорцию, при которой фотография остаётся фотографией. */
    .advantages-tech .img {
        width: 100%;
        margin-top: 20px;
        padding-bottom: 60%;
    }

    /* text-align:justify проставлен редактором инлайном на каждом .item.
       На 700 px десктопа выключка по ширине ещё читается, на 341 px даёт
       «реки» в три-четыре пробела между словами. Инлайновый стиль иначе
       как !important не перебить; на десктопе выключка сохраняется. */
    .advantages-tech .item {
        text-align: left !important;
    }
}

/*
 * Сетка региональной и дилерской сети на телефоне.
 *
 * .regions .flex > * жёстко держит calc(33.333% + 1px) на любой ширине
 * (styles.css:8992). На экране 390 px это даёт колонку 116 px: названия
 * городов налезают друг на друга («Новосибирск» на «Екатеринбург»),
 * адреса выкладываются по одному слову в строку, почта уезжает за карточку.
 *
 * Ступень адаптива для этой сетки в проекте есть — .regions .flex > *
 * { width: 100% } в response_413.css:520. Но её нет НИ В ОДНОМ из пяти
 * response_*.min.css, а подключаются именно .min: строка «regions»
 * встречается в них ноль раз. То есть правило существует только
 * в исходнике, до браузера не доходит, и сетка не переключалась никогда.
 *
 * Пересобирать .min нельзя: обычная и минифицированная версии давно
 * разошлись и живут как две разные редакции, около 330 расхождений.
 * Поэтому ступени пишем сюда. Специфичность у нас та же, что у правила
 * в styles.css (0,2,0) — медиазапрос её не поднимает, — но
 * template_styles.css идёт в объединённом бандле позже, и при равной
 * специфичности побеждает более поздний. Файлы response_*.min.css
 * подключаются ещё позже отдельными <link>, однако перебить нас им нечем:
 * правил про .regions там нет вовсе.
 *
 * Одна правка закрывает обе страницы: дилерская сеть — это тот же блок
 * с добавленным классом (.regions.dealers-list), своей ширины у неё нет.
 *
 * Ступени по содержимому карточки, а не по круглым числам: в ней адрес
 * вида «Октябрьская магистраль, д. 4, оф.1404», два телефона и почта.
 * На две колонки это ложится примерно до 480 px, ниже — только в одну.
 */
@media (max-width: 767px) {
    .regions .flex > * {
        width: calc(50% + 1px);
    }
}

@media (max-width: 479px) {
    .regions .flex > * {
        width: 100%;
    }
}

/*
 * Почта и адрес сайта — единственное здесь, что не переносится по пробелам.
 * «info@pneumo-center.by» в узкой карточке вылезал за её край поверх
 * соседней. Разрешаем разрыв внутри слова только этим двум полям.
 */
.regions .item .email,
.regions .item .site {
    overflow-wrap: anywhere;
}

/*
 * Кегль заголовков в текстовых блоках: h1 — 20px, h2 — 22px на любой ширине.
 * Задано заказчиком 05.08.2026.
 *
 * Почему !important, хотя обычно его избегаем. Нужные значения уже стоят
 * выше в этом файле, и на десктопе они действуют. Но на узких экранах
 * h2 перебивают три подключаемых файла:
 *
 *     response_1023.min.css   .text_block h2{font-size:18px;line-height:24px}
 *     response_767.min.css    .text_block h2{font-size:20px;line-height:26px}
 *     response_413.min.css    .text_block h2{font-size:16px;line-height:22px}
 *
 * Специфичность у них та же, что у нашего правила (0,1,1), а подключаются
 * они отдельными <link> уже ПОСЛЕ объединённого бандла, в котором едет
 * template_styles.css. При равной специфичности побеждает более поздний,
 * поэтому обычный приём «написать ниже по файлу» здесь не работает —
 * пересилить можно только специфичностью или !important.
 *
 * Правку самих response_*.min.css не делаем сознательно: они разошлись
 * со своими исходниками (около 330 расхождений), и трогать их вслепую
 * опасно — см. MOBILE.md §5.
 *
 * h1 оставлен для полноты картины: правил для него в response_* нет
 * вовсе, он и без !important держит 20px везде. Пусть оба размера
 * задаются в одном месте, иначе следующий читатель будет искать, где же
 * задан h1, и не найдёт.
 *
 * ЧТО ЭТО МЕНЯЕТ: заголовки h2 больше не уменьшаются на телефоне.
 * На экране 413px было 16px, стало 22px. Если задумывалось только для
 * десктопа — уберите !important, и ступени вернутся.
 */
.text_block h1 {
    font-size: 20px !important;
}

/*
 * Фильтр по отраслям едет вместе с прокруткой.
 *
 * На посадочной отрасли список проектов длиной в несколько экранов, и чтобы
 * переключиться на другую отрасль, приходилось возвращаться наверх.
 *
 * ПОЧЕМУ ЗДЕСЬ ПРАВИТСЯ .wrap. Обычного position:sticky не хватило:
 * у обёртки всех страниц стоит overflow:hidden, а это делает её контейнером
 * прокрутки, и прилипание отсчитывается от неё, а не от окна. Проверено
 * замером: при прокрутке на 1200 px фильтр уезжал вместе со страницей.
 *
 * Убирать overflow нельзя — он обрезает мобильное меню, которое стоит
 * за левым краем экрана (translateX(-100%)); без обрезки появится
 * горизонтальная прокрутка на всех страницах.
 *
 * Поэтому overflow:clip: обрезает так же, но контейнера прокрутки НЕ создаёт,
 * и sticky начинает работать. Два объявления подряд — не опечатка: браузеры
 * без поддержки clip (Safari до 16) не понимают второе и остаются на hidden.
 * У них фильтр просто не прилипает, как и было, — вёрстка не ломается.
 * Проверено: горизонтальной прокрутки не появляется.
 */
.wrap {
    overflow: hidden;
    overflow: clip;
}


/*
 * Отступ сверху для всех прилипающих блоков — 06.08.2026.
 *
 * При прокрутке шапка становится закреплённой: functions.js навешивает
 * на header класс fixed, как только прокрутили дальше высоты .header_wrap,
 * и правило header.fixed (styles.css:1247) делает её position:fixed
 * с z-index 101. Она перекрывает верх экрана, и прилипшее меню уезжало
 * под неё — видно на снимке от заказчика: пункт «Контакты» наполовину
 * закрыт полосой «О НАС · ПРОДУКЦИЯ · ВЫПОЛНЕННЫЕ ПРОЕКТЫ».
 *
 * Высота закреплённой шапки не одна, замерено на шести ширинах:
 *
 *     от 1280 px    51 px   — меню в одну строку
 *     1024-1279 px  102 px  — меню переносится в две строки
 *
 * Отсюда две ступени. Двадцать пикселей сверху — зазор, чтобы меню
 * не касалось шапки вплотную; это же значение стояло раньше как top,
 * когда про шапку ещё не знали.
 *
 * Переменная, а не число в каждом правиле: прилипающих блоков уже два
 * (меню раздела и фильтр отраслей), и оба должны отступать одинаково.
 * Объявляем на :root — так же, как --scroll_width и --font_size_title
 * в styles.css:129.
 *
 * Если высота шапки изменится, править надо здесь и только здесь.
 */
:root {
    --sticky_top: 122px;
}

@media (min-width: 1280px) {
    :root {
        --sticky_top: 71px;
    }
}

/*
 * Только с 1024 px. Ниже боковая колонка на этих страницах не показывается
 * вовсе — там своя кнопка «Фильтр по отраслям», и прилипать нечему.
 */
@media (min-width: 1024px) {
    .content_flex aside .filter.projects {
        position: sticky;
        top: var(--sticky_top);

        /*
         * Список из восемнадцати отраслей занимает около 880 px. На ноутбуке
         * с высотой окна 768 px нижние пункты и кнопка сброса оказались бы
         * за экраном без возможности до них добраться: прилипший блок
         * не прокручивается вместе со страницей. Поэтому ограничиваем высоту
         * окном и разрешаем прокрутку внутри самого фильтра.
         *
         * Из высоты окна вычитаем отступ под шапку и такой же зазор снизу.
         */
        max-height: calc(100vh - var(--sticky_top) - 20px);
        overflow-y: auto;
    }
}


/*
 * Меню раздела в левой колонке едет вместе с прокруткой — 06.08.2026.
 *
 * Та же задача, что и с фильтром отраслей выше: текст на этих страницах
 * длиной в несколько экранов (на /services/ боковая колонка растянута
 * до 4934 px), и чтобы перейти в соседний раздел, приходилось возвращаться
 * наверх. Работает благодаря overflow:clip у .wrap, заданному выше, —
 * без него прилипание отсчитывалось бы от обёртки, а не от окна.
 *
 * ПОЧЕМУ align-self. Одного position:sticky здесь мало. Боковая колонка —
 * элемент flex-контейнера с align-items:stretch, поэтому она растянута
 * на всю высоту содержимого страницы: замер дал aside 4934 px при меню
 * в 573 px. Прилипать нечему — элемент и так занимает всю высоту, ездить
 * ему негде. align-self:flex-start сжимает колонку до высоты меню,
 * и появляется место для движения.
 *
 * Растягивание ни на чём не сказывается: у aside на всех четырёх страницах
 * фон прозрачный и рамок нет — проверено замером computed-стилей. Если
 * когда-нибудь появится фон или разделительная линия во всю высоту,
 * это правило их укоротит, и тогда фон надо переносить на контейнер.
 *
 * ДВА СЕЛЕКТОРА, ПОТОМУ ЧТО РАЗМЕТКА РАЗНАЯ. Обход страниц показал:
 *   section.content_flex > aside > .links  — /services/, /docs/, /about/,
 *                                            а также /contacts/, /news/,
 *                                            /cart/, /personal/
 *   div.content_flex    > aside > .cats    — только /metalloobrabotka/
 *
 * Каталог и посадочные отраслей под правило не попадают: у них
 * section.content_flex.flex.block, и боковая колонка там своя —
 * у отраслей фильтр, он прилипает правилом выше.
 *
 * ПОБОЧНЫЙ ОХВАТ: просили четыре страницы, но отдельного класса у страницы
 * в разметке нет, а .links одинаков везде. Поэтому меню прилипает ещё
 * на /contacts/, /news/, /cart/ и /personal/. Поведение там такое же
 * и мешать не должно; если нужно строго четыре — придётся проставлять
 * класс страницы в шаблоне.
 *
 * Только с 1024 px: ниже response_1023.min.css скрывает aside целиком
 * (aside{display:none}), и прилипать нечему.
 */
@media (min-width: 1024px) {
    section.content_flex > aside:has(> .links),
    div.content_flex > aside:has(> .cats) {
        align-self: flex-start;

        position: sticky;
        top: var(--sticky_top);

        /*
         * Меню короткие — от 497 до 585 px по замеру на всех четырёх
         * страницах. На ноутбуке с окном 600 px они уже не помещаются,
         * а прилипший блок вместе со страницей не прокручивается, и нижние
         * пункты стали бы недоступны. Ограничиваем высоту окном за вычетом
         * отступа под закреплённую шапку и такого же зазора снизу.
         *
         * Прокрутка внутри ничего не обрезает: единственный абсолютно
         * спозиционированный элемент в этих колонках (.upcatalog1
         * на металлообработке) лежит внутри границ aside — проверено
         * сравнением getBoundingClientRect.
         */
        max-height: calc(100vh - var(--sticky_top) - 20px);
        overflow-y: auto;
    }
}

/* End */
/* /local/templates/pneumax-shop/css/montserrat.min.css?17858292106175 */
/* /local/templates/pneumax-shop/css/owl.carousel.min.css?17857650948724 */
/* /local/templates/pneumax-shop/css/styles.css?1786449241151554 */
/* /local/templates/pneumax-shop/css/jquery.messages.min.css?1785752778849 */
/* /local/templates/pneumax-shop/css/dev.css?178582921011311 */
/* /local/templates/pneumax-shop/components/bitrix/catalog.compare.list/my_compare/style.css?17857527781265 */
/* /local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.buyoneclick/style.css?1785765094427 */
/* /local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.service/style.css?178575277840 */
/* /local/templates/pneumax-shop/components/sks/feedback.all.ajax/template.footer.projects/style.css?1785765094667 */
/* /local/templates/pneumax-shop/styles.css?1785752778957 */
/* /local/templates/pneumax-shop/template_styles.css?1786372163114706 */
