:root {
    --col: #141215;
    --sec: rgba(60, 60, 67, 0.6);
    --pl: #AEAEAE;
    --sep: rgba(143, 143, 143, 0.38);
}
.visible-xs {
    display: none !important;
}

.container {
    max-width: 1440px;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto;
}
.flex-b {
    display: flex;
    justify-content: space-between;
    align-items: center
}
.flex-s {
    display: flex;
    justify-content: flex-start;
    align-items: center
}
.pad-top {
    padding-top: 50px;
}
.pad-bot {
    padding-bottom: 50px;
}
.block {
    padding-top: 50px;
    padding-bottom: 50px;
}

.but {
    width: auto;
    background: var(--col);
    cursor: pointer;
    text-align: center;
    transition: all linear .2s;
    font-size: 13px;
    line-height: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    color: #fff;
    text-transform: uppercase;
    padding: 0 10px;
    white-space: nowrap;
}
.but_mod {
    color: var(--col);
    background: #fff;
}
.but:hover {
    
}
.but:focus {
    
}

.input {
    width: 100%;
    height: 45px;
    padding-left: 10px;
    border: 1px solid #EEEEEE;
    outline: none;
    background: #fff;
    display: block;
    border-radius: 6px;
}
.input-filed {
    margin-bottom: 20px;
    display: block;
}
.input-filed span {
    font-weight: 700;
    margin-bottom: 6px;
    display: block;
}
.input-wrap {
    flex-wrap: wrap;
    align-items: flex-start;
}
.input-wrap .input-filed {
/*    width: 48.5%;*/
}
.input-filed sup {
    color: #E30613;
    font-size: 12px;
}
textarea.input {
    height: 80px;
    resize: none;
    padding-top: 10px
}
.error-text {
    color: #db0000;
    margin-top: .5em;
    font-size: .9em;
}


.polit {
    color: var(--txt);
    font-weight: 400;
}
.polit a {
    text-decoration: underline;
}

.headline {
    line-height: 22px;
    margin: 0 0 32px;
}
.title {
    font-size: 22px;
    line-height: 28px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 20px
}
.subtitle {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    line-height: 133%;
    font-weight: normal;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    align-items: flex-end;
    justify-content: flex-start;
    margin-bottom: 24px;
}
.breadcrumbs li {
    display: inline-block;
    color: var(--sec);
    font-size: 13px;
    line-height: 18px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.breadcrumbs li:not(:last-child):after {
    content: '';
    display: inline-block;
    background: url(../img/icon/arr1.svg) center/cover;
    width: 12px;
    height: 18px;
    margin: -2px 4px 0;
}

.nav-control, .mobile_menu-bot, .mobile_menu-link {
    display: none
}
.mobile_menu {
    left: 0;
    width: 100%
}

.menu_container {
    position: absolute;
    top: 55px;
    width: 100%;
    background: #fff;
    padding: 48px;
    max-height: 80vh;
    overflow-y: scroll;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    display: none;
}
.menu_container-link {
    display: none;
}

.menu_container[data-menu="projects"] {
    max-height: unset;
}
.menu_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 50px 0;
}
.menu_block {
    width: 20%;
    padding-right: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}
.menu_block .title {
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 24px;
    text-align: left;
}
.menu_block a {
    text-transform: uppercase;
    margin-bottom: 4px;
    font-size: 15px;
    line-height: 22px;
/*    display: block;*/
}
.menu_block a:hover {
/*    text-decoration: underline;*/
    box-shadow: 0 1px 0 0 #000
}
.new_prod_link img {
    width: 185px;
}

.brands_inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px 16px
}
.brands_inner a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    transition: all linear .2s
}
.brands_inner a img {
    max-width: 90%;
}
.brands_inner a:hover {
    border: 1px solid var(--col);
    border-radius: 4px
}

.proj_inner-row {
    margin-bottom: 32px
}
.proj_inner-item {
    width: 210px;
}
.proj_inner-item img {
    width: 100%;
    aspect-ratio: .72;
    object-fit: cover;
    transition: all linear .2s
}
.proj_inner-item span {
    font-size: 15px;
    line-height: 22px;
    margin-top: 4px;
    display: block;
}
.proj_inner-item:hover span {
    text-decoration: underline
}
.proj_inner-item:hover img {
    box-shadow: 0 0 0 1px
}
.proj_inner-logo {
    width: 100%;
    margin-top: 32px
}


.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    transition: all linear .1s;
    z-index: 9;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*
.header.scroll {
    background: #fff;
    padding: 5px 0
}
*/

.header_inner {
    display: flex;
    align-items: center;
    justify-content:space-between;
    padding: 14px 15px;
}
.header_inner>* {
    width: calc(100%/3);
}
.logo {

}
.main_menu {
    gap: 0 20px;
    justify-content: center;
}
.main_menu-link {
/*    font-weight: 300;*/
    text-transform: uppercase;
    padding: 7px 8px;
    box-sizing: border-box;
    transition: box-shadow linear .2s;
    letter-spacing: 5%;
}
.main_menu-link:hover {
    box-shadow: 0 1px 0 0 #000
}
.header_left {
    display: none
}
.header_right {
    justify-content: flex-end;
}
.header_right .main_menu-link {
    margin-right: 20px
}
.header_right .fav_link {
    margin-right: 20px
}
.header_right .fav_link img {
    display: block;
}
.header_right .search_link {
    margin-right: 14px
}
.mini_cart {
    width: 20px;
    height: 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../img/icon/cart.svg) center/100% 100% no-repeat;
}
.mini_cart-counter {
    position: absolute;
    font-size: 10px;
    font-weight: bold;
    bottom: 2px;
    color: #fff
}
.mini_cart.active {
    background: url(../img/icon/cart-active.svg) center/100% 100% no-repeat;
}


.search_block {
    padding-top: 8px;
    padding-bottom: 8px;
    position: absolute;
/*    left: 0;*/
/*    margin: 0 auto;*/
    width: 100%;
    top: 80%;
    display: none;
    background: #fff;
    z-index: 8;
}
.main .search_block {
    display: block;
}
.search_block form {
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.search_block button {
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 8px;
}
.search_block input {
    padding: 8px 8px 8px 0;
    border: none;
    outline: inherit;
    width: 100%;
    font-size: 13px;
    line-height: 18px
}

.main-baner {
    width: calc(100%/3);
    height: 640px;
    position: relative;
}
.main-baner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-baner-text {
    position: absolute;
    z-index: 2;
    bottom: 35px;
    text-align: center;
    width: 100%;
    color: #fff
}
.main-baner-text .title {
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 11px;
}
.link {
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: underline;
    text-align: center;
}

.brnds {
    padding: 0px 0px;
}
.brnds-slider .swiper-wrapper {
    justify-content: center
}
.brnd_item {
    width: 276px;
    height: 260px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-button-next, .swiper-button-prev {
    color: var(--col);
    top: 43%;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 20px;
}
.brnds .text {
    text-align: center;
    padding: 0 5% 50px;
}
.brnds .text p {
    line-height: 22px;
    margin-bottom: 16px;
}


.banner1 {
    margin-top: 50px;
    margin-bottom: 16px;
    background: url(../img/main_ban4.jpg) center/cover;
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 640px;
    color: #fff
}
.banner1_text {
    width: 100%;
    justify-content: space-around;
}
.banner1_text p {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    line-height: 28px;
}
.banner1 a {
    position: absolute;
    bottom: 35px;
}

.banner2 {
    margin-bottom: 16px;
    background: url(../img/main_ban5.jpg) center/cover;
    height: 640px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding-bottom: 35px
}
.banner2_text p {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 11px;
}

footer {
    
}
.top_foot {
    align-items: flex-start;
    padding-top: 50px;
    padding-bottom: 50px
}
.top_foot a {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 8px;
    line-height: 18px;
    letter-spacing: 5%;
}
.top_foot>div {
    width: 100%;
}
.top_foot .lang {
    text-align: right;
}
.lang .active {
    font-weight: bold
}
.bot_foot {
    padding: 16px 0;
    font-size: 13px;
}

.content img {
    padding: 16px 0;
    width: 100%;
    margin-bottom: 16px;
}
.content .text p {
    text-transform: uppercase;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px
}

.proj_row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 16px 0;
    gap: 16px;
    margin-bottom: 16px;
}
.proj_row-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
}
.proj_row-text>div {
    height: 50%;
    display: flex;
    align-items: flex-end;
    font-size: 14px;
    line-height: 20px;
}
.proj_row-text span {
    font-size: 42px;
}

.proj_row-img {
    width: 50%;
    max-height: 980px
}
.proj_row-img:hover img {
    filter: brightness(80%)
}
.proj_row-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand_baner {
    min-height: 725px;
    background-size: cover;
    background-position: center;
    margin-bottom: 40px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.brand_baner .text {
    width: 70%;
}
.brand_baner .text p {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 20px;
}
.brand_baner .text img {
    margin: 0 auto 10px;
    display: block;
}
.brand_baner .link {
    position: absolute;
    bottom: 27px
}

.brand_info {
    padding-top: 32px;
    padding-bottom: 32px;
    position: relative;
}
.brand_info-inner {
    position: relative;
    margin-bottom: 10px
}
.brand_info p {
    font-size: 14px;
    margin-bottom: 10px;
}
.brand_info.folded {
    
}
.brand_info.folded .brand_info-inner {
    max-height: 64px;
    overflow: hidden;
}
.brand_info.folded .brand_info-inner:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.9) 40%, transparent 100%);
    z-index: 2;
    display: block;
}


.cookies_popup {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 91;
    box-shadow: 0 0 70px rgba(0, 0, 0, 0.35);
    background: #fff;
    display: none;
}
.cookies_popup-inner {
    padding: 16px 16px 28px;
    gap: 0 30px
}
.cookies_popup-text {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 40px
}
.cookies_popup-inner a {
    text-decoration: underline
}
.cookies_popup-btns {
    gap: 10px;
    align-self: flex-end;
}

.cookies_popup-inner span {
    
    cursor: pointer
}


.w-100 {
    width: 100%;
}
.w-50 {
    width: 49%;
    flex-shrink: 0
}
.w-33 {
    width: 31.5%;
    flex-shrink: 0
}
.w-25 {
    width: 23.5%;
    flex-shrink: 0
}