@font-face {
    font-family: 'TT Norms';
    src: url('../fonts/TTNorms-Bold.eot');
    src: local('TT Norms Bold'), local('TTNorms-Bold'),
         url('../fonts/TTNorms-Bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/TTNorms-Bold.woff') format('woff'),
         url('../fonts/TTNorms-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'TT Norms';
    src: url('../fonts/TTNorms-Regular.eot');
    src: local('TT Norms Regular'), local('TTNorms-Regular'),
         url('../fonts/TTNorms-Regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/TTNorms-Regular.woff') format('woff'),
         url('../fonts/TTNorms-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'TT Norms';
    src: url('../fonts/TTNorms-Medium.eot');
    src: local('TT Norms Medium'), local('TTNorms-Medium'),
         url('../fonts/TTNorms-Medium.eot?#iefix') format('embedded-opentype'),
         url('../fonts/TTNorms-Medium.woff') format('woff'),
         url('../fonts/TTNorms-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

html, body {
	height: 100%;
}

body {
    font-family: 'TT Norms', sans-serif;
    background: #F7F7F7 url(../img/bg.png) repeat-y scroll center;
    /*background: #F7F7F7;*/
}

body > header, 
body > footer {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

body > main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.fixed {
    position: fixed;
    top: 0;
    z-index: 9999;
}

.no-events {
    pointer-events: none;
}

.fancy-wrap {
	cursor: default;
}

.fancy-wrap .content {
	background: #fff;
	margin: 0 auto;
}

.fancy-wrap .fancybox-close {
	position: absolute;
	right: -50px;
	background: transparent;
	top: -10px;
}

.form-title {
	font-weight: bold;
	font-size: 26px;
	line-height: 31px;
	letter-spacing: -0.03em;
	color: #000000;
	margin-bottom: 15px;
}

.form-button {
	width: 181px;
	height: 48px;
	background: #F58737;
	box-shadow: 4px 9px 20px rgba(245, 135, 55, 0.22);
	font-weight: bold;
	font-size: 13px;
	line-height: 48px;
	text-align: center;
	text-transform: uppercase;
	color: #FFFFFF;
}

.login-button {
	width: 100px;
}

.input {
	position: relative;
	width: 100%;
}

form .input {
	margin-bottom: 15px;
}

.input-field {
	width: 100%;
	height: 48px;
	border: none;
	background: #FFF;
	box-shadow: 0 9px 19px rgba(0, 0, 0, 0.11);
	padding: 15px;
	font-size: 15px;
}

textarea.input-field {
	height: auto;
	resize: vertical;
	min-height: 150px;
}

.input-button {
	cursor: pointer;
	width: 48px;
	height: 48px;
	position: absolute;
	margin: 0;
	right: 0;
	top: 0;
}

.input-field--bordered {
	background: #FFFFFF;
	border: 2px solid #DBDBDB;
	padding: 15px;
	font-weight: 500;
	font-size: 17px;
	line-height: 20px;
	box-shadow: none;
}

a:hover,
a:active,
a:focus,
.button:hover,
.button:active,
.button:focus {
	text-decoration: none;
    transition: color .3s;
}

.button {
	text-transform: uppercase;
	font-weight: bold;
	display: inline-block;
	transition: color .3s, background .3s, box-shadow .3s;
	cursor: pointer;
}

.button--bordered {
	border: 1px solid #D1DAE2;
	color: #314394;
	background: #fff;
	padding: 10px 20px;
}

.button--bordered:hover {
	color: #fff;
	background: #314394;
}

.button--bordered-blue {
    border: 2px solid #314394;
    color: #314394;
    background: #fff;
    padding: 10px 20px;
    font-size: 13px;
}

.button--bordered-blue:hover {
    color: #fff;
    background: #314394;
}

.button--blue {
	color: #fff;
	background: #314394;
	box-shadow: 4px 9px 20px rgba(49, 67, 148, 0.22);
}

.button--blue:hover {
	box-shadow: 0 0 0 rgba(49, 67, 148, 0.22);
	color: #fff;
}

.button--orange {
	color: #fff;
	background: #F58737;
	box-shadow: 4px 9px 20px rgba(245, 135, 55, 0.22);
}

.button--orange:hover {
	box-shadow: 0 0 0 rgba(245, 135, 55, 0.22);
	color: #fff;
}

.button--link {
	font-weight: bold;
	font-size: 16px;
	line-height: 23px;
	text-decoration: underline;
	color: #F58737;
	display: inline-block;
}

.button--link:hover {
	text-decoration: none;
	color: #F58737;
}

.button--remember-link,
.button--remember-link:hover {
	color: #314394;
}

.custom-radio {
	cursor: pointer;
}

.custom-radio > span {
    display: inline-flex;
    align-items: center;
    user-select: none;
}

.custom-radio > span::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	flex-grow: 0;
	border-radius: 50%;
	margin-right: 10px;
	border: 2px solid #DBDBDB;
	transition: all .3s;
}

.custom-radio > input:not(:disabled):not(:checked) + span:hover::before {
    border-color: #f58737;
}

.custom-radio > input:not(:disabled):active + span::before {
    background-color: #b3d7ff;
    border-color: #b3d7ff;
}

.custom-radio > input:checked + span::before {
	border: 4px solid #F58737;
}

.custom-checkbox {
	margin-bottom: 5px;
	cursor: pointer;
}

.custom-checkbox > span {
    user-select: none;
	font-weight: 500;
	font-size: 16px;
	line-height: 19px;
	color: #2D2D2D;
}

.custom-checkbox > span::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    flex-grow: 0;
    border: 2px solid #dbdbdb;
    border-radius: 0;
    margin-right: 10px;
    transition: all .3s;
}

.custom-checkbox > input:not(:disabled):not(:checked) + span:hover::before {
    border-color: #F58737;
}

.custom-checkbox > input:not(:disabled):active + span::before {
    background-color: #F58737;
    border-color: #F58737;
}

.custom-checkbox > input:focus:not(:checked) + span::before {
    border-color: #F58737;
}

.custom-checkbox > input:checked + span::before {
    border-color: #F58737;
    background-color: #F58737;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

.pagination ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pagination-link:not(.prev):not(.next) {
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    background: #fff;
    border: 2px solid #949494;
    padding: 0 15px;
    height: 36px;
    font-weight: 500;
	font-size: 16px;
	color: #585858;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pagination-item {
    margin: 0 8px
}

.pagination-item.active .pagination-link,
.pagination-item:hover .pagination-link:not(.prev):not(.next) {
    color: #fff;
    background: #484848;
    border: 2px solid #484848;
}

.pagination-disabled {
	font-weight: 500;
	font-size: 16px;
	line-height: 19px;
	color: #949494;
	opacity: 0.6;
}

.breadcrumbs ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.breadcrumbs__link {
    font-size: 14px;
    color: #314394;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    position: relative;
}

.breadcrumbs__item {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.breadcrumbs__item:last-of-type .breadcrumbs__link {
	color: #595959;
}

.breadcrumbs__item::after {
	content: '/';
	margin-left: 3px;
	margin-right: 3px;
	color: #595959;
}

.breadcrumbs__item:last-of-type:after {
    display: none !important
}

.block-header {
	font-weight: bold;
	font-size: 34px;
	line-height: 40px;
	letter-spacing: -0.03em;
	color: #000;
	margin-bottom: 40px;
}

.page-title {
	font-weight: 500;
	font-size: 26px;
	line-height: 31px;
	letter-spacing: -0.03em;
	color: #000000;
	margin-bottom: 20px;
}

.header-top {
    color: #595959;
    border-bottom: 1px solid #E1E1E1;
    padding: 10px 0;
    background: #fff;
}

.header-top-button {
    font-size: 12px;
}

.header-top_menu-link {
    font-weight: 500;
    font-size: 15px;
    text-decoration: underline;
    color: #595959;
    margin-right: 30px;
}

.header-top_menu-link:hover {
    color: #314394;
    text-decoration: none;
}

.header-top_phones-phone {
    font-weight: bold;
    font-size: 15px;
    color: #595959;
    margin-right: 10px;
    transition: color .3s;
}

.header-top_phones-phone:hover {
    color: #314394;
}

.header-middle {
    padding: 10px 0 20px;
}

.header-middle_search {
    margin: 0 20px;
}

.header-middle_search .input {
    box-shadow: 0px 9px 19px rgba(0, 0, 0, 0.11);
    margin-bottom: 0;
}

.header-middle_search-button {
    background: #314394;
    box-shadow: 4px 9px 20px rgba(49, 67, 148, 0.22);
    transition: box-shadow .3s;
}

.header-middle_search-button:hover {
    box-shadow: 0 0 0 rgba(49, 67, 148, 0.22);
}

.search-results {
    position: absolute;
    background: #fff;
    box-shadow: 0px 9px 19px rgba(0, 0, 0, 0.11);
    z-index: 1;
    width: 100%;
    margin-top: 12px;
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}

.search-results.active {
    visibility: visible;
    opacity: 1;
    display: block;
}

.search-result + .search-result {
    border-top: 1px solid rgba(44, 44, 44, 0.15);
}

.search-result-link {
    font-weight: 500;
    font-size: 16px;
    display: inline-block;
    min-height: 50px;
    letter-spacing: -0.03em;
    color: #314394;
    padding: 0 20px;
    transition: color .3s;
    width: 100%;
    line-height: 50px;
}

.search-result-link:hover {
    color: #F58737;
}

.header-middle_cart {
    box-shadow: 0px 9px 20px rgba(0, 0, 0, 0.09);
    padding: 13px 15px;
}

.header-middle_cart-text {
    margin: 0 20px 0 10px;
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
    color: #314394;
}

.header-middle_cart-count {
    border: 1px solid rgba(66, 66, 66, 0.3);
    height: 21px;
    width: 21px;
    font-weight: bold;
    font-size: 11px;
    color: #424242;
}

.header-bottom_menu {
    background: #2C2C2C;
}

.header-bottom_menu-link {
    padding: 20px;
    display: inline-block;
    font-weight: bold;
    font-size: 16px;
    color: #FFFFFF;
    background: #2C2C2C;
    transition: color .3s, background .3s;
}

.header-bottom_menu-link--cabinet {
    background: #F58737;
}

.header-bottom_menu-link--catalog {
    background: #314394;
}

.header-bottom_menu-link:hover {
    background: #314394;
    color: #fff;
}

.submenu {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
    position: absolute;
    background: #fff;
    z-index: 1;
}

li:hover .submenu,
.submenu:hover {
    display: block;
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.menu_button {
    position: relative;
    width: 39px;
    height: 28px;
    z-index: 21;
    cursor: pointer;
}

.menu_button-icon-1 {
    position: absolute;
    width: 39px;
    height: 27px;
    top: 50%;
    left: 50%;
    margin: -14px 0 0 -20px;
}

.menu_button-icon-1>span {
    position: absolute;
    width: 39px;
    height: 4px;
    left: 0;
    background-color: #000;
    transition: transform .4s ease-in-out, opacity .4s ease-in-out, background .3s;
}

.menu_button-icon-1>.n1 {
    top: 0;
    transition-delay: .5s;
}

.menu_button-icon-1>.n2 {
    top: 50%;
    margin-top: -2px;
    transition-delay: .6s;
}

.menu_button-icon-1>.n3 {
    bottom: 0;
    transition-delay: .7s;
}

.menu_button.collapsed .menu_button-icon-1>span {
    opacity: 0;
    transform: scale(0);
}

.menu_button.collapsed .menu_button-icon-1>.n1 {
    transition-delay: 0s;
}
.menu_button.collapsed .menu_button-icon-1>.n2 {
    transition-delay: .1s;
}
.menu_button.collapsed .menu_button-icon-1>.n3 {
    transition-delay: .2s;
}

.menu_button-icon-2 {
    position: absolute;
    width: 28px;
    height: 28px;
    top: 50%;
    left: 50%;
    margin: -14px 0 0 -14px;
}

.menu_button-icon-2:before, .menu_button-icon-2:after {
    content: '';
    position: absolute;
    width: 33px;
    height: 6px;
    top: 50%;
    left: 50%;
    margin: -3px 0 0 -16px;
    background-color: #000;
    opacity: 0;
    transition: transform .4s ease-in-out, opacity .4s ease-in-out;
}

.menu_button-icon-2:before {
    transform: scale(0) rotate(45deg);
    transition-delay: .4s;
}

.menu_button-icon-2:after {
    transform: scale(0) rotate(-45deg);
    transition-delay: .5s;
}

.menu_button.collapsed .menu_button-icon-2:before {
    opacity: 1;
    transform: scale(1) rotate(45deg);
    transition-delay: .4s;
}

.menu_button.collapsed .menu_button-icon-2:after {
    opacity: 1;
    transform: scale(1) rotate(-45deg);
    transition-delay: .5s;
}

.categories-slider.slick-dotted {
	margin-bottom: 110px;
	padding: 0 50px;
}

.categories-slider .slick-prev {
	left: 0;
}

.categories-slider .slick-next {
	right: 0;
}

.categories-slide {
	padding: 80px 0;
}

.categories-slide-title {
	font-weight: bold;
	font-size: 34px;
	line-height: 40px;
	letter-spacing: -0.03em;
	color: #000000;
	margin-bottom: 15px;
}

.categories-slide-text {
	font-size: 16px;
	color: #595959;
	margin-bottom: 45px;
}

.categories-slide-button {
	padding: 15px 30px;
}

.info-block {
	border: 1px dashed rgba(49, 67, 148, 0.3);
	padding: 30px;
}

.info-block-img-wrap {
	margin-bottom: 10px;
}

.info-block-title {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 16px;
	color: #314394;
}

.info-block-link {
	color: #F58737;
	text-decoration: underline;
	transition: text-shadow .3s;
	text-shadow: 1px 2px 3px rgba(245, 135, 55, 0);
}

.info-block-link:hover {
	text-shadow: 1px 2px 3px rgba(245, 135, 55, 0.5);
	color: #F58737;
}

.info-block-text {
	font-size: 14px;
	color: #595959;
}

.categories-list-item + .categories-list-item {
	border-top: 1px solid rgba(44, 44, 44, 0.15);
}

.categories-list-link {
	font-weight: 500;
	font-size: 16px;
	color: #585858;
	padding: 15px 0;
}

.submenu .categories-list-link {
	padding: 15px;
}

.categories-list-img-wrap {
	margin-right: 10px;
}

.product-card {
	background: #FFF;
	box-shadow: 0 10px 15px rgba(23, 27, 41, 0.1);
	padding: 25px;
	margin-bottom: 45px;
}

.product-img-wrap {
	margin-bottom: 10px;
}

.product-title {
	font-weight: 500;
	font-size: 16px;
	line-height: 21px;
	color: #585858;
	margin-bottom: 15px;
}

.product-prices {
	margin-bottom: 25px;
}

.product-price {
	font-weight: bold;
	font-size: 18px;
	line-height: 23px;
	color: #2C2C2C;
	margin-right: 10px;
}

.product-price-old {
	font-size: 18px;
	line-height: 23px;
	text-decoration-line: line-through;
	color: #BABABA;
}

.product-button {
	padding: 10px 15px;
	font-weight: bold;
	font-size: 11px;
	line-height: 14px;
	text-align: center;
	text-transform: uppercase;
	color: #FFFFFF;
}

.news-card {
	border: 1px dashed rgba(49, 67, 148, 0.3);
	padding: 15px 20px;
	margin-bottom: 25px;
	background: transparent;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: box-shadow .3s, background .3s;
	min-height: 170px;
}

.news-card:hover {
	background: #FFFFFF;
	box-shadow: 0 9px 19px rgba(0, 0, 0, 0.11);
}

.news-img-wrap {
	flex-basis: 170px;
	flex-shrink: 0;
	margin-right: 15px;
}

.news-date {
	font-size: 14px;
	line-height: 21px;
	color: #BABABA;
	margin-bottom: 3px;
}

.news-title {
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
	color: #2C2C2C;
	margin-bottom: 3px;
}

.news-description {
	font-size: 15px;
	line-height: 21px;
	color: #828282;
}

.news-content {
	font-size: 17px;
	line-height: 22px;
	color: #2C2C2C;
	margin-bottom: 40px;
}

.review-card {
	border: 1px dashed rgba(49, 67, 148, 0.3);
	padding: 15px 10px 15px 20px;
	min-height: 170px;
	margin-bottom: 25px;
}

.review-info {
	flex-basis: 160px;
	flex-shrink: 0;
	margin-right: 15px;
}

.review-product {
	font-weight: 500;
	font-size: 17px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 25px;
}

.review-text {
	font-size: 15px;
	line-height: 21px;
	color: #2C2C2C;
}

.review-button {
	margin-top: 5px;
	font-size: 14px;
	line-height: 21px;
}

.map {
	margin-bottom: 40px;
}

.search .input-field {
	box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.11);
}

.shares .news-title {
	font-weight: bold;
	font-size: 18px;
	line-height: 22px;
	color: #314394;
}

.category-card {
	padding: 40px 25px;
	background: #FFFFFF;
	box-shadow: 0px 11px 27px rgba(23, 27, 41, 0.1);
	height: 300px;
	margin-bottom: 30px;
}

.category-title {
	font-weight: 500;
	font-size: 20px;
	line-height: 21px;
	color: #585858;
	text-align: center;
}

.faq {
	margin-bottom: 40px;
}

.faq-item {
	border: 1px dashed rgba(49, 67, 148, 0.3);
	padding: 25px 30px;
	margin-bottom: 20px;
	background: transparent;
	transition: background .3s, border .3s;
}

.faq-item.active {
	background: #fff;
	border: 1px dashed transparent;
}

.faq-question {
	font-weight: 500;
	font-size: 20px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 10px;
}

.faq-trigger {
	position: relative;
}

.faq-trigger::before {
	content: 'Развернуть ответ';
	font-weight: 500;
	font-size: 17px;
	line-height: 21px;
	text-decoration: underline;
	color: #F58737;
	transition: color .3s;
	cursor: pointer;
}

.faq-item.active .faq-trigger::before {
	content: 'Свернуть ответ';
	color: #314394;
}

.faq-answer {
	display: none;
	margin-top: 10px;
}

.price-list {
	margin-bottom: 40px;
}

.price-item {
	border: 1px dashed rgba(49, 67, 148, 0.3);
	padding: 25px 30px;
	margin-bottom: 20px;
}

.price-title {
	font-weight: 500;
	font-size: 20px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 5px;
}

.price-info {
	font-size: 15px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 10px;
}

.price-download {
	font-weight: 500;
	font-size: 17px;
	line-height: 21px;
	text-decoration-line: underline;
	color: #F58737;
	transition: color .3s;
}

.price-download:hover {
	color: #314394;
}

.solutions {
	margin-bottom: 40px;
}

.solution-item {
	padding: 30px;
	border: 1px dashed rgba(49, 67, 148, 0.3);
	margin-bottom: 25px;
}

.solution-img-wrap {
	flex-basis: 150px;
	margin-right: 30px;
}

.solution-title {
	font-weight: 500;
	font-size: 20px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 10px;
}

.solution-text {
	font-size: 15px;
	line-height: 21px;
	color: #2C2C2C;
}

.payment-item {
	margin-bottom: 50px;
}

.payment-title {
	font-weight: 500;
	font-size: 21px;
	line-height: 25px;
	letter-spacing: -0.03em;
	color: #000000;
}

.payment-text {
	font-size: 17px;
	line-height: 22px;
	color: #2C2C2C;
	margin-bottom: 10px;
}

#callback .content {
	padding: 30px 60px;
	max-width: 400px;
}

#success .content {
	padding: 30px 60px;
	max-width: 320px;
}

#success img {
	margin-bottom: 20px;
}

.success-title {
	font-weight: 500;
	font-size: 20px;
	line-height: 21px;
	color: #2C2C2C;
	margin-bottom: 10px;
}

.success-text {
	font-size: 15px;
	line-height: 21px;
	text-align: center;
	color: #2C2C2C;
	opacity: 0.8;
}

#one-click .content {
	padding: 25px 45px;
	max-width: 485px;
}

.one-click-img-wrap {
	flex-basis: 80px;
	flex-shrink: 0;
	margin-right: 15px;
}

.one-click-info {
	margin-bottom: 20px;
}

.one-click-title {
	font-weight: 500;
	font-size: 16px;
	line-height: 21px;
	color: #585858;
}

.one-click-prices {
	font-size: 18px;
	line-height: 23px;
}

.one-click-price-old {
	text-decoration: line-through;
	color: #BABABA;
	margin-bottom: 3px;
}

.one-click-price {
	font-weight: bold;
	color: #2C2C2C;
}

.one-click-text {
	font-weight: 500;
	font-size: 15px;
	line-height: 19px;
	color: #2C2C2C;
	margin-bottom: 20px;
}

#login .content {
	max-width: 400px;
	padding: 30px 60px;
}

#register .content {
	max-width: 520px;
	padding: 30px 60px;
}

.contacts,
.partners-dealers {
	margin-bottom: 40px;
}

.partners-dealers .phones a {
    font-weight: bold;
    font-size: 15px;
    line-height: 18px;
    color: #595959;
}

.cabinet-item {
    margin-bottom: 20px;
}

.cabinet-item-title {
    position: relative;
    font-weight: 500;
    font-size: 20px;
    line-height: 21px;
    color: #2C2C2C;
    margin-bottom: 5px;
}

.cabinet-item-title::before {
    content: '•';
}

.cabinet-item-subtitle {
    font-size: 15px;
    line-height: 21px;
    color: #828282;
    margin-bottom: 15px;
    text-indent: 10px
}

.cabinet .order-info {
    font-weight: 500;
    font-size: 15px;
    line-height: 21px;
    color: #2C2C2C;
}

.cabinet .status-info {
    font-size: 15px;
    line-height: 21px;
    color: #828282;
}

.cabinet .status-info span {
    font-weight: 600;
    color: #314394;
}

.subcatalog {
    margin-bottom: 40px;
}

.subcatalog-item {
    background: #F9F9F9;
    box-shadow: 0px 11px 27px rgba(23, 27, 41, 0.1);
    padding: 15px 25px;
    margin-bottom: 25px;
    min-height: 190px;
}

.subcatalog-top {
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.subcatalog-img-wrap {
    flex-basis: 150px;
    margin-right: 30px;
    height: 75px;
    overflow: hidden;
}

.subcatalog-title {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    color: #2C2C2C;
}

.subcatalog-bottom {
    padding-top: 15px;
}

.subcatalog-link {
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    color: #314394;
}

.cart {
    margin-bottom: 40px;
}

.cart .container {
    background: #fff;
}

.cart-item {
    margin-bottom: 15px;
    position: relative;
}

.cart-item + .cart-item {
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.cart-item-img-wrap {
    flex-basis: 155px;
    border: 1px solid rgba(211, 211, 211, 0.4);
    overflow: hidden;
    margin-right: 30px;
}

.cart-item-info {
    flex-basis: 35%;
}

.item-title {
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.03em;
    color: #314394;
    margin-bottom: 5px;
}

.item-sku {
    font-size: 14px;
    line-height: 21px;
    color: #595959;
}

.count-button {
    background: #FFFFFF;
    border: 2px solid #828282;
    border-radius: 0px;
    font-weight: 500;
    font-size: 21px;
    line-height: 39px;
    color: #2C2C2C;
    flex-shrink: 0;
    width: 39px;
    height: 39px;
    align-items: center;
    justify-content: center;
    display: flex;
    cursor: pointer;
}

.cart-count-field {
    margin: 0 10px;
    background: #FFFFFF;
    border: 2px solid #DBDBDB;
    border-radius: 0px;
    font-weight: 500;
    font-size: 17px;
    line-height: 39px;
    height: 39px;
    box-sizing: border-box;
    color: #585858;
    text-align: center;
    max-width: 60px;
}

.item-price {
    font-weight: bold;
    font-size: 25px;
    line-height: 30px;
    color: #2C2C2C;
}

.item-discount {
    font-size: 15px;
    line-height: 18px;
    color: #595959;
}

.item-discount span {
    font-weight: bold;
}

.item-remove {
    background: #F1F1F1;
    width: 42px;
    height: 42px;
    cursor: pointer;
}

.promocode-block {
    background: rgba(251, 251, 251, 0.4);
    border: 2px solid #D1DAE2;
    padding: 30px;
    margin-bottom: 20px;
}

.promocode-button {
    background: #FFFFFF;
    border: 2px solid #314394;
    font-weight: bold;
    font-size: 13px;
    line-height: 14px;
    text-align: center;
    text-transform: uppercase;
    color: #314394;
    height: 48px;
    line-height: 48px;
    padding: 0 20px;
    transition: color .3s, background .3s;
    max-width: 150px;
}

.promocode-button:hover {
    color: #fff;
    background: #314394;
}

.promocode-block .input {
    width: 275px;
    margin-right: 15px;
    font-weight: 500;
    font-size: 17px;
    line-height: 20px;
    color: #BABABA;
}

.checkout-button {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.cart-cost {
    font-weight: bold;
    font-size: 24px;
    line-height: 28px;
    color: #2C2C2C;
}

.cart-cost span {
    font-weight: bold;
    font-size: 25px;
    line-height: 30px;
    color: #0FAF6C;
}

.cart-discount {
    font-size: 17px;
    line-height: 21px;
    letter-spacing: 0.01em;
    color: #595959;
}

.checkout {
    margin-bottom: 40px;
}

.checkout-info {
    background: #FBFBFB;
    border: 2px solid #DBDBDB;
    padding: 20px;
    margin-bottom: 15px;
    width: 270px;
}

.checkout-info-item {
    position: relative;
    margin-bottom: 10px;
}

.checkout-info-item::before {
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 3px;
    height: 0.1px;
    border-bottom: 1px dotted #000;
}

.checkout-info-text {
    font-size: 16px;
    line-height: 17px;
    letter-spacing: 0.01em;
    color: #595959;
    background: #fbfbfb;
    position: relative;
    padding-right: 3px;
}

.checkout-info-value {
    font-size: 17px;
    line-height: 17px;
    letter-spacing: 0.01em;
    background: #fbfbfb;
    color: #595959;
    position: relative;
    padding-left: 3px;
}

.checkout-info-total {
    font-size: 20px;
    line-height: 24px;
    color: #2C2C2C;
}

.checkout-info-total span {
    color: #0FAF6C;
}

.checkout-item {
    margin-bottom: 15px;
}

.checkout-item-content {
    border: 2px solid #D1DAE2;
    margin-top: -2px;
    background: #fff;
    padding: 15px 0;
}

.checkout-item-header {
    background: #484848;
    font-weight: bold;
    font-size: 20px;
    line-height: 50px;
    letter-spacing: -0.03em;
    color: #FFFFFF;
    padding: 0 15px;
    position: relative;
}

.checkout-button--link {
    font-weight: bold;
    font-size: 17px;
    line-height: 50px;
    text-decoration: underline;
    color: #F58737;
}

.checkout-button--link:hover {
    color: #f58737;
}

.checkout-button--link span {
    color: #fff;
    text-decoration: none;
}

.order-item {
    padding: 15px;
}

.order-item + .order-item {
    border-top: 1px solid #D1DAE2;
}

.order-item-img-wrap {
    border: 1px solid rgba(211, 211, 211, 0.4);
    flex-basis: 130px;
    margin-right: 30px;
}

.order-item-title {
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.03em;
    color: #314394;
    flex-basis: 35%;
}

.order-item-count {
    font-weight: 500;
    font-size: 17px;
    line-height: 20px;
    color: #585858;
}

.order-item-cost {
    font-weight: bold;
    font-size: 25px;
    line-height: 30px;
    color: #2C2C2C;
}

.filters {
    background: #fff;
    margin-bottom: 30px;
}

.filters.fancybox-content {
    padding: 0;
    max-width: 330px;
    width: 90%;
}

.filters-header {
    background: #484848;
    font-weight: bold;
    font-size: 16px;
    line-height: 55px;
    color: #FFF;
    padding: 0 15px;
}

.filter-item {
    padding: 15px;
}

.filter-item + .filter-item {
    border-top: 1px solid rgba(0, 0, 0, .2);
}

.filter-title {
    font-weight: bold;
    font-size: 16px;
    line-height: 19px;
    color: #2D2D2D;
    margin-bottom: 20px;
}

.filter-toggler img {
    transition: transform .3s;
    transform: scaleY(-1);
}

.filter-toggler.active img {
    transform: scaleY(1);
}

.filter-input {
    margin-bottom: 15px;
}

.filter-input::before,
.filter-input::after {
    position: absolute;
    font-weight: 500;
    font-size: 17px;
    line-height: 48px;
    color: #C4C4C4;
    top: 0;
}

.filter-input::before {
    content: attr(data-before);
    left: 15px;
}

.filter-input::after {
    content: attr(data-after);
    right: 15px;
}

.filter-input input {
    padding-left: 40px;
    padding-right: 40px;
}

.products-header {
    font-weight: bold;
    font-size: 16px;
    line-height: 19px;
    color: #FFF;
    background: #484848;
    min-height: 55px;
    padding: 0 15px;
    margin-bottom: 25px;
}

.view-button {
    opacity: 0.5;
    transition: opacity .3s;
}

.view-button.active {
    opacity: 1;
}

.tabs {
    margin: 10px 0;
}

.tabs-nav {
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 100%;
    background: #F0F0F0;
}

.tabs-nav li {
    display: block;
    float: left;
    padding: 0;
    list-style: none;
}

.tabs-nav a {
    display: block;
    padding: 0 30px;
    background: #f0f0f0; 
    text-decoration: none;
    text-align: center;
    color: #2C2C2C;
    font-weight: bold;
    font-size: 17px;
    line-height: 70px;
    letter-spacing: -0.03em;
    transition: background .3s, color .3s;
}

.tabs-nav a.active,
.tabs-nav a:hover {
    background: #fff;
    color: #F58737;
}

.tabs-items {
    background: #fff;
    margin: -1px 0 0 0;
}

.tab-header {
    font-weight: 500;
    font-size: 25px;
    line-height: 30px;
    letter-spacing: -0.03em;
    color: #000;
    padding: 20px 30px;
}

.review {
    border-top: 1px solid #E2E2E2;
    padding: 30px;
}

.review-header {
    margin-bottom: 15px;
}

.review-user {
    font-weight: 500;
    font-size: 17px;
    line-height: 23px;
    color: #2C2C2C;
    margin-right: 10px;
}

.review-date {
    font-size: 16px;
    line-height: 23px;
    color: #BABABA;
}

.review-user-avatar {
    flex-basis: 40px;
    margin-right: 15px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
}

.review-part {
    margin-bottom: 10px;
}

.review-part-title {
    font-weight: bold;
    font-size: 16px;
    line-height: 23px;
    color: #2C2C2C;
    margin-bottom: 5px;
}

.review-part-text {
    font-size: 16px;
    line-height: 23px;
    color: #595959;
}

.reviews-link {
    font-size: 14px;
    line-height: 21px;
    color: #314394;
    border-bottom: 1px dashed #B4BDE7;
}

.product-meta {
    margin-bottom: 25px;
}

.product-meta .rating {
    margin: 0 15px 0 20px;
}

.share-link {
    font-size: 14px;
    line-height: 21px;
    color: #595959;
}

.product-info-price-old {
    font-size: 22px;
    line-height: 26px;
    text-decoration: line-through;
    color: #BABABA;
}

.product-info-price {
    font-weight: bold;
    font-size: 30px;
    line-height: 35px;
    color: #2C2C2C;
}

.product-store {
    font-weight: bold;
    font-size: 10px;
    line-height: 12px;
    text-transform: uppercase;
    color: #0FB97C;
    border: 2px solid #0FB97C;
    padding: 10px 12px;
    width: 120px;
}

.product-bonus-price {
    font-size: 18px;
    line-height: 21px;
    color: #595959;
    background: #F1F1F1;
    padding: 10px;
    display: inline-block;
    margin-bottom: 20px;
}

.product-bonus-price span {
    font-weight: bold;
}

.product-buttons {
    margin-bottom: 25px;
}

.shipment-info {
    font-size: 18px;
    line-height: 30px;
    color: #595959;
}

.shipment-info img {
    margin-right: 10px;
}

.shipment-list {
    font-size: 18px;
    line-height: 30px;  
    color: #2C2C2C;
    font-weight: 500;
    padding-left: 50px;
}

.feedback-block {
    border: 2px solid #D1DAE2;
    padding: 30px 35px;
    margin-bottom: 50px;
}

.feedback-block .info {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.01em;
    color: #595959;
}

.product .phones a {
    font-weight: bold;
    font-size: 16px;
    line-height: 19px;
    color: #2C2C2C;
}

.product-thumbnail.slick-current {
    border: 2px solid #F58737;
}

footer {
	background: #2C2C2C;
	color: #fff;
	padding-top: 50px;
}

.footer-column-header {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 20px;
}

.footer-menu-link {
	color: #828282;
	font-size: 16px;
	transition: color .3s;
}

.footer-menu-link:hover,
.footer-menu-link:active,
.footer-menu-link:focus {
	color: #fff;
}

.footer-subscribe-info {
	font-size: 15px;
	margin-bottom: 15px;
}

.footer-subscribe-button {
	background: #F58737;
	box-shadow: 4px 9px 20px rgba(245, 135, 55, 0.15);
	transition: box-shadow .3s;
}

.footer-subscribe-button:hover {
	box-shadow: 0 0 0 rgba(245, 135, 55, 0.15);
}

.footer-copyright {
	padding: 20px 0;
	color: #757575;
	font-size: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	margin-bottom: 15px;
	margin-top: 40px;
}

/* >= small */
@media (min-width: 576px) {
}

/* >= medium */
@media (min-width: 768px) {
}

/* >= large */
@media (min-width: 992px) {
}

/* >= extra large */
@media (min-width: 1200px) {
}

/* < large */
@media (max-width: 1199.98px) {
	.header-top_menu-link {
		margin-right: 15px;
		font-size: 14px;
	}

	.header-top_info {
		font-size: 14px;
	}

	body.home .header-bottom_menu-link {
		padding: 20px 30px;
	}

	.header-bottom_menu-link {
		padding: 20px 10px;
	}

    .checkout-info {
        width: 210px;
    }
}

/* < medium */
@media (max-width: 991.98px) {
	.header-middle_cart {
		position: fixed;
		right: 30px;
		bottom: 30px;
		background: #fff;
		z-index: 1;
	}

	#main-menu {
		position: absolute;
		left: -100vw;
		background: #fff;
		box-shadow: 0 0 0 rgba(0,0,0,0);
		transition: left .5s;
		right: 0;
		margin: 0;
		height: 100vh;
		top: 0;
		z-index: 2;
		background: #2C2C2C;
	}

	#main-menu.show {
		left: 0;
        overflow: auto;
	}

	.header-top {
	    background: transparent;
	    color: #fff;
	    border-bottom: 0;
	}

	.header-top_phones-phone,
	.header-top_phones-phone:hover,
	.header-top_menu-link,
	.header-top_menu-link:hover {
		color: #fff;
		font-size: 16px;
	}

	.header-top_info {
		font-size: 16px;
	}

	.header-bottom_menu-link {
		width: 100%;
	}

	li:hover .submenu,
	.submenu:hover {
	    display: none;
	    opacity: 0;
	    visibility: hidden;
	}

	.fancybox-content .submenu {
	    display: block;
	    opacity: 1;
	    visibility: visible;
	    position: static;
	}

	.fancybox-content .categories-list-link {
		padding: 15px;
	}

    .checkout-info {
        width: 100%;
    }
}

/* < small */
@media (max-width: 767.98px) {
    .latest-slider .slick-prev,
    .related-slider .slick-prev {
        top: -20px;
        left: 15px;
    }

    .latest-slider .slick-next,
    .related-slider .slick-next {
        top: -20px;
        right: 15px;
    }

	.review-info {
		flex-basis: auto;
		margin-right: 0;
	}

    .cart-item-info {
        flex-basis: calc(100% - 185px);
    }

    .order-item-title {
        flex-basis: calc(100% - 160px);
    }
}

/* < extra-small */
@media (max-width: 575.98px) {
	.collapsed .menu_button-icon-1>span {
	    background: #fff;
	}

	.collapsed .menu_button-icon-2:before, 
	.collapsed .menu_button-icon-2:after {
	    background: #fff;
	}

	.header-middle_logo {
	    -ms-flex-positive: 1;
	    flex-grow: 1;
	}

	.header-middle_search {
		flex-basis: 100%;
		margin: 20px 0 0;
	}

	.categories-slider.slick-dotted {
		margin-bottom: 70px;
		padding: 0;
	}

	.categories-slide {
		padding: 30px 0;
	}

	.block-header,
	.categories-slide-title {
		font-size: 30px;
	}

	.fancybox-slide--html .fancybox-close-small {
		right: 20px;
		top: 0;
	}

	.fancy-wrap .fancybox-close {
		right: -10px;
		top: -40px;
	}

	.fancybox-content {
		padding: 40px 30px;
	}

	.search-result-link {
		line-height: 1.5;
	}

	#callback .content,
	#success .content,
	#login .content,
	#register .content {
		padding: 30px;
	}

	.solution-img-wrap {
		flex-basis: auto;
		margin-bottom: 10px;
	}

    .subcatalog-img-wrap {
        flex-basis: 75px;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .cart-item-info {
        flex-basis: 100%;
        margin-top: 10px;
    }

    .item-remove {
        position: absolute;
        right: 0;
        top: 15px;
    }

    .promocode-block .input {
        margin-right: 0;
    }

    .order-item-title {
        flex-basis: 100%;
    }

    .breadcrumbs ul {
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}