/* OViK PRO */
/************/

:root {
    --main-blue: #0379bc;
    --main-blue-hover: #2399dc;
    --main-blue-active: #0069ac;
    --main-red:  #e4163b;
}


* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	font: 14px "Roboto", sans-serif;
	font-weight: 400;
	background-color: #fff;
	height: auto;
}

h1 {
    font: 46px "Montserrat", sans-serif;
	font-weight: 700;
}

h2 {
    font: 34px "Montserrat", sans-serif;
	font-weight: 700;
}

h3 {
    font: 28px "Montserrat", sans-serif;
	font-weight: 700;
}

h4 {
    font: 22px "Montserrat", sans-serif;
	font-weight: 700;
}

p {
    line-height: 160%;
}

ul li { line-height: 160%; }

a:link,
a:visited,
a:hover {
    color: var(--main-blue);
    text-decoration: none;
}

.blue { color: var(--main-blue); }
.red { color: var(--main-red); }

.top {
    margin-top: 0;
    padding-top: 0;
}

.small { font: 12px "Roboto", sans-serif; }
.big {
    font: 26px "Roboto", sans-serif;
    line-height: 160%;
}

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

.trm.input {
    font: 14px "Roboto", sans-serif;
    border: 2px solid var(--main-blue);
    padding: 16px 18px;
    border-radius: 50px;
    transition: all 0.15s linear;
    color: #000;
    height: 53px;
    outline: none;
}
.trm.input:focus { box-shadow: 0 3px 25px rgba(0,0,0,0.1); }

::placeholder {
    color: #97c4d4;
    opacity: 1;
}
:-ms-input-placeholder { color: #97c4d4; }
::-ms-input-placeholder { color: #97c4d4; }

.trm.btn {
    border-style: none;
    align-items: center;
    padding: 0 25px;
    border-radius: 40px;
    background-color: var(--main-blue);
    font: 14px "Roboto", sans-serif;
    color: #fff;
    font-weight: 600;
    height: 53px;
    transition: all 0.15s linear;
    cursor: pointer;
    display: inline-flex;
    white-space: nowrap;
    justify-content: center;
}
.trm.btn:hover {
    background-color: var(--main-blue-hover);
    box-shadow: 0 3px 25px rgba(0,0,0,0.1); 
}
.trm.btn:active {
    background-color: var(--main-blue-active);
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.2);
}

.trm.green.btn { background-color: #2cd463; }
.trm.green.btn:hover { background-color: #3eeb76; }
.trm.green.btn:active { background-color: #1cc453; }

.trm.outline.btn {
    background-color: transparent;
    border: 2px solid var(--main-blue);
    color: var(--main-blue);
}
.trm.outline.btn:hover {
    background-color: transparent;
    border: 2px solid #40c5f6;
    color: #40c5f6;
}
.trm.outline.btn:active {
    background-color: transparent;
    border: 2px solid #1095c6;
    color: #1095c6;
    box-shadow: inset 0 3px 5px rgba(16,149,198,0.15);
}

.trm.red.outline.btn {
    background-color: transparent;
    border: 2px solid var(--main-red);;
    color: var(--main-red);;
}
.trm.red.outline.btn:hover {
    background-color: transparent;
    border: 2px solid #e74e58;;
    color: #e74e58;;
}
.trm.red.outline.btn:active {
    background-color: transparent;
    border: 2px solid #be3841;;
    color: #be3841;;
    box-shadow: inset 0 3px 5px rgba(190,56,65,0.15);
}


.trm.btn.big {
    font: 22px "Roboto", sans-serif;
    font-weight: 600;
    padding: 0 40px;    
    height: 63px;
}

.trm.btn.long { width: 100%; }

.trm.btn.white {
    border: 1px solid var(--main-blue);
    background-color: #fff;
    color: var(--main-blue);
}

.trm.btn.white:hover {
    background-color: #e3f4fa;
}

.circle-btn {
    border: 1px solid;
    border-radius: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 3px 1px;
}


.container {
    margin: 0 auto;
    padding: 0;
    width: 1300px;
}

.trm.cols {
    display: flex;
    flex-direction: row;
    margin: 0 -25px;
    flex-wrap: wrap;
}

.trm.cols .col2 {
    width: 50%;
    padding: 0 25px;
}

.trm.cols .col3 {
    width: 33.3333%;
    padding: 0 25px;
}

.trm.cols .col4 {
    width: 25%;
    padding: 0 25px;
}

.trm.cols .col5 {
    width: 20%;
    padding: 0 25px;
}


.trm.cols img { max-width: 100%; }

.trm.warning {
    background-color: var(--main-blue);
    font-size: 15px;
    padding: 5px 10px;
    color: #fff;
}

table.decorated {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0 20px 0;
    text-align: left;
}

table.decorated th {
    background-color: #f8f9fa;
    padding: 15px;
    text-align: left;
}

table.decorated td {
	border-bottom: 1px solid #e7edf0;
    padding: 15px;
    vertical-align: top;
}


/* Header */
/**********/

.trm.header {  }

.trm.header .container {
    height: 110px;    
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}

.trm.header .mobile-menu {
    display: none;
    background: url("../img/icon-mobilemenu.svg") 50% 50% no-repeat;
    background-size: 26px auto;
    position: relative;
    width: 49px;
    height: 49px;
    margin-left: 20px;
    cursor: pointer; 
}

.trm.header .logo {  }
.trm.header .logo a { display: block; }
.trm.header .logo a img {
    width: 280px;
    display: block;
}

.trm.header .phone { 
    background: url("../img/icon-phone-call.svg") 0 50% no-repeat;
    padding-left: 55px;
    background-size: 40px auto;
}
.trm.header .phone .phone-title,
.trm.header .phone2 .phone-title {
    margin-bottom: 3px;
    white-space: nowrap;
}
.trm.header .phone .phone-num,
.trm.header .phone2 .phone-num {
    font: 21px "Montserrat", sans-serif;
	font-weight: 700;
    white-space: nowrap;
}
.trm.header .phone .phone-num a,
.trm.header .phone2 .phone-num a {
    color: #000;
    text-decoration: none;
}

.trm.header .search { position: relative; }

.trm.header .search .search-input {
	font: 14px "Roboto", sans-serif;
    width: 370px;
    border: 2px solid var(--main-blue);
    padding: 16px 18px;
    border-radius: 50px;
    color: var(--main-blue);
    transition: all 0.15s linear;
    height: 53px;
    outline: none;
}
.trm.header .search .search-input:focus {
    color: #000;
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
}

.trm.header .search .search-input-btn {
    background: var(--main-blue) url('../img/icon-search.svg') 52% 50% no-repeat;
    background-size: 23px;
    position: absolute;
    right: 0;
    width: 115px;
}
.trm.header .search .search-input-btn:hover {
    background: var(--main-blue-hover) url('../img/icon-search.svg') 52% 50% no-repeat;
    background-size: 23px;
}

.trm.header .mobile-empty {
    display: none;
    width: 49px;
    height: 49px;
}
.trm.header .mobile-search {
    display: none;
    background: url("../img/icon-mobile-search.svg") 50% 50% no-repeat;
    background-size: 26px auto;
    position: relative;
    width: 49px;
    height: 49px;
    cursor: pointer; 
}


.trm.header .cart { width: 110px; }
.trm.header .cart a:link,
.trm.header .cart a:visited,
.trm.header .cart a:hover {
    display: block;
    background: url("../img/icon-cart.svg") 0 50% no-repeat;
    background-size: 40px auto;
    padding: 20px 0 20px 55px;
    color: #000;
    text-decoration: none;
    position: relative;
}

.trm.header .cart a span.badge {
    background-color: var(--main-red);
    border: 2px solid #fff;
    padding: 2px;
    border-radius: 15px;
    display: inline-block;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 15px;
    right: 65px;
    min-width: 25px;
    display: none;
}


/* Menu */
/********/

.trm.topmenu { border-bottom: 1px solid #f8f9fa; }
.trm.topmenu.rpage { border-bottom: 1px solid #e7edf0; }

.trm.bottommenu { }

.trm.topmenu .container,
.trm.bottommenu .container {
    border-top: 1px solid #e7edf0;
}

.trm.topmenu ul,
.trm.bottommenu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}

.trm.topmenu ul li,
.trm.bottommenu ul li {
    margin: 0;
    padding: 0;
}

.trm.topmenu ul li a:link,
.trm.topmenu ul li a:visited,
.trm.bottommenu ul li a:link,
.trm.bottommenu ul li a:visited {
    display: inline-block;
    padding: 16px 0 20px 0;
    margin: 0 25px;
    font: 18px "Roboto", sans-serif;
    color: #000;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.15s linear;
    border-top: 4px solid #fff;
}

.trm.topmenu ul li a:hover,
.trm.bottommenu ul li a:hover {
    color: var(--main-red);
    border-top: 4px solid var(--main-red);
}

.trm.topmenu ul li a.active { border-top: 4px solid var(--main-red); }


/* Submenu */
/***********/

.submenu {
    list-style-type: none;
    margin: 0;
    padding: 0 0 20px 0;
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    border-bottom: 1px solid #e7edf0;
}

.submenu li {
    margin: 0;
    padding: 0;
}

.submenu li a:link,
.submenu li a:visited {
    display: inline-block;
    padding: 0 25px 0 0;
    font: 17px "Roboto", sans-serif;
    color: #000;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.15s linear;    
}

.submenu li a:hover,
.submenu li a:hover {
    color: var(--main-red);
}


/* Bnr */
/*******/

.trm.bnr {
    /* background: #f8f9fa url('/includes/img/nybg.png') top center repeat-y; */
    background-color: #f8f9fa;
}

.trm.bnr .container {
    padding: 50px 0 25px 0;
}

.trm.bnr .bnr-container {
    background-color: #e0e0e0;
    overflow: hidden;
    height: 450px;
    position: relative;
}

.trm.bnr .bnr-switch-right {
    position: absolute;
    right: 30px;
    top: 198px;
    background-color: rgba(0,0,0,0.2);
    width: 53px;
    height: 53px;
    border-radius: 53px;
    cursor: pointer;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s linear;    
}
.trm.bnr .bnr-switch-right:active {
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.2);
}
.trm.bnr .bnr-switch-right img {
    height: 15px;
    margin-left: 2px;
}

.trm.bnr .bnr-switch-left {
    position: absolute;
    left: 30px;
    top: 198px;
    background-color: rgba(0,0,0,0.2);
    width: 53px;
    height: 53px;
    border-radius: 53px;
    cursor: pointer;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s linear;    
}
.trm.bnr .bnr-switch-left:active {
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.2);
}
.trm.bnr .bnr-switch-left img {
    height: 15px;
    margin-right: 2px;
    transform: rotate(0.5turn);
}

.trm.bnr .bnr-switch-container {
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 30;
}

.trm.bnr .bnr-switch-container .bnr-switch-btn {
    display: inline-block;
    border: 2px solid #fff;
    width: 15px;
    height: 15px;
    border-radius: 17px;
    margin-right: 2px;
    cursor: pointer;
}

.trm.bnr .bnr-switch-container .bnr-switch-btn.active {
    background-color: #fff;
    cursor: default;
}

.trm.bnr .bnr-container .bnr-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: none;
}

.trm.bnr .bnr-container .bnr-slide .slide-photo {
    position: absolute;
    z-index: 10;
    left: 0;
}

.trm.bnr .bnr-container .bnr-slide .slide-cover {
    position: absolute;
    z-index: 20;
    left: 0;
    opacity: 0.95;
}

.trm.bnr .bnr-container .bnr-slide .slide-text {
    position: absolute;
    z-index: 30;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: column;
    top: 0;
    left: 830px;
    width: 350px;
    height: 100%;
    padding: 70px 0;
}

.trm.bnr .bnr-container .bnr-slide .slide-text .title {
    font: 42px "Montserrat", sans-serif;
	font-weight: 700;
    color: #fff;
}
.trm.bnr .bnr-container .bnr-slide .slide-text .descr {
	font: 30px "Roboto", sans-serif;
	font-weight: 300;
    color: #fff;
}
.trm.bnr .bnr-container .bnr-slide .slide-text .slide-btn {
    background-color: rgba(0,0,0,0.2) !important;
}
.trm.bnr .bnr-container .bnr-slide .slide-text .slide-btn.invert {
    background-color: rgba(255,255,255,0.2) !important;
}

/* Advantages */
/**************/

.trm.adv {
    /* background: #f8f9fa url('/includes/img/nybg.png') top center repeat-y; */
    background-color: #f8f9fa;
}

.trm.adv .container { padding: 25px 0; }

.trm.adv .adv-container {
    background-color: #fff;
    padding: 5px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.trm.adv .adv-item {
    width: 20%;
    padding: 20px 20px 20px 55px;
    background-size: 40px auto;
    background-position: 0 50%;
    background-repeat: no-repeat;
}

.trm.adv .adv-item.car { background-image: url("../img/icon-car.svg"); }
.trm.adv .adv-item.warranty { background-image: url("../img/icon-warranty.svg"); }
.trm.adv .adv-item.money { background-image: url("../img/icon-money.svg"); }
.trm.adv .adv-item.clock { background-image: url("../img/icon-clock.svg"); }
.trm.adv .adv-item.chat { background-image: url("../img/icon-chat.svg"); }
.trm.adv .adv-item.like { background-image: url("../img/icon-like.svg"); }

.trm.adv .adv-item .adv-title {
    font: 18px "Montserrat", sans-serif;
	font-weight: 700;
}

.trm.adv .adv-item .adv-descr { margin-top: 3px; }




/* Brands */
/**********/

.trm.brands { }

.trm.brands .container { padding: 25px 0; }

.trm.brands .brands-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
}

.trm.brands .brands-container a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    width: 175px;
    height: 80px;
    margin-bottom: 12px;
}

.trm.brands .brands-container a img { max-width: 100%; }



/* Bnr 2 */
/*********/

.trm.bnr2 { background-color: #f8f9fa; }

.trm.bnr2 .container { padding: 25px 0; }

.trm.bnr2 .bnr2-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

.trm.bnr2 .bnr2-item {
    height: 200px;
    background-color: #e0e0e0;    
    width: 32%;
}


/* Hot goods */
/*************/

.trm.goods {
    /* background: #f8f9fa url('/includes/img/nybg.png') top center repeat-y; */
    background-color: #f8f9fa;
}

.trm.goods .container {
    padding: 25px 0;
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid #e7edf0;    
}
.trm.goods .container.unbordered {
    border-bottom-style: none;
}

.trm.goods .container .goods-container {
    width: 75%;
}
.trm.goods .container .news-container {
    width: 25%;
    padding-left: 40px;
}

.trm.goods .container .goods2-container {
    width: 75%;
}
.trm.goods .container .bnr3-container {
    width: 25%;
    padding-right: 40px;
    padding-top: 10px;
}


.trm.goods .goods-container .goods-items-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 -5px 0 -10px;
}
.trm.goods .goods2-container .goods-items-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 -10px 0 -5px;
}


.trm.goods .goods-items-container .commodity-item-container {
    width: 33.3333%;
    padding: 10px;
}


/* News */
/********/

/* Hot */

.news-item {
    display: block;
    padding: 10px 0 20px 0;
    line-height: 160%;
}    

.news-item img { max-width: 100%; }

.news-item .news-title {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0;
}

.news-item .news-date {
    font-size: 12px;
    color: #aaa;
    margin-top: 3px;
}

/* Details */

.trm.news-details .container {
    display: flex;
    flex-direction: row;
}

.news-details .news-details-container { width: 73%; }

.news-details .news-details-icon {
    width: 27%;
    padding: 10px 0 0 25px;
}

.news-details .news-details-icon img { max-width: 100%; }

.news-details .news-details-icon .order-container {
    display: flex;
    flex-direction: column;
    background-color: #f8f9fa;
    padding: 30px 20px;
    text-align: center;
}
.news-details .news-details-icon .order-container .message {
    font-size: 22px;
    color: #333;
    font-weight: 400;
    margin-bottom: 20px;
}

.news-details .news-text {
    font: 30px "Roboto", sans-serif;
    font-weight: 300;
    line-height: 160%;
}

.news-details .news-date {
    border-top: 1px solid #e7edf0;
    padding-top: 3px;
    font-size: 12px;
    color: #aaa;
    margin-top: 50px;
}

.news-details img { max-width: 100%; }


/* Archive */

.trm.newsarchive { background-color: #f8f9fa; }

.trm.newsarchive .newsarchive-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.trm.newsarchive .newsarchive-container .newsarchive-item {
    width: 25%;
    padding: 10px;
    line-height: 160%;    
}

.trm.newsarchive .newsarchive-container img { max-width: 100%; }

.trm.newsarchive .newsarchive-container .news-title {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0;
}

.trm.newsarchive .newsarchive-container .news-date {
    font-size: 12px;
    color: #aaa;
    margin-top: 3px;
}


/* Bnr 3 */

.bnr3-item {
    display: block;
    margin: 10px 0 40px 0;
}


/* Aditional info */
/******************/

.trm.addinfo {background-color: #fff; }

.trm.addinfo .container {
    padding: 25px 0 25px 0;
    display: flex;
    flex-direction: column;
}

.trm.addinfo .container .about {
    width: 50%;
    padding-right: 25px;
}

.trm.addinfo .container .shops {
    width: 50%;
    padding-left: 25px;
}

.trm.addinfo .container .shops .shops-container {
    display: flex;
    flex-direction: row;
}
.trm.addinfo .container .shops .shops-container .shop-item {
    padding: 0 25px;
    width: 50%;
    text-align: center;
}
.trm.addinfo .container .shops .shops-container .shop-item:first-child { padding-left: 0; }
.trm.addinfo .container .shops .shops-container .shop-item:last-child { padding-right: 0; }

.trm.addinfo .container .shops .shops-container .shop-item img { max-width: 100%; }


/* Footer */
/**********/

.trm.footer { background-color: #f8f9fa; }

.trm.footer .container {
    color: #aaa;
    padding: 25px 0;
    display: flex;
    flex-direction: row;
}

.trm.footer .container .copyright {
    width: 25%;
    padding-right: 10px;
}

.trm.footer .container .addinfo {
    width: 50%;
    padding: 0 10px;
}

.trm.footer .container .addinfo img { max-width: 80%; }

.trm.footer .container .authors {
    width: 25%;
    padding-left: 10px;
}


/* Article */
/***********/

.trm.article { }

.trm.article .container { 
    padding: 25px 0 50px 0;
}

.trm.article .path i {
    color: #aaa;
    margin: 0 5px;
}


/* Commodity */
/*************/

.commodity-container {
    display: flex;
    flex-direction: row;
    border: 1px solid #e7edf0;
    padding: 50px;    
}

.commodity-container .commodity-about {
    width: 32%;
    padding-right: 25px;
}

.commodity-container .commodity-about .photo-container {
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}

.commodity-container .commodity-about .photo-container .icon-zoom {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 40px;
    width: 40px;
    font-size: 30px;
    color: #ccc;
}
.commodity-container .commodity-about .photo-container img { max-width: 100%; }

.commodity-container .commodity-about .description {
    border-top: 1px solid #e7edf0;
    margin-top: 30px;
    padding-top: 20px;
}

.commodity-container .commodity-specs {
    width: 41%;
    padding: 0 25px;
}


.commodity-container .commodity-specs .art {
    border-bottom: 1px solid #e7edf0;
    margin-bottom: 10px;
    padding-bottom: 10px;
    color: #aaa;
    font-size: 16px;
}
.commodity-container .commodity-specs .art i { vertical-align: middle; }
.commodity-container .commodity-specs .art span { cursor: pointer; }
.commodity-container .commodity-specs .art span:hover { border-bottom: 1px dotted #aaa; }

.commodity-container .commodity-specs .specs > div {
    display: flex;
    flex-direction: row; 
    justify-content: space-between;
    padding: 15px;
}
.commodity-container .commodity-specs .specs > div:nth-child(odd) { background-color: #f8f9fa; }
.commodity-container .commodity-specs .specs .attr-name { width: 65%; }
.commodity-container .commodity-specs .specs .attr-val { width: 35%; text-align: right; }

.commodity-container .commodity-price-presence {
    width: 27%;
    padding-left: 25px;
}

.commodity-container .commodity-price-presence .price-container {
    display: flex;
    flex-direction: column;
    background-color: #f8f9fa;
    padding: 30px 20px;
    text-align: center;
}

.commodity-container .commodity-price-presence .price-container .price {
    font-size: 48px;
    font-weight: 600;
    margin-bottom: 20px;
}
.commodity-container .commodity-price-presence .price-container .price.notpresent {
    font-size: 22px;
    color: #333;
    font-weight: 400;
    margin-bottom: 20px;
}

.commodity-container .commodity-price-presence .order {
    text-align: center;
    margin: 5px 0 30px 0;
    padding: 30px 20px;
    background-color: #f8f9fa; 
}

.commodity-container .commodity-price-presence .presence-container {  }
.commodity-container .commodity-price-presence .presence-container ul { 
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.commodity-container .commodity-price-presence .presence-container ul li {
    margin: 0;
    padding: 0.25em 0 0.25em 1.6em;
    text-indent: -1.5em;
} 

.commodity-container .commodity-price-presence .presence-container ul li.stock-present:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f058 ";
    margin-right: 6px;
}

.commodity-container .commodity-price-presence .presence-container ul li.stock-notpresent:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f111 ";
    margin-right: 6px;
}

.commodity-container .commodity-price-presence .presence-container ul li.stock-present:before { color: #40c610; }
.commodity-container .commodity-price-presence .presence-container ul li.stock-notpresent { color: #aaa; }


div.manual a { display: none; }

.commodity-container div.manual a {
    display: inherit;
    margin-top: 25px;
}

.commodity-container div.manual a i {
    font-size: 30px;
    vertical-align: middle;
    padding-right: 3px;
}


/* Category */
/************/

.trm.category {
    /* background: #f8f9fa url('/includes/img/nybg.png') top center repeat-y; */
    background-color: #f8f9fa;
}

.category-container { 
    display: flex;
    flex-direction: row;    
}

.category-container .category-tree {
    width: 25%;
    padding-right: 40px;
    padding-top: 14px;
}

.category-container .category-tree ul {
    list-style-type: none;
    margin: 0;
    padding: 5px 0 0 20px;
}
.category-container .category-tree ul li {
    margin: 0;
    padding: 5px 0;
}

.category-container .category-tree > ul {
    background-color: #fff;
    padding: 15px 20px 20px 20px;
}

.category-container .commodity-list {
    width: 100%;
}

.category-container .commodity-list .goods-items-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 -10px 0 -5px;
}

.category-container .commodity-list .commodity-item-container {
    /*width: 33.3333%;*/
    width: 25%;
    padding: 10px;
}
.category-container .commodity-list.commodity-list-filter .commodity-item-container {
    width: 33.3333%;
    /* width: 25%; */
    padding: 10px;
}

.category-container .commodity-list .goods-items-container.list-view {
    display: flex;
    flex-direction: column;
}
.category-container .commodity-list .goods-items-container.list-view .commodity-item-container {
    width: 100%;
    padding: 10px 10px 0 10px;
}


.pagenav-container {
    margin: 30px 5px 0 5px;
    padding: 30px 0 0 0;
    border-top: 1px solid #e7edf0;
}

.pagenav-container span,
.pagenav-container a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 600;
    width: 42px;
    height: 42px;
}

.pagenav-container span.inactive { color: #aaa; }
.pagenav-container span.current {
    background-color: #fff;
    border-radius: 42px;
}


.category-description { margin: 0 5px 30px 5px; }

.subcategory-container {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
    margin: 0 0 45px 0;
    border-bottom: 1px solid #e7edf0;
    padding-bottom: 30px;
}

/*
.subcategory-container > a {
    margin: 3px 3px;
    padding: 8px 25px;
    background-color: #fff;
    width: 188px;
    width: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.15s linear;
    text-align: center;
}
*/

.subcategory-container > a {
    margin: 0;
    border: 1px solid #f8f9fa;
    padding: 8px 25px;
    background-color: #fff;
    width: 16.667%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.15s linear;
    text-align: center;
    z-index: 1;
}
.subcategory-container > a:hover {
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
    cursor: pointer;
    z-index: 2;
}

.subcategory-container > a img {
    width: 80px;
    height: 80px;
    margin-bottom: 4px;
}


.category-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.category-menu .prefix {
    border-style: none;
    padding: 0 5px;
}

.category-menu .menu-item {
    padding: 8px 15px;
    border: 1px solid #e3e6e9;
    border-radius: 20px;
    transition: all 0.15s linear;
    cursor: pointer;
    color: var(--main-blue);
}

.category-menu .menu-item i,
.category-menu .menu-item u { text-decoration: none; }

.category-menu .menu-item:hover { background-color: #fff; }
.category-menu .menu-item:active {
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.category-menu .menu-item.active {
    background-color: #e3e6e9;
    border: 1px solid #e3e6e9;
    padding: 8px 15px;
    border-radius: 20px;
    color: #000;
    cursor: default;
}

.category-menu .menu-item i { vertical-align: middle; }


/* Category Filter */

.category-container .category-filter {
    width: 25%;
    padding-right: 40px;
}

.category-container .category-filter .filter-attr {
    border-bottom: 1px solid #e7edf0;
    padding: 0 0 20px;
    margin-bottom: 20px;
}

.category-container .category-filter .filter-attr input[type=text] { width: 105px; }

.category-container .category-filter .filter-attr .filter-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 16px;
}

label.trm.checkbox {
    display: block;
    position: relative;
    margin: 10px 0;
    padding: 4px 0 0 35px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

label.trm.checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

label.trm.checkbox .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    border-radius: 5px;
    border: 2px solid var(--main-blue);
    transition: all 0.15s linear;
}

label.trm.checkbox .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

label.trm.checkbox:hover input ~ .checkmark {
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
}

label.trm.checkbox input:checked ~ .checkmark:after {
    display: block;
}

label.trm.checkbox input:checked ~ .checkmark {
    border: 2px solid#40c610;
}

label.trm.checkbox .checkmark:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 9px;    
    color: #fff;
    content: "\f00c";
    text-align: center;
    top: 2px;
    left: 2px;
    width: 17px;
    height: 17px;
    border-radius: 2px;
    background-color: #40c610;
    line-height: 200%;
}


/* Commodity List */

.commodity-item {
    display: block;
    background-color: #fff;
    text-decoration: none;
    color: #000;
    padding: 20px;
    transition: box-shadow 0.15s linear;
}
.commodity-item:hover {
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
}

.commodity-item .commodity-img { margin-bottom: 3px; }
.commodity-item .commodity-img img { max-width: 100%; }

.commodity-item .commodity-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 160%;
    padding-top: 3px;
}

.commodity-item .commodity-params {
    border-bottom: 1px solid #e7edf0;
    margin-bottom: 10px;
    padding-top: 3px;
    padding-bottom: 10px;
    color: #aaa;
    font-size: 12px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.commodity-container .descr .art i { vertical-align: middle; }


.commodity-item .commodity-params .cat a { color: #aaa; }

.commodity-item .commodity-more {
    position: relative;
    height: 180px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.commodity-item .commodity-more:after {
    display: block;
    content: " ";
    width: 100%;
    height: 80px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
    z-index: 1;
}

.commodity-item .commodity-descr {
    margin-top: 3px;
    line-height: 160%;
}

.commodity-item .commodity-price {
    border-top: 1px solid #e7edf0;
    margin-top: 10px;
    padding-top: 15px;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}

.commodity-item .commodity-price .price {
    font-size: 23px;
    font-weight: 600;
}

.commodity-item .commodity-price .price .stock-present {
    font-size: 12px;
    font-weight: 400;
}

.commodity-item .commodity-price .price .stock-present:before {
    color: #40c610;    
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f058 ";
    margin-right: 6px;
}

.commodity-item .commodity-price .price.notpresent {
    font-size: 23px;
    font-weight: 400;
    color: #333;
}

.commodity-item .commodity-price .price.notpresent .stock-notpresent {
    font-size: 12px;
    font-weight: 400;
    color: #aaa;
}

.commodity-item .commodity-price .price.notpresent .stock-notpresent:before {
    color: #aaa;   
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f111 ";
    margin-right: 6px;
}



.list-view .commodity-item {
    display: flex;
    flex-direction: row;
}

.list-view .commodity-item .commodity-img {
    margin: 0 20px 0 0;
    width: 11%;
}

.list-view .commodity-item .commodity-params { display: none; }

.list-view .commodity-item .commodity-more {
    width: 59%;
    height: 102px;
}

.list-view .commodity-item .commodity-price {
    width: 30%;
    border-style: none;
    margin: 0 0 0 20px;
    padding-top: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: end;
}

.list-view .commodity-item .commodity-price > .btn {
    margin: 0 0 0 20px;
}


/* Cart */
/********/

/* Buy confirmation */

#buy-confirmation {
    display: none;
    padding: 50px;
}

.trm.cart { background-color: #f8f9fa; }
.trm.cart h1.top { clear: both; }

.cart-container { 
    display: flex;
    flex-direction: row;    
}

.cart-container .commodity-list {
    width: 73%;
    margin: -10px 0 -10px -10px;
    padding-right: 25px;
}

.cart-container .cart-order {
    width: 27%;
    padding-left: 25px;
}

.cart-container .cart-item-container {
    width: 100%;
    padding: 10px 10px 0 10px;
}

.cart-container .cart-order .order-container {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 30px 20px;
    text-align: center;
}

.cart-container .cart-order .order-container .price {
    font-size: 48px;
    font-weight: 600;
    margin-bottom: 20px;
}

.cart-container .cart-order .order-container .notpresent {
    margin-bottom: 20px;
    display: none;
}


.cart-container .commodity-item {
    display: flex;
    flex-direction: row;
}

.cart-container .commodity-item .commodity-img {
    margin: 0 20px 0 0;
    width: 11%;
}

.cart-container .commodity-item .commodity-more {
    width: 47%;
    height: 102px;
}

.cart-container .commodity-item .commodity-more .commodity-params { display: none; }

.cart-container .commodity-item .commodity-price {
    width: 16%;
    border-style: none;
    margin: 0 0 0 20px;
    padding-top: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: end;
}

.cart-container .commodity-item .commodity-price .price {
    font-size: 20px;
    font-weight: 600;
}
.cart-container .commodity-item .commodity-price .price.notpresent {
    font-size: 14px;
    font-weight: 400;
    color: #aaa;
}

.cart-container .commodity-item .commodity-quantity {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin: 0 0 0 20px;
}

.cart-container .commodity-item .commodity-quantity input {
    font: 14px "Roboto", sans-serif;
    width: 60px;
    border: 2px solid var(--main-blue);
    padding: 16px 18px;
    border-radius: 50px;
    color: #000;
    height: 53px;
    outline: none;
    text-align: center;
}
.cart-container .commodity-item .commodity-quantity input.quantity-error {
    border: 2px solid var(--main-red);
    background-color: rgba(255,0,0,0.06);
}


.cart-container .commodity-item .commodity-cost {
    width: 16%;
    border-style: none;
    margin: 0 0 0 20px;
    padding-top: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: end;
}

.cart-container .commodity-item .commodity-cost .cost {
    font-size: 20px;
    font-weight: 600;
}

.cart-container .commodity-item .commodity-remove {
    width: 3%;
    border-style: none;
    margin: 0 0 0 20px;
    padding-top: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: end;
}

.cart-container .commodity-item .commodity-remove a { color: var(--main-red); }


.cart-container .commodity-list-header {
    margin: 0 10px 3px 10px;
    padding: 0 0 3px 0;
    list-style-type: none;
    border-bottom: 1px solid #e7edf0;
    display: flex;  
}

.cart-container .commodity-list-header li:nth-child(1) { width: 59%; }
.cart-container .commodity-list-header li:nth-child(2) { width: 12%; }
.cart-container .commodity-list-header li:nth-child(3) { width: 11%; }

.cart-container .order-menu { margin: 30px 10px 0 10px; }


/* Cart Form */

.trm.cart-form { background-color: #f8f9fa; }

.trm.cart-form .form-container {
    display: flex;
    flex-direction: row;
    padding: 50px;
    background-color: #fff;
    flex-wrap: wrap;
}

.trm.cart-form .form-container .name {
    width: 50%;
}
.trm.cart-form .form-container .email {
    width: 25%;
    padding-left: 25px;
}
.trm.cart-form .form-container .phone {
    width: 25%;
    padding-left: 25px;
}
.trm.cart-form .form-container .address { width: 100%; }

.trm.cart-form .form-container input[type=text] { width: 100%; }

.trm.cart-form .form-container .form-btn {
    width: 100%;
    text-align: right;
    margin-top: 25px;
}

.trm.cart-form .form-container .payment-type-container {
    display: flex;
    flex-direction: column;
}

.trm.cart-form .form-container .payment-type label {
    display: block;
    position: relative;
    margin: 8px 0;
    padding: 4px 0 0 35px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.trm.cart-form .form-container .payment-type label img {
    height: 16px;
    vertical-align: middle;
    margin-left: 10px;
}

.trm.cart-form .form-container .payment-type label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.trm.cart-form .form-container .payment-type label .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    border-radius: 50%;
    border: 2px solid var(--main-blue);
    transition: all 0.15s linear;    
}

.trm.cart-form .form-container .payment-type label:hover input ~ .checkmark {
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
}

.trm.cart-form .form-container .payment-type label .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
  
.trm.cart-form .form-container .payment-type label input:checked ~ .checkmark:after {
    display: block;
}

.trm.cart-form .form-container .payment-type label input:checked ~ .checkmark {
    border: 2px solid #2cd463;
}
  
.trm.cart-form .form-container .payment-type label .checkmark:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 9px;    
    color: #fff;
    content: "\f00c";
    text-align: center;
    top: 2px;
    left: 2px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background-color: #2cd463;
    line-height: 200%;    
}

/* Progress bar */

.pb-container {
    width: 100%;
    padding: 16px 0 64px 0;
}

.pb-container .pb {
    margin: 0;
    padding: 0;
}

.pb-container .pb li {
    list-style-type: none;
    float: left;
    width: 33%;
    position: relative;
    text-align: center;
}

.pb-container .pb li:before {
    content: " ";
    line-height: 30px;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid #e7edf0;
    display: block;
    text-align: center;
    margin: 0 auto 6px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.pb-container .pb li:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #e7edf0;
    top: 9px;
    left: -50%;
}

.pb-container .pb li:first-child:after { content: none; }

.pb-container .pb li.active { color: var(--main-blue); }

.pb-container .pb li.active:before {
    border-color: var(--main-blue);
    background-color: var(--main-blue);
}
.pb-container .pb li.active:after { background-color: var(--main-blue); }

.thanks-container {
    background-color: #fff;
    padding: 50px;
    text-align: center;
    margin-top: 40px;
}

/* One Click */
/*************/

.trm.one-click { padding: 50px; }

.trm.one-click input[type=text] { width: 100%; }

.trm.one-click .form-btn {
    width: 100%;
    text-align: center;
    margin-top: 25px;
}

.fancybox-slide--iframe .fancybox-content { width: 500px; }


/* Projects */
/************/

.trm.projects { background-color: #f8f9fa; }
.trm.projects.hotprojects {
    /* background: #f8f9fa url('/includes/img/nybg.png') top center repeat-y; */
    background-color: #f8f9fa;
    padding: 25px 0;
}

.trm.projects .projects-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 -10px;
}

.trm.projects .projects-container .project-items-container {
    width: 33.3333%;
    padding: 10px;    
}

.trm.projects .projects-container .project-items-container .project-item {
    background-color: #fff;
    transition: box-shadow 0.15s linear;    
}
.trm.projects .projects-container .project-items-container .project-item:hover { box-shadow: 0 3px 25px rgba(0,0,0,0.1); }

.trm.projects .projects-container .project-item .project-title {
    padding: 20px;
}

.trm.projects .projects-container .project-item img { max-width: 100%; }


/* Shop page */

.shop .col5 { margin-bottom: 50px; }

.shop img {
    display: block;
    width: 80px;
    margin-bottom: 5px;
}

.shop h3 {
    font: 20px "Roboto", sans-serif;
    margin: 0;
    padding: 0;
}

.shop ul {
    list-style-type: none;
    margin: 0.5em 0;
    padding: 0;
}

.shop ul li {
    margin: 0 0 0.5em 0;
    padding: 0;
    line-height: 140%;
}

.shop ul li.hidden { display: none; }

.shop ul a {
    color: #000;
}

.shop .categories-more {
    color: var(--main-blue);
    cursor: pointer;
}


/* Search page */

.search-results {
    border: 1px solid #e7edf0;
    padding: 50px;
}


/* Services-Projects */

.projects-highlighted {
    border: 1px solid #e7edf0;
    padding: 50px;
    margin: 50px 0 0 0;
}

.services-detail .col2 {
	padding-bottom: 20px !important;
}
.services-detail-item {
    background: #f0f0f0 url("../img/icon-doc.svg") 10px 10px no-repeat;
    background-size: 18px;
    border-radius: 3px;
    padding: 14px 14px 14px 38px;
    height: 100%;
}


/* Finbox */

.finbox {
    margin-top: 20px;
    border-top: 1px solid #e7edf0;
    padding-top: 20px;
}

/* Cookie consent */

.trm.cookie {
    position: fixed;
    bottom: 0.5rem;
    left: 0.5rem;
    right: auto;
    width: 24rem;
    display: none;
    box-shadow: 0 3px 25px rgba(0,0,0,0.1);
    z-index: 999;
    flex-direction: column;
    background-color: #fff;
    padding: 2rem;
}

.trm.cookie .trm.btn {
    width: 150px;
}

/* xs */
@media (max-width: 817px) {
    .trm.cookie {
        right: 0.5rem;
        width: auto;
    }
}
/* Fix: одинаковые превью товаров в каталоге (carousel/list) */
.commodity-item .commodity-img {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.commodity-item .commodity-img a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.commodity-item .commodity-img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
