@charset 'UTF-8';

@font-face {
	font-family: 'PT Sans';
	font-weight: 400;
	font-style: normal;

	src: url('../fonts/ptsans.woff2') format('woff2'), url('../fonts/ptsans.woff') format('woff'), url('../fonts/ptsans.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'PT Sans';
	font-weight: 700;
	font-style: normal;

	src: url('../fonts/ptsansbold.woff2') format('woff2'), url('../fonts/ptsansbold.woff') format('woff'), url('../fonts/ptsansbold.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'PT Sans';
	font-weight: 400;
	font-style: italic;

	src: url('../fonts/ptsansitalic.woff2') format('woff2'), url('../fonts/ptsansitalic.woff') format('woff'), url('../fonts/ptsansitalic.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'PT Sans';
	font-weight: 700;
	font-style: italic;

	src: url('../fonts/ptsansbolditalic.woff2') format('woff2'), url('../fonts/ptsansbolditalic.woff') format('woff'), url('../fonts/ptsansbolditalic.ttf') format('truetype');
	font-display: swap;
}

/**
 * Сброс стилей
 **/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;

	vertical-align: baseline;

	border: 0;

	font-size: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-spacing: 0;

	border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

input {
	outline: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

/**
 * Основные стили
 **/

:root {
	--g-container-max-width: 1540px;
	--g-gap: 20px;
	--g-gap-half: 10px;
	--g-gap-x2: 40px;
	--g-gap-x3: 60px;
	--g-gap-neg: -20px;
	--g-gap-half-neg: -10px;
}

html {
	height: 100%;
}

body {
	width: 100%;
	height: 100%;

	color: #000;
	background: #fff;

	font-family: 'PT Sans', sans-serif;
	font-weight: 400;

	text-rendering: optimizeLegibility;
	-webkit-text-decoration-skip: objects;
	        text-decoration-skip: objects;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
}

body.locked {
	overflow: hidden;
}

html,
body {
	font-size: 13px;
	line-height: 1.15;
}

*,
*:before,
*:after {
	box-sizing: border-box;
}

/**
 * Основные стили
 */

.no-js .hide-no-js {
	display: none;
}

sup {
	transform: translateY(-50%);

	font-size: .75em;
}

.stretched-link::after {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	content: '';
	pointer-events: auto;

	background-color: rgba(0, 0, 0, 0);
}

input[type='number'] {
	-moz-appearance: textfield;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	margin: 0;

	-webkit-appearance: none;
}

svg {
	display: block;

	width: 1em;
	height: 1em;

	transition: fill 250ms ease-in-out;

	fill: currentColor;
}

.phone-link,
.email-link {
	text-decoration: none !important;

	color: inherit !important;
}

.more-link {
	display: -ms-inline-flexbox;
	display: inline-flex;

	-ms-flex-align: center;
	align-items: center;
}

.more-link .icon {
	width: 1em;
	height: 1em;
	margin-left: .65rem;
}

.delay2 {
	animation-delay: .2s;
}

.delay4 {
	animation-delay: .4s;
}

.delay6 {
	animation-delay: .6s;
}

.delay8 {
	animation-delay: .8s;
}

.delay10 {
	animation-delay: 1s;
}

.clr-white {
	color: #fff !important;
}

.bg-white {
	background-color: #fff !important;
}

.box-shadow {
	box-shadow: 0 4px 10px 0 _rgba(#000, .3);
}

.cell {
	height: 150px;
	padding: 10px;

	background: _rgba(#de4e33, .15);
}

.state-flight-to-disappearance {
	transform-origin: top right;
	animation: flight-to-disappearance 1 linear 1000ms;

	animation-fill-mode: forwards;
}

a {
	cursor: pointer;
	transition: color 250ms ease-in-out;
	text-decoration: underline;

	color: #0652dd;
	outline: 0;
}

a:hover {
	text-decoration: none;
}

.search-form button[type='submit'],
.dropdown-filter .filter-button .clear-button {
	display: inline-block;

	margin: 0;
	padding: 0;

	border: 0;
	border-radius: 0;
	outline: none;
	background: none;
}

.search-form button[type='submit'],
.dropdown-filter .filter-button .clear-button {
	cursor: pointer;
}

/**
 * Иконки
 */

input[type='checkbox']:before {
	content: '';

	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

input[type='checkbox']:before {
	background-image: url('../images/svg-icons/check.white.svg');
}

/**
 * Определения keyframes
 */

@keyframes buzz-out {
	10% {
		transform: rotate(5deg);
	}

	20% {
		transform: rotate(-5deg);
	}

	30% {
		transform: rotate(4deg);
	}

	40% {
		transform: rotate(-4deg);
	}

	50% {
		transform: rotate(3deg);
	}

	60% {
		transform: rotate(-3deg);
	}

	70% {
		transform: rotate(2deg);
	}

	80% {
		transform: rotate(-2deg);
	}

	90% {
		transform: rotate(1);
	}

	100% {
		transform: rotate(0);
	}
}

@keyframes mobile-nav-menu-item-appearance {
	from {
		transform: translateX(50px);

		opacity: 0;
	}

	to {
		transform: translateX(0);

		opacity: 1;
	}
}

@keyframes flight-to-disappearance {
	0 {
		transform: scale(1);
	}

	100% {
		transform: scale(0);

		opacity: 0;
	}
}

/**
 * Абсолютное позиционирование
 */

.pos-abs-all {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;

	width: 100% !important;
	height: 100% !important;
}

.pos-abs-center {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 100%;

	transform: translate(-50%, -50%);
}

/***
 * z-index
 ***/

.z-index-0 {
	position: relative;
	z-index: 0 !important;
}

.z-index-1 {
	position: relative;
	z-index: 1 !important;
}

.z-index-2 {
	position: relative;
	z-index: 2 !important;
}

.z-index-3 {
	position: relative;
	z-index: 3 !important;
}

.z-index-4 {
	position: relative;
	z-index: 4 !important;
}

.z-index-5 {
	position: relative;
	z-index: 5 !important;
}

.z-index-6 {
	position: relative;
	z-index: 6 !important;
}

.z-index-7 {
	position: relative;
	z-index: 7 !important;
}

.z-index-8 {
	position: relative;
	z-index: 8 !important;
}

.z-index-9 {
	position: relative;
	z-index: 9 !important;
}

.z-index-10 {
	position: relative;
	z-index: 10 !important;
}

/**
 * Медиа-элементы (в первую очередь изображеня)
 */

.media-object-responsive {
	display: block;

	width: 100%;
	height: auto;
}

.media-object-cover {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	   object-fit: cover;
}

.media-object-cover-top {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

.media-object-contain {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: contain;
	   object-fit: contain;
}

.media-object-contain-top {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center top;
	   object-position: center top;
}

.media-object-fit {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

.media-object-center-fit {
	position: absolute;
	top: 50%;
	left: 50%;

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

	transform: translate(-50%, -50%);
}

/***
 * Margins
 ***/

.m-gap {
	margin-top: 20px !important;
	margin-top: var(--g-gap) !important;
	margin-right: 20px !important;
	margin-right: var(--g-gap) !important;
	margin-bottom: 20px !important;
	margin-bottom: var(--g-gap) !important;
	margin-left: 20px !important;
	margin-left: var(--g-gap) !important;
}

.m-gap-half {
	margin-top: 10px !important;
	margin-top: var(--g-gap-half) !important;
	margin-right: 10px !important;
	margin-right: var(--g-gap-half) !important;
	margin-bottom: 10px !important;
	margin-bottom: var(--g-gap-half) !important;
	margin-left: 10px !important;
	margin-left: var(--g-gap-half) !important;
}

.mt-gap {
	margin-top: 20px !important;
	margin-top: var(--g-gap) !important;
}

.mb-gap {
	margin-bottom: 20px !important;
	margin-bottom: var(--g-gap) !important;
}

.ml-gap {
	margin-left: 20px !important;
	margin-left: var(--g-gap) !important;
}

.mr-gap {
	margin-right: 20px !important;
	margin-right: var(--g-gap) !important;
}

.mt-gap-half {
	margin-top: 10px !important;
	margin-top: var(--g-gap-half) !important;
}

.mb-gap-half {
	margin-bottom: 10px !important;
	margin-bottom: var(--g-gap-half) !important;
}

.ml-gap-half {
	margin-left: 10px !important;
	margin-left: var(--g-gap-half) !important;
}

.mr-gap-half {
	margin-right: 10px !important;
	margin-right: var(--g-gap-half) !important;
}

.mt-gap-x2 {
	margin-top: 40px !important;
	margin-top: var(--g-gap-x2) !important;
}

.mb-gap-x2 {
	margin-bottom: 40px !important;
	margin-bottom: var(--g-gap-x2) !important;
}

.ml-gap-x2 {
	margin-left: 40px !important;
	margin-left: var(--g-gap-x2) !important;
}

.mr-gap-x2 {
	margin-right: 40px !important;
	margin-right: var(--g-gap-x2) !important;
}

.mt-gap-x3 {
	margin-top: 60px !important;
	margin-top: var(--g-gap-x3) !important;
}

.mb-gap-x3 {
	margin-bottom: 60px !important;
	margin-bottom: var(--g-gap-x3) !important;
}

.ml-gap-x3 {
	margin-left: 60px !important;
	margin-left: var(--g-gap-x3) !important;
}

.mr-gap-x3 {
	margin-right: 60px !important;
	margin-right: var(--g-gap-x3) !important;
}

.mt-0 {
	margin-top: 0 !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.ml-0 {
	margin-left: 0 !important;
}

.mr-0 {
	margin-right: 0 !important;
}

/***
 * Padding
 ***/

.p-gap {
	padding-top: 20px !important;
	padding-top: var(--g-gap) !important;
	padding-right: 20px !important;
	padding-right: var(--g-gap) !important;
	padding-bottom: 20px !important;
	padding-bottom: var(--g-gap) !important;
	padding-left: 20px !important;
	padding-left: var(--g-gap) !important;
}

.p-gap-half {
	padding-top: 10px !important;
	padding-top: var(--g-gap-half) !important;
	padding-right: 10px !important;
	padding-right: var(--g-gap-half) !important;
	padding-bottom: 10px !important;
	padding-bottom: var(--g-gap-half) !important;
	padding-left: 10px !important;
	padding-left: var(--g-gap-half) !important;
}

.pt-gap {
	padding-top: 20px !important;
	padding-top: var(--g-gap) !important;
}

.pb-gap {
	padding-bottom: 20px !important;
	padding-bottom: var(--g-gap) !important;
}

.pl-gap {
	padding-left: 20px !important;
	padding-left: var(--g-gap) !important;
}

.pr-gap {
	padding-right: 20px !important;
	padding-right: var(--g-gap) !important;
}

.pt-gap-half {
	padding-top: 10px !important;
	padding-top: var(--g-gap-half) !important;
}

.pb-gap-half {
	padding-bottom: 10px !important;
	padding-bottom: var(--g-gap-half) !important;
}

.pl-gap-half {
	padding-left: 10px !important;
	padding-left: var(--g-gap-half) !important;
}

.pr-gap-half {
	padding-right: 10px !important;
	padding-right: var(--g-gap-half) !important;
}

.pt-gap-x2 {
	padding-top: 40px !important;
	padding-top: var(--g-gap-x2) !important;
}

.pb-gap-x2 {
	padding-bottom: 40px !important;
	padding-bottom: var(--g-gap-x2) !important;
}

.pl-gap-x2 {
	padding-left: 40px !important;
	padding-left: var(--g-gap-x2) !important;
}

.pr-gap-x2 {
	padding-right: 40px !important;
	padding-right: var(--g-gap-x2) !important;
}

.pt-gap-x3 {
	padding-top: 60px !important;
	padding-top: var(--g-gap-x3) !important;
}

.pb-gap-x3 {
	padding-bottom: 60px !important;
	padding-bottom: var(--g-gap-x3) !important;
}

.pl-gap-x3 {
	padding-left: 60px !important;
	padding-left: var(--g-gap-x3) !important;
}

.pr-gap-x3 {
	padding-right: 60px !important;
	padding-right: var(--g-gap-x3) !important;
}

.pt-0 {
	padding-top: 0 !important;
}

.pb-0 {
	padding-bottom: 0 !important;
}

.pl-0 {
	padding-left: 0 !important;
}

.pr-0 {
	padding-right: 0 !important;
}

/***
 * Отступы
 ***/

.gi-1,
.git-1 {
	padding-top: 1rem;
}

.gi-1,
.gib-1 {
	padding-bottom: 1rem;
}

.go-1,
.got-1 {
	margin-top: 1rem;
}

.go-1,
.gob-1 {
	margin-bottom: 1rem;
}

.gi-2,
.git-2 {
	padding-top: 2rem;
}

.gi-2,
.gib-2 {
	padding-bottom: 2rem;
}

.go-2,
.got-2 {
	margin-top: 2rem;
}

.go-2,
.gob-2 {
	margin-bottom: 2rem;
}

.gi-3,
.git-3 {
	padding-top: 3rem;
}

.gi-3,
.gib-3 {
	padding-bottom: 3rem;
}

.go-3,
.got-3 {
	margin-top: 3rem;
}

.go-3,
.gob-3 {
	margin-bottom: 3rem;
}

.gi-4,
.git-4 {
	padding-top: 4rem;
}

.gi-4,
.gib-4 {
	padding-bottom: 4rem;
}

.go-4,
.got-4 {
	margin-top: 4rem;
}

.go-4,
.gob-4 {
	margin-bottom: 4rem;
}

.gi-5,
.git-5 {
	padding-top: 5rem;
}

.gi-5,
.gib-5 {
	padding-bottom: 5rem;
}

.go-5,
.got-5 {
	margin-top: 5rem;
}

.go-5,
.gob-5 {
	margin-bottom: 5rem;
}

.gi-6,
.git-6 {
	padding-top: 6rem;
}

.gi-6,
.gib-6 {
	padding-bottom: 6rem;
}

.go-6,
.got-6 {
	margin-top: 6rem;
}

.go-6,
.gob-6 {
	margin-bottom: 6rem;
}

.gi-7,
.git-7 {
	padding-top: 7rem;
}

.gi-7,
.gib-7 {
	padding-bottom: 7rem;
}

.go-7,
.got-7 {
	margin-top: 7rem;
}

.go-7,
.gob-7 {
	margin-bottom: 7rem;
}

.gi-8,
.git-8 {
	padding-top: 8rem;
}

.gi-8,
.gib-8 {
	padding-bottom: 8rem;
}

.go-8,
.got-8 {
	margin-top: 8rem;
}

.go-8,
.gob-8 {
	margin-bottom: 8rem;
}

.gi-9,
.git-9 {
	padding-top: 9rem;
}

.gi-9,
.gib-9 {
	padding-bottom: 9rem;
}

.go-9,
.got-9 {
	margin-top: 9rem;
}

.go-9,
.gob-9 {
	margin-bottom: 9rem;
}

.gi-10,
.git-10 {
	padding-top: 10rem;
}

.gi-10,
.gib-10 {
	padding-bottom: 10rem;
}

.go-10,
.got-10 {
	margin-top: 10rem;
}

.go-10,
.gob-10 {
	margin-bottom: 10rem;
}

/***
 * Границы
 ***/

.bt {
	border-top: 1px solid rgba(0, 0, 0, .15);
}

.bb {
	border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.bl {
	border-left: 1px solid rgba(0, 0, 0, .15);
}

.br {
	border-right: 1px solid rgba(0, 0, 0, .15);
}

.bt-lighten {
	border-top: 1px solid rgba(0, 0, 0, .075);
}

.bb-lighten {
	border-bottom: 1px solid rgba(0, 0, 0, .075);
}

.bl-lighten {
	border-left: 1px solid rgba(0, 0, 0, .075);
}

.br-lighten {
	border-right: 1px solid rgba(0, 0, 0, .075);
}

.bt-darken {
	border-top: 1px solid rgba(0, 0, 0, .25);
}

.bb-darken {
	border-bottom: 1px solid rgba(0, 0, 0, .25);
}

.bl-darken {
	border-left: 1px solid rgba(0, 0, 0, .25);
}

.br-darken {
	border-right: 1px solid rgba(0, 0, 0, .25);
}

/**
 * Высота строки
 **/

.line-height-text {
	line-height: 1.2;
}

.line-height-lg {
	line-height: 1.25;
}

.line-height-xl {
	line-height: 1.35;
}

/**
 * Выделение текста
 **/

.user-select-none {
	-webkit-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

/**
 * Цвет фоны
 **/

.bg-clr-accent {
	background-color: #eee;
}

.bg-clr-accent-lighten {
	background-color: #f7f7f7;
}

.bg-clr-accent-darken {
	background-color: #dadada;
}

/***
 * Размер шрифта
 ***/

.font-size-md {
	font-size: 13px;
}

.alert {
	border-left-width: .5rem;
	border-radius: 0;
}

.badge-pill {
	padding-right: .3em;
	padding-left: .3em;
}

.badge-primary {
	background-color: #e24a3a;
}

.badge-secondary {
	color: #000;
	background-color: #fc0;
}

.container {
	max-width: 1460px;
}

.card {
	border: 0;
	border-radius: 0;
}

.card-body {
	padding: 0;
}

.card-title {
	margin: 0;
}

.modal-backdrop {
	background-color: #24282c;
}

.modal-backdrop.fade {
	opacity: 0;
}

.modal-backdrop.show {
	opacity: .5;
}

.embed-responsive-2by1::before {
	padding-top: 50%;
}

.embed-responsive-3by2::before {
	padding-top: 66.66667%;
}

.embed-responsive-16by10::before {
	padding-top: 62.5%;
}

.embed-responsive-19by10::before {
	padding-top: 52.63158%;
}

h1,
.h1 {
	margin-bottom: 1rem;

	font-size: 1.75rem;
	font-weight: 700;
}

h1 i,
.h1 i {
	opacity: .45;

	font-style: normal;
}

h2,
.h2 {
	margin-bottom: 1rem;

	font-size: 1.50rem;
	font-weight: 700;
}

h3,
.h3 {
	margin-bottom: 1rem;

	font-size: 1.25rem;
	font-weight: 700;
}

h4,
.h4 {
	margin-bottom: 1rem;

	font-size: 1.00rem;
	font-weight: 700;
}

h5,
.h5 {
	margin-bottom: 1rem;

	font-size: 1rem;
	font-weight: 700;
}

h6,
.h6 {
	margin-bottom: 1rem;

	font-size: 1rem;
	font-weight: 700;
}

.btn {
	border-radius: 9999px;
}

.btn-primary {
	background-color: #326ab3;
}

.dragdealer {
	height: auto;

	background: none;
}

.swiper-content {
	position: relative;
}

.swiper-wrapper {
	height: auto;
}

.swiper-pagination {
	position: static;
	top: auto;
	top: auto;
	right: auto;
	bottom: auto;
	bottom: auto;
	left: auto;

	margin-top: 2rem;
}

.swiper-pagination-bullet {
	width: .75rem;
	height: .75rem;
	margin: 0 .65rem;

	outline: none;
	background: #fc0;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 .65rem;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	display: none;
}

/**
 * Поля формы
 */

.form-field + .form-field {
	margin-top: 1.25rem;
}

.form-submit {
	margin-top: 1.25rem;
}

.form-confidentiality {
	margin-top: 1.25rem;

	opacity: .75;

	font-size: .85rem;
}

.form-confidentiality a {
	color: inherit;
}

/**
 * Чекбокс
 */

input[type='checkbox'] {
	position: relative;

	display: inline-block;

	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;

	cursor: pointer;
	transition: background-color 250ms ease-in-out, border-color 250ms ease-in-out;
	text-align: center;
	vertical-align: middle;

	color: #e24a3a;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 0;
	outline: 0;
	background-color: #fff;

	line-height: 0;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}

input[type='checkbox']:hover {
	border-color: #e24a3a;
}

input[type='checkbox']:before {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';
	transition: transform 250ms ease-in-out, opacity 250ms ease-in-out;
	transform: translateY(-50%);

	opacity: 0;
	background-size: 60%;
}

input[type='checkbox']:checked {
	border-color: #000;
	background: #000;
}

input[type='checkbox']:checked:before {
	transform: none;

	opacity: 1;
}

/**
 * select
 */

select ::-ms-expand {
	display: none;
}

/**
 * select
 */

select.ui-select-light {
	position: relative;

	height: auto;
	padding-top: .35em;
	padding-right: calc(1em + 25px);
	padding-bottom: .35em;
	padding-left: 1em;

	cursor: pointer;

	opacity: .7;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: .3125rem;
	background-color: #fff;
	background-image: url('../images/select.svg');
	background-repeat: no-repeat;
	background-position: center right 10px;
	background-size: 10px;

	line-height: 1.35;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}

/**
 * Поля ввода
 **/

.i-txt,
input[type='text'],
input[type='tel'],
input[type='email'],
input[type='submit'],
input[type='button'],
select,
textarea {
	height: calc(1rem + 1em + 1rem + 2px);
	padding-top: 1rem;
	padding-bottom: 1rem;

	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: .3125rem;
	outline: none;

	font: 1rem/1 'PT Sans', sans-serif;
}

.i-txt,
input[type='text'],
input[type='tel'],
input[type='email'],
select,
textarea {
	display: inline-block;

	width: 100%;
	padding-right: .75rem;
	padding-left: .75rem;

	transition: border-color 250ms ease-in-out, box-shadow 250ms ease-in-out;
}

.i-txt:focus,
input[type='text']:focus,
input[type='tel']:focus,
input[type='email']:focus,
select:focus,
textarea:focus {
	border-color: #e24a3a;
}

textarea {
	height: 4em;
	padding-top: .35em;

	resize: vertical;
}

/**
 * Кнопка
 */

.ui-btn {
	position: relative;

	display: inline-block;

	margin: 0;
	padding: 0;

	cursor: pointer;
	transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out, box-shadow 250ms ease-in-out, visibility 250ms ease-in-out, opacity 250ms ease-in-out;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	text-decoration: none;

	color: #333;
	border: 1px solid transparent;
	border-radius: 0;
	outline: none !important;
	background: none;

	line-height: 1;
}

.ui-btn:hover {
	color: #333;
}

.ui-btn .svg-icon {
	transition: transform 250ms ease-in-out;
}

/**
 * Кнопка-блок
 */

.ui-btn-block {
	display: block;

	width: 100%;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/**
 * Прямоугольная кнопка
 */

.ui-btn-rect {
	padding: 5px;

	text-transform: uppercase;

	color: #333;
	border-color: #f0e6dd;
	border-radius: 0;
	background: #f0e6dd;

	font-weight: 700;
}

.ui-btn-rect:hover {
	color: #333;
	border-color: #e8d9cb;
	background-color: #e8d9cb;
}

.ui-btn-rect .caption {
	display: block;

	padding: .65em 1.5em;

	border: 1px solid #fff;
}

.ui-btn-rect-sm {
	text-transform: none;
}

.ui-btn-rect-sm .caption {
	display: block;

	padding: .45em 1.5em;

	border: 1px solid #fff;
}

/**
 * Кнопка закрытия
 */

.ui-btn-close:hover .svg-icon {
	transform: rotate(90deg);
}

.ui-btn-close-circle {
	width: 3rem;
	height: 3rem;

	opacity: .65;
	border: 1px solid;
	border-radius: 100%;
}

.ui-btn-close-circle .svg-icon {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 40%;
	height: 40%;

	transition: transform 250ms ease-in-out;
	transform: translate(-50%, -50%);
}

.ui-btn-close-circle:hover {
	opacity: 1;
}

.ui-btn-close-circle:hover .svg-icon {
	transform: translate(-50%, -50%) rotate(90deg);
}

/**
 * Облегченная кнопка
 */

.ui-btn-light {
	display: -ms-inline-flexbox;
	display: inline-flex;

	padding: .8rem 1.25rem;

	color: #333;
	border-color: rgba(51, 51, 51, .5);
	border-radius: 9999px;
	background: none;

	font-size: 13px;

	-ms-flex-align: center;
	align-items: center;
}

.ui-btn-light:hover {
	color: #e24a3a;
	border-color: #e24a3a;
	background: none;
}

.ui-btn-light .svg-icon {
	width: 1.333em;
	height: 1.333em;
	margin-right: .75em;
}

/**
 * Кнопка "сервисов" магазина - избранное и корзина
 */

.ui-btn-toolbar {
	text-align: center;

	color: inherit;
}

.ui-btn-toolbar:hover {
	color: #e24a3a;
}

.ui-btn-toolbar .svg-icon {
	width: 1.5rem;
	height: 1.5rem;
	margin: 0 auto .35em;
}

.ui-btn-toolbar .caption {
	display: block;
}

.ui-btn-toolbar .badge {
	position: absolute;
	top: -.35em;
	right: 1em;

	font-size: 10px;
	line-height: 1.25;
}

/**
 * Кнопка быстрого контакта (написать или позвонить в шапке мобильной версии)
 **/

.ui-btn-quick-contact {
	display: block;

	width: 2.5rem;
	height: 2.5rem;

	border: 0;
	border-radius: 100%;
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15);
}

.ui-btn-quick-contact .svg-icon {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 50%;
	height: 50%;

	transform: translate(-50%, -50%);
}

/**
 * Кнопка с иконкой
 */

.ui-btn-icon {
	width: 1.5rem;
	height: 1.5rem;
}

/**
 * Кнопка направления (для слайдера)
 **/

.ui-btn-direction {
	display: block;

	width: 3.125rem;
	height: 3.125rem;

	border-radius: .3125rem;
	background-color: #f0e6dd;
}

.ui-btn-direction:hover {
	background-color: #e8d9cb;
}

.ui-btn-direction .svg-icon {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 1rem;
	height: 1rem;

	transform: translate(-50%, -50%);
}

.ui-btn-direction-round {
	display: block;

	width: 2rem;
	height: 2rem;

	border-radius: 100%;
}

.ui-btn-direction-round .svg-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.ui-btn-direction-white {
	background-color: rgba(255, 255, 255, .7);
}

.ui-btn-direction-white:hover {
	background: #fff;
}

/**
 * Круглая кнопка
 */

.ui-btn-round {
	display: block;

	width: 1.5rem;
	height: 1.5rem;
	padding: 0;

	color: #000;
	border-radius: 100%;
	background: rgba(255, 255, 255, .75);
}

.ui-btn-round svg {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 50%;
	height: 50%;

	transform: translate(-50%, -50%);
}

.ui-btn-round:hover,
.ui-btn-round.active {
	color: #000;
	background-color: #ffac0e;
}

/**
 * Кнопка открытия окна быстрого просмотра товара
 */

.ui-btn-product-popup {
	padding: 1.5em 1em;

	text-transform: uppercase;

	color: #fff;
	background: rgba(51, 51, 51, .5);

	font-size: 14px;
}

.ui-btn-product-popup:hover {
	color: #fff;
	background: rgba(51, 51, 51, .75);
}

/**
 * Кнопка заказа
 */

.ui-btn-order {
	padding: 1em 2.25em;

	text-transform: uppercase;

	color: #fff;
	border-radius: .3125rem;
	background: #e24a3a;

	font-weight: 600;
}

.ui-btn-order:hover {
	color: #e24a3a;
	background-color: #fff;
	box-shadow: 0 4px 10px rgba(226, 74, 58, .15);
}

.ui-btn-order .svg-icon {
	margin-right: .65em;
}

.ui-btn-order.has-icon {
	display: -ms-inline-flexbox;
	display: inline-flex;

	-ms-flex-align: center;
	align-items: center;
}

.ui-btn-order.active {
	color: #333;
	background: #fc0;
}

.ui-btn-order.active:hover {
	color: #333;
	background: #fc0;
}

.ui-btn-order-light {
	padding: 1em 0;

	color: #333;

	font-weight: 600;
}

.ui-btn-order-light:hover {
	color: #e24a3a;
}

.ui-btn-order-light .svg-icon {
	margin-right: .65em;
}

.ui-btn-order-light.has-icon {
	display: -ms-inline-flexbox;
	display: inline-flex;

	-ms-flex-align: center;
	align-items: center;
}

.ui-btn-order-light.active {
	color: #e24a3a;
}

.ui-btn-order-light.active:hover {
	color: #e24a3a;
}

/**
 * Кнопка панели управления каталогом
 */

.ui-btn-catalog-toolbar {
	display: -ms-inline-flexbox;
	display: inline-flex;

	padding: 0;

	border: 0;
	background: none;

	font-weight: 700;

	-ms-flex-align: center;
	align-items: center;
}

.ui-btn-catalog-toolbar .caption {
	position: relative;
	top: -1px;
}

.ui-btn-catalog-toolbar .svg-icon {
	width: .75em;
	height: .75em;
	margin-left: .45em;
}

.ui-btn-catalog-toolbar.active .svg-icon {
	transform: rotate(180deg);
}

/**
 * Кнопка управления каруселью миниатюр в карточке коллекции
 **/

.ui-btn-thumb-nav {
	display: block;

	width: 1.875rem;
	height: 1.875rem;
	padding: 0;

	color: #fff;
	border-radius: 100%;
	background: #000;
}

.ui-btn-thumb-nav svg {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 50%;
	height: 50%;

	transform: translate(-50%, -50%);
}

.ui-btn-thumb-nav:hover {
	color: #fff;
}

/**
 * Весь сайт
 */

.site-body {
	padding-bottom: calc( var(--site-toolbar-height) - 5px);
}

/**
 * Панель инструментов (для мобильной версии)
 **/

.site-toolbar {
	position: fixed;
	z-index: 100;
	bottom: 0;
	left: 0;

	width: 100%;
	padding-top: .65rem;
	padding-bottom: .25rem;

	color: #fff;
	background: #333;
}

.site-toolbar .ui-btn-toolbar .svg-icon,
.site-toolbar .ui-btn-toolbar .caption {
	transition: color 250ms ease-in-out;

	color: #9198a0;
}

.site-toolbar .ui-btn-toolbar .badge {
	right: 0;
}

.site-toolbar .ui-btn-toolbar:hover .svg-icon {
	color: #fff;
}

/**
 * Верхний блок страницы
 **/

.site-topbar {
	position: relative;
	z-index: 4;

	padding-top: .5rem;
	padding-bottom: .5rem;

	background: #eee;
}

/**
 * Шапка сайта
 **/

.site-header {
	position: relative;
	z-index: 3;

	padding-top: 1.35rem;
	padding-bottom: 1.35rem;

	background: #fff;
	box-shadow: 0 10px 10px #f4f4f4;

	--gap: $g-gap-half;
}

.site-header .header-col-search {
	width: 100%;
}

/**
 * Меню каталога
 **/

.site-catalog-nav {
	position: relative;
	z-index: 2;

	padding: .65rem 0;

	color: #fff;
	background: #333;
}

/**
 * Навигация по брендам
 **/

.site-brands-nav {
	position: relative;
	z-index: 1;

	background: #fff;
	box-shadow: 0 10px 10px #f4f4f4;
}

/**
 * Подвал сайта
 **/

.site-footer {
	position: relative;

	padding-top: 3rem;
	padding-bottom: 3rem;

	color: #fff;
	background: #333;
}

.site-footer .footer-stage + .footer-stage {
	margin-top: 2rem;
}

.site-footer a {
	text-decoration: none;

	color: inherit;
}

.site-footer a:hover {
	text-decoration: underline;
}

.site-footer .menu li {
	margin-bottom: .75em;
}

.site-footer .credits {
	font-size: .875rem;
}

/**
 * Средняя (основная) часть страницы
 **/

.site-middle {
	position: relative;
	z-index: 0;

	padding-top: 2rem;
	padding-bottom: 5rem;

	background: #fff;
}

/**
 * Абстрактное меню
 */

.abstract-nav {
	position: relative;

	white-space: nowrap;

	line-height: 1;
}

.abstract-nav li {
	position: relative;
}

.abstract-nav a {
	position: relative;

	display: block;

	transition: color 250ms ease-in-out, background-color 250ms ease-in-out, border-color 250ms ease-in-out;
	text-decoration: none;

	color: inherit;
}

/**
 * Меню страниц
 */

.pages-nav .menu li:hover > a {
	text-decoration: underline;
}

.pages-nav .menu > li + li {
	margin-left: 1.5rem;
}

/**
 * Меню каталога
 */

.catalog-nav {
	font-size: 1.125rem;
	font-weight: 700;
}

.catalog-nav .menu {
	display: -ms-flexbox;
	display: flex;

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

.catalog-nav .menu > li {
	margin: .25em .45em;
}

.catalog-nav .menu > li > a {
	padding: .5em 1em;

	border-radius: .625rem;
}

.catalog-nav .menu > li.is-special {
	color: #fc0;
}

.catalog-nav .menu > li.is-special:hover {
	animation: none;
}

.catalog-nav .menu > li:hover > a {
	color: #000;
	background: #fc0;
}

@keyframes neon {
	from {
		text-shadow: 0 0 12px rgba(255, 204, 0, .52), 0 0 15px rgba(255, 204, 0, .92), 0 0 20px rgba(255, 204, 0, .78), 0 0 30px rgba(255, 204, 0, .92);
	}

	to {
		text-shadow: 0 0 6px rgba(255, 204, 0, .68), 0 0 7px rgba(255, 204, 0, .94), 0 0 10px rgba(255, 204, 0, .98), 0 0 14px #fc0;
	}
}

/*
	.catalog-nav .menu > li.is-special > a {
		position: relative;
		overflow: hidden;
		background: linear-gradient(-45deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 40%, rgba(255,204,0,1) 50%, rgba(255,255,255,1) 60%, rgba(255,255,255,1) 100%);
		background-size: 400% 400%;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		animation: catalog-nav-special 5s ease infinite;
	}*/

@keyframes catalog-nav-special {
	0%,
	70% {
		background-position: 100% 50%;
	}

	99.99999% {
		background-position: 0 50%;
	}

	100% {
		background-position: 100% 50%;
	}
}

/**
 * Меню фильтров
 */

.filters-nav {
	position: absolute;
	top: 100%;
	left: 0;

	visibility: hidden;

	width: 100%;
	padding-top: 1.875rem;
	padding-bottom: 1.875rem;

	transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out, transform 250ms ease-in-out;

	opacity: 0;
	color: #333;
	background: #fff;
	box-shadow: 0 10px 10px #f4f4f4;
}

.filters-nav.active {
	visibility: visible;

	opacity: 1;
}

.filters-nav .close-button {
	position: absolute;
	top: 0;
	right: 0;
}

.filters-nav .filter-name {
	margin-bottom: .95em;

	font-weight: 700;
}

.filters-nav .menu a {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-align: center;
	align-items: center;
}

.filters-nav .menu a:hover {
	text-decoration: underline;

	color: #0549c4;
}

.filters-nav .menu a img {
	    flex: 0 0 auto;

	margin-right: .5em;

	-ms-flex: 0 0 auto;
}

.filters-nav .menu a .caption {
	    flex: 1 1 auto;

	-ms-flex: 1 1 auto;
}

.filters-nav .menu li + li {
	margin-top: .95em;
}

.filters-nav .menu + .menu,
.filters-nav .menu + .filter-name {
	margin-top: 2.95em;
}

/**
 * Навигация по брендам
 */

.brands-nav .menu {
	display: -ms-flexbox;
	display: flex;

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

.brands-nav .sub-menu {
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	visibility: hidden;

	margin-top: -1px;
	padding: 1em 0;

	transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out;

	opacity: 0;
	border: 1px solid rgba(0, 0, 0, .075);
	background: #fff;
	box-shadow: 0 10px 10px rgba(0, 0, 0, .075);
}

.brands-nav .sub-menu a {
	padding: .35em 1.5em;
}

.brands-nav .sub-menu a:hover {
	color: #e24a3a;
}

.brands-nav .sub-menu-right {
	right: 0;
	left: auto;
}

.brands-nav .alphabet-item {
	padding-top: .5em;
}

.brands-nav .alphabet-item > a {
	z-index: 2;

	padding: .5em .5em 1em;

	border-top: 1px solid transparent;
	border-right: 1px solid transparent;
	border-left: 1px solid transparent;
}

.brands-nav .alphabet-item:hover > a {
	color: #e24a3a;
	border-top-color: rgba(0, 0, 0, .075);
	border-right-color: rgba(0, 0, 0, .075);
	border-left-color: rgba(0, 0, 0, .075);
	background: #fff;
}

.brands-nav .alphabet-item:hover > .sub-menu {
	visibility: visible;

	opacity: 1;
}

.brands-nav .more-link-item {
	padding-right: .75em;

	font-weight: 700;
}

.brands-nav .more-link-item a {
	text-decoration: underline;
}

.brands-nav .more-link-item:hover a {
	text-decoration: none;
}

/**
 * Навигационное меню в виде кнопок (категории в "Избранном" и "Реализованные проекты")
 **/

.buttons-nav {
	overflow-x: auto;
	overflow-y: hidden;

	margin-right: -10px;
	margin-bottom: 1.25rem;
	margin-left: -10px;
}

.buttons-nav .menu {
	display: -ms-flexbox;
	display: flex;

	padding-right: 10px;
	padding-left: 10px;
}

.buttons-nav li {
	display: -ms-flexbox;
	display: flex;

	margin-bottom: 1.25rem;
}

.buttons-nav li:not(:last-child) {
	margin-right: 1.25rem;
}

.buttons-nav li:last-child:after {
	display: inline-block;

	width: 1.25rem;
	height: 1px;

	content: '';
}

.buttons-nav a {
	display: block;

	padding: 1em 1.5em;

	transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	white-space: nowrap;
	text-decoration: none;
	text-transform: uppercase;

	color: #333;
	border: 1px solid #333;
	border-radius: .3125rem;
	background: #fff;

	font-weight: 600;
}

.buttons-nav li:hover a,
.buttons-nav li.active a {
	color: #fff;
	background: #333;
}

/**
 * Меню категорий (в новостях)
 **/

.categories-nav .menu {
	display: -ms-flexbox;
	display: flex;
}

.categories-nav .menu li {
	transition: opacity 250ms ease-in-out;

	opacity: .65;
}

.categories-nav .menu li:not(:last-child) {
	margin-right: .75em;
}

.categories-nav .menu li.active,
.categories-nav .menu li:hover {
	opacity: 1;
}

.categories-nav .menu li.active a,
.categories-nav .menu li:hover a {
	text-decoration: underline;
}

/**
 * Абстрактное меню
 */

.mobile-nav {
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	visibility: hidden;
	    flex-direction: column;

	transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out;

	opacity: 0;

	-ms-flex-direction: column;
	perspective: 2000px;
}

.mobile-nav .nav-container {
	position: absolute;
	top: 0;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	    flex-direction: column;

	width: 100%;
	height: 100%;

	transition: transform 250ms ease-in-out;
	transform: rotate3d(1, 0, 0, 90deg);
	transform-origin: center bottom;

	background: #fff;

	-ms-flex-direction: column;
}

.mobile-nav.active {
	visibility: visible;

	opacity: 1;
}

.mobile-nav.active .nav-container {
	transform: none;
}

.mobile-nav .nav-header,
.mobile-nav .nav-body {
	padding: 1rem 10px;
}

.mobile-nav .nav-header {
	display: -ms-flexbox;
	display: flex;
	    flex: 0 0 auto;

	background: #eee;

	-ms-flex: 0 0 auto;
}

.mobile-nav .nav-header button {
	    flex: 0 0 auto;

	-ms-flex: 0 0 auto;
}

.mobile-nav .nav-header .title {
	overflow: hidden;
	    flex: 1 1 auto;

	padding-top: .2em;

	text-align: center;
	white-space: nowrap;
	text-overflow: ellipsis;

	line-height: 1;

	-ms-flex: 1 1 auto;
}

.mobile-nav .nav-body {
	overflow: hidden;
	overflow-y: auto;
	    flex: 1 1 auto;

	-ms-flex: 1 1 auto;
}

.mobile-nav .back-button {
	visibility: hidden;
}

.mobile-nav .back-button.active {
	visibility: visible;
}

.mobile-nav .menu li a {
	display: -ms-flexbox;
	display: flex;

	padding: .85em 0;

	text-decoration: none;

	color: inherit;

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

.mobile-nav .menu li a .caption {
	    flex: 1 1 auto;

	-ms-flex: 1 1 auto;
}

.mobile-nav .menu li + li {
	border-top: 1px solid rgba(0, 0, 0, .075);
}

.mobile-nav .menu li.appearance {
	animation: mobile-nav-menu-item-appearance 1 linear 250ms backwards;
}

.mobile-nav .menu li.has-submenu a:after {
	display: block;
	    flex: 0 0 auto;

	width: 2em;
	height: .65em;

	content: '';

	opacity: .75;
	background-image: url('../images/chevron-right.black.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: .65em;

	-ms-flex: 0 0 auto;
}

.mobile-nav .custom-infoblock {
	margin-top: 1rem;
}

/**
 * Ссылка в видео скругленного прямоугольника
 **/

.balloon-link {
	display: -ms-inline-flexbox !important;
	display: inline-flex !important;

	padding: .25em .85em;

	transition: background-color 250ms ease-in-out;
	text-decoration: none !important;

	color: rgba(51, 51, 51, .75);
	border-radius: 9999px;
	background: #dadada;

	line-height: 1;

	-ms-flex-align: center;
	align-items: center;
}

.balloon-link:hover {
	color: rgba(51, 51, 51, .75);
}

.balloon-link img {
	display: block;

	width: 1em;
	height: 1em;
	margin-right: .35em;
}

.balloon-blue-link {
	background-color: #cad9f0;
}

.balloon-blue-link:hover {
	background-color: #bed0ed;
}

.balloon-green-link {
	background-color: #d0eab0;
}

.balloon-green-link:hover {
	background-color: #c4e59c;
}

/**
 * Ссылка на производителя
 **/

.manufacturer-link span {
	display: inline-block;

	padding-bottom: .25em;

	transition: border-color 250ms ease-in-out;

	border-bottom: 1px solid #fc0;
}

.manufacturer-link:hover span {
	border-bottom-color: #e24a3a;
}

/**
 * Ссылка на скачивание документа (файла)
 **/

.doc-dl-link {
	display: -ms-flexbox;
	display: flex;

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

	color: inherit;

	font-weight: 600;
}

.doc-dl-link:hover {
	text-decoration: underline;
}

.doc-dl-link:before {
	width: 1.125rem;
	height: 1.125rem;
	margin-right: .5em;

	content: '';

	background-image: url('../images/filetypes/-.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.doc-pdf-dl-link:before {
	background-image: url('../images/filetypes/pdf.svg');
}

/**
 * Заголовок страницы
 */

.page-headline {
	margin-bottom: 2rem;
}

.page-headline h1,
.page-headline .h1 {
	margin: 0;
}

/**
 * Заголовок этажа страницы
 */

.stage-headline {
	margin-bottom: 1.5rem;
}

.stage-headline .title {
	margin-bottom: 0;
}

.stage-headline .desc {
	opacity: .8;

	line-height: 1.875;
}

.stage-headline .desc-lg {
	font-size: 1.125rem;
	line-height: 1.667;
}

.stage-headline-bordered {
	padding-bottom: 1.5rem;

	border-bottom: 1px solid rgba(0, 0, 0, .15);
}

/**
 * Абстрактная карточка
 */

.abstract-card {
	position: relative;
}

.abstract-card a {
	text-decoration: none;

	color: inherit;
}

.abstract-card .card-thumb {
	position: relative;

	overflow: hidden;

	border-radius: .625rem;
}

.abstract-card .card-thumb.has-overlay-mask:after,
.abstract-card .card-thumb.has-overlay-mask-lighten:after,
.abstract-card .card-thumb.has-overlay-mask-darken:after {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';

	background: #24282c;
}

.abstract-card .card-thumb.has-overlay-mask:after {
	opacity: .7;
}

.abstract-card .card-thumb.has-overlay-mask-lighten:after {
	opacity: .25;
}

.abstract-card .card-thumb.has-overlay-mask-darken:after {
	opacity: .9;
}

.abstract-card .card-thumb img {
	transition: transform 500ms ease-in-out;

	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
}

.abstract-card .card-body {
	position: relative;
}

.abstract-card .title {
	margin: 0;

	font-size: 1rem;
	font-weight: 400;
}

/**
 * Карточка категории
 */

.category-card {
	transition: color 250ms ease-in-out, transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
	text-align: center;
	text-transform: uppercase;

	border-radius: .9375rem;

	font-weight: 700;
}

.category-card .card-thumb {
	border-radius: .9375rem;
}

.category-card .card-thumb img {
	transition: transform 250ms ease-in-out;
}

.category-card .card-body {
	position: absolute;
	top: 0;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	    flex-direction: column;

	width: 100%;
	height: 100%;
	padding: 1em;

	color: #fff;

	-ms-flex-direction: column;
	-ms-flex-pack: center;
	justify-content: center;
}

.category-card .title {
	font-size: 1.5rem;
	font-weight: 700;
}

.category-card:hover .card-thumb img {
	transform: scale(1.05);
}

/**
 * Карточка коллекции
 */

.collection-card .card-thumb {
	margin-bottom: 10px;

	border-radius: .9375rem;
}

.collection-card .card-thumb img {
	transform: scale(1.1) translateY(4%);
}

.collection-card .card-thumb .product-badges-list {
	position: absolute;
	top: 1rem;
	left: 1rem;
}

.collection-card .card-thumb .quick-preview-button {
	position: absolute;
	bottom: 0;
	left: 0;

	visibility: hidden;

	width: 100%;

	transition: color 250ms ease-in-out, background-color 250ms ease-in-out, visibility 250ms ease-in-out, opacity 250ms ease-in-out;

	opacity: 0;
}

.collection-card .card-thumb .wishlist-button {
	position: absolute;
	z-index: 100;
	top: 1rem;
	right: 1rem;
}

.collection-card .card-body .title {
	font-size: 1.1875rem;
	font-weight: 700;
}

.collection-card .card-body .manufacturer {
	margin-top: .35rem;
}

.collection-card .card-body .price {
	margin-top: .5rem;
}

.collection-card .card-body .price span {
	font-weight: 700;
}

.collection-card:hover .card-thumb img {
	transform: scale(1.1) translateY(-4%);
}

.collection-card:hover .card-thumb .quick-preview-button {
	visibility: visible;

	opacity: 1;
}

/**
 * Карточка товара
 */

.product-card {
	max-width: 180px;
}

.product-card .card-thumb {
	margin-bottom: 1rem;

	border-radius: 0;
}

.product-card .card-thumb img.media-object-contain {
	-o-object-position: left center;
	   object-position: left center;
}

.product-card .card-thumb .wishlist-button {
	position: absolute;
	z-index: 100;
	top: 1rem;
	right: 1rem;
}

.product-card .title {
	font-weight: 700;
}

.product-card .price {
	margin-top: 1rem;
}

.product-card .price span {
	font-weight: 700;
}

.product-card:hover .title a {
	text-decoration: underline;
}

/**
 * Карточка производителя
 */

.manufacturer-card .card-thumb {
	margin-bottom: .625rem;

	background: #eee;
}

.manufacturer-card .wrap {
	position: absolute;
	top: 1rem;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
}

/**
 * Карточка проекта
 */

.project-card {
	color: #fff;
}

.project-card .card-body {
	position: absolute;
	top: 0;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	    flex-direction: column;

	width: 100%;
	height: 100%;
	padding: 1.85rem;

	-ms-flex-direction: column;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.project-card .card-body .category:before {
	margin-right: .45em;

	content: '#';
}

.project-card .card-body .title {
	font-size: 1.5rem;
	font-weight: 700;
}

.project-card:hover .card-thumb img {
	transform: scale(1.1);
}

/**
 * Произвольный тизер
 */

.custom-teaser-card .card-thumb {
	margin-bottom: .65rem;
}

.custom-teaser-card .card-thumb img {
	transform: scale(1.1) translateY(4%);
}

.custom-teaser-card .card-body .title {
	overflow: hidden;

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

.custom-teaser-card:hover .card-thumb img {
	transform: scale(1.1) translateY(-4%);
}

.custom-teaser-card:hover .card-body .title {
	text-decoration: underline;
}

/**
 * Карточка последней новости
 */

.latest-event-card .card-body .date {
	margin-bottom: 1em;

	text-transform: uppercase;

	opacity: .8;
}

.latest-event-card .card-body .title {
	font-size: 1.05rem;
	font-weight: 700;
}

.latest-event-card .card-body .title a:hover {
	text-decoration: underline;
}

/**
 * Преимущества нашего товара
 */

.advantage-card {
	line-height: 1.5;
}

.advantage-card .card-body {
	display: -ms-flexbox;
	display: flex;
}

.advantage-card .icon {
	position: relative;

	display: block;
	    flex: 0 0 auto;

	width: 4rem;
	height: 4rem;
	margin-right: 1.3125rem;

	border-radius: 100%;
	background: #fff;

	-ms-flex: 0 0 auto;
}

.advantage-card .icon img {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 50%;
	height: 50%;

	transform: translate(-50%, -50%);

	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
}

.advantage-card .title {
	    flex: 1 1 auto;

	padding: .5rem 0;

	opacity: .7;

	-ms-flex: 1 1 auto;
}

.advantage-card:hover .icon {
	animation: buzz-out 1 linear 1.5s;
}

/**
 * Карточка новости
 */

.event-card {
	display: -ms-flexbox;
	display: flex;
}

.event-card .card-thumb {
	    flex: 0 0 auto;

	width: 270px;
	margin-left: 20px;

	border-radius: .3125rem;

	-ms-flex: 0 0 auto;
}

.event-card .card-thumb .thumb {
	visibility: hidden;

	transition: transform 250ms ease-in-out, visibility 250ms ease-in-out, opacity 250ms ease-in-out;
	transform: translateX(-100%);

	opacity: 0;
}

.event-card .card-body {
	    flex: 1 1 auto;

	-ms-flex: 1 1 auto;
}

.event-card .title {
	transition: opacity 250ms ease-in-out;

	opacity: .75;

	font-size: 1.5rem;
	font-weight: 700;
}

.event-card:hover .card-thumb .thumb {
	visibility: visible;

	transform: none;

	opacity: 1;
}

.event-card:hover .title {
	opacity: 1;
}

/**
 * Карточка статьи
 */

.article-card {
	transition: color 250ms ease-in-out, transform 250ms ease-in-out, box-shadow 250ms ease-in-out;

	color: #fff;
	border-radius: .625rem;
	background: #eee;
}

.article-card .card-thumb {
	transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out;

	border-radius: .625rem;
}

.article-card .card-body {
	position: absolute;
	top: 0;
	left: 0;

	display: -ms-flexbox;
	display: flex;
	    flex-direction: column;

	width: 100%;
	height: 100%;
	padding: 1em;

	-ms-flex-direction: column;
	-ms-flex-pack: center;
	justify-content: center;
}

.article-card .title {
	text-align: center;
	text-transform: uppercase;

	font-size: 1.5rem;
	font-weight: 700;
}

.article-card:hover {
	transform: translateY(-1rem);

	box-shadow: 0 4px 30px rgba(0, 0, 0, .25);
}

.article-card:hover .card-thumb img {
	transform: scale(1.1);
}

/**
 * Карточка элемента галереи
 */

.photo-card {
	--body-margin-top: .75rem;
}

.photo-card .card-thumb {
	border-radius: .9375rem;
}

.photo-card .card-body {
	margin-top: var(--body-margin-top);
}

.photo-card .card-body .title {
	font-size: 1.1875rem;
	font-weight: 700;
}

.photo-card:hover .card-thumb img {
	transform: scale(1.1) translateY(-4%);
}

/**
 * Абстрактная сетка
 */

/**
 * Каталог категорий товаров
 */

.categories-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 20px 10px;
	-ms-grid-columns: (minmax(280px, 1fr))[auto-fit];
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/**
 * Сетка коллекций товаров
 **/

.collections-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 20px 10px;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

/**
 * Сетка товаров
 */

.products-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 30px 20px;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

/**
 * Каталог брендов
 */

.manufacturers-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 1.5rem 1rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

/**
 * Сетка последних новостей
 */

.latest-events-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 40px 20px;
}

/**
 * Список документов для скачивания
 */

.dl-docs-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 1rem 20px;
}

/**
 * Сетка преимуществ
 */

.advantages-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 1.5rem;
}

/**
 * Каталог проектов
 */

.projects-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 10px;
}

/**
 * Каталог новостей
 */

.events-grid {
	display: block;
}

.events-grid > * + * {
	margin-top: 1.5rem;
}

/**
 * Каталог статей
 */

.articles-grid {
	display: -ms-grid;
	display:     grid;

	grid-gap: 20px;
}

/**
 * Сетка фотогалереи
 */

.gallery-grid {
	display: -ms-grid;
	display:     grid;

	--grid-gap: 5px;
	--grid-template-columns: repeat(3, 1fr);
	grid-gap: var(--grid-gap);
	-ms-grid-columns: var(--grid-template-columns);
	grid-template-columns: var(--grid-template-columns);
}

/**
 * Главный слайдер
 */

.front-slider {
	position: relative;
}

.front-slider .slider-slide {
	position: relative;

	height: 150px;
}

.front-slider .slider-slide .info {
	position: absolute;
	top: 50%;
	left: 1rem;

	width: 75%;
	padding: 1rem;

	transform: translateY(-50%);

	border-radius: .3125rem;
	background: #fc0;
}

.front-slider .slider-slide .info .title {
	font-size: 1.25rem;
	font-weight: 700;
}

.front-slider .swiper-container {
	border-radius: .9375rem;
}

.front-slider .swiper-button-prev,
.front-slider .swiper-button-next {
	position: absolute;
	top: 50%;

	transform: translateY(-50%);
}

.front-slider .swiper-button-prev {
	left: 1rem;
}

.front-slider .swiper-button-next {
	right: 1rem;
}

/**
 * Абстрактная карусель
 */

.abstract-carousel {
	position: relative;

	margin-right: -10px;
	margin-left: -10px;
}

.abstract-carousel .carousel-container {
	position: relative;

	overflow: hidden;

	padding-right: 10px;
	padding-left: 10px;
}

.abstract-carousel .swiper-container {
	overflow: visible;
}

.abstract-carousel .swiper-button-prev,
.abstract-carousel .swiper-button-next {
	position: absolute;
	top: 50%;

	display: none;
}

.abstract-carousel .swiper-button-prev {
	left: 0;

	transform: translateX(-50%) translateX(10px) translateY(-50%);
}

.abstract-carousel .swiper-button-next {
	right: 0;

	transform: translateX(50%) translateX(-10px) translateY(-50%);
}

.abstract-carousel .swiper-pagination {
	display: none;
}

/**
 * Карусель выполненных проектов
 */

.projects-carousel .swiper-slide {
	width: 100%;
}

.projects-carousel .project-card-area {
	position: relative;

	height: 320px;
}

.projects-carousel .project-card {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.projects-carousel .project-card .card-thumb {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
	padding-bottom: 0;
}

/**
 * Карусель миниатюр коллекции (используется в ее карточке)
 */

.thumbs-carousel {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
	margin: 0;
}

.thumbs-carousel .swiper-button-prev {
	left: 20px;
}

.thumbs-carousel .swiper-button-next {
	right: 20px;
}

.thumbs-carousel .swiper-button-prev,
.thumbs-carousel .swiper-button-next {
	visibility: hidden;

	opacity: 0;
}

.thumbs-carousel:hover .swiper-button-prev,
.thumbs-carousel:hover .swiper-button-next {
	visibility: visible;

	opacity: 1;
}

/**
 * Логотип Кератек
 */

.keratek-logo {
	display: inline-block;

	width: 160px;
}

.keratek-logo .desc {
	margin-top: 1em;

	font-size: 14px;
}

/**
 * Надпись Keratek с фоновым изображением
 */

.keratek-title {
	padding-bottom: 15.932%;

	background-image: url('../images/keratek-title.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	-webkit-mask-image: url('../images/keratek-title.svg');
	        mask-image: url('../images/keratek-title.svg');
}

/**
 * Форма поиска
 */

.search-form {
	display: -ms-flexbox;
	display: flex;

	transition: border-color 250ms ease-in-out;

	border-bottom: 1px solid rgba(0, 0, 0, .25);
	border-radius: 0;

	-ms-flex-align: center;
	align-items: center;
}

.search-form:focus-within {
	border-bottom-color: rgba(0, 0, 0, .25);
}

.search-form input[type='text'] {
	    flex: 1 1 auto;

	width: 100%;
	height: 2.5rem;
	margin: 0;
	padding: 0 .75em 0 0;

	border: 0;
	border-radius: 0;
	background: none;

	line-height: 1;

	-ms-flex: 1 1 auto;
}

.search-form button[type='submit'] {
	    flex: 0 0 auto;

	width: 2.5rem;
	height: 2.5rem;

	text-align: center;

	border-radius: 0;

	-ms-flex: 0 0 auto;
}

.search-form button[type='submit'] .svg-icon {
	display: inline-block;
}

/**
 * "Живой поиск" в шапке
 */

.live-search {
	position: relative;

	height: calc(2px + 2.625rem + 2px);
}

.live-search .search-container {
	overflow: hidden;

	border: 2px solid #fc0;
	border-radius: 1.3125rem;
	background: #fff;
}

.live-search form {
	display: -ms-flexbox;
	display: flex;

	transition: background-color 250ms ease-in-out;

	background: #f7f7f7;
}

.live-search form button,
.live-search form input {
	margin: 0;
	padding: 0;

	border: 0;
	border-radius: 0;
	outline: none;
	background: none;
}

.live-search form button {
	position: relative;

	    flex: 0 0 auto;

	width: 2.625rem;
	height: 2.625rem;

	transition: opacity 250ms ease-in-out;
	text-align: center;

	opacity: .75;

	-ms-flex: 0 0 auto;
}

.live-search form button:hover {
	opacity: 1;
}

.live-search form button .svg-icon {
	position: relative;
	top: -.1em;

	display: inline-block;

	width: 1.125rem;
	height: 1.125rem;
}

.live-search form input[type='text'] {
	    flex: 1 1 auto;

	height: 2.625rem;
	padding-left: 1rem;

	-ms-flex: 1 1 auto;
}

.live-search form [data-btn-microphone] {
	display: none;
}

.live-search .results a,
.live-search .results .partition {
	padding: .5em 1em;
}

.live-search .results .partition {
	opacity: .45;
}

.live-search .results a {
	display: block;

	text-decoration: none;

	color: inherit;
}

.live-search .results a:hover {
	background-color: #f7f7f7;
}

.live-search.has-voice-search form input[type='text'] {
	padding-left: 0;
}

.live-search.has-voice-search form [data-btn-microphone] {
	display: block;
}

.live-search.active form,
.live-search form:focus-within {
	background: #fff;
}

/**
 * Хлебные крошки
 */

.breadcrumbs {
	margin-bottom: 1.6rem;
}

.breadcrumbs ol {
	display: -ms-flexbox;
	display: flex;

	opacity: .7;

	font-size: 12px;
}

.breadcrumbs li:not(:last-child):after {
	margin: 0 .45em;

	content: '/';
}

.breadcrumbs a {
	color: inherit;
}

/**
 * Переключатель страниц
 */

.pagination {
	display: -ms-flexbox;
	display: flex;

	text-align: center;

	font-weight: 700;
	line-height: 2.25rem;

	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.pagination li a,
.pagination li span {
	display: block;

	padding: 0 .45em;

	text-decoration: none;

	color: inherit;
}

.pagination li a:hover {
	color: #0652dd;
}

.pagination li.active span {
	width: 2.25rem;

	color: #000;
	border-radius: 100%;
	background: #f0e6dd;
}

.pagination li + li {
	margin-left: .65em;
}

/**
 * Информер "Местоположение" (в верхнем блоке страницы)
 **/

.location-informer {
	opacity: .75;
}

.location-informer .svg-icon {
	width: .8125rem;
	height: 1rem;
	margin-right: .45em;
}

/**
 * "Быстрые контакты" (в шапке)
 */

.quick-contacts {
	display: -ms-flexbox;
	display: flex;

	line-height: 1;

	-ms-flex-align: center;
	align-items: center;
}

.quick-contacts .info {
	margin-right: 1.25rem;
}

.quick-contacts .phone {
	margin-bottom: .15em;

	font-size: 1.25rem;
	font-weight: 700;
}

.quick-contacts .worktime {
	margin-top: .9em;

	opacity: .65;

	font-size: .8rem;
}

/**
 * Панель инструментов с сервисами магазина (Избранное и Корзина в шапке)
 */

.shop-service-toolbar {
	display: -ms-flexbox;
	display: flex;
}

.shop-service-toolbar > * + * {
	margin-left: 2rem;
}

/**
 * Этаж (раздел) страницы
 */

.breadcrumbs + .page-stage {
	padding-top: 0;
}

.page-stage:last-child {
	padding-bottom: 0;
}

.page-substage {
	position: relative;
}

.page-substage-primary {
	z-index: 499;
}

.page-substage:not(:first-child) {
	margin-top: 2.5rem;
}

.page-headline + .page-substage {
	margin-top: 0 !important;
}

/**
 * О компании
 */

.about-company .col-text {
	padding-top: 5vh;
	padding-bottom: 5vh;
}

.about-company .col-text .title {
	margin-bottom: 1.5em;
}

.about-company .col-text .more {
	margin-top: 2.5rem;
}

.about-company .col-image .image-area {
	position: relative;

	display: -ms-flexbox;
	display: flex;

	height: 100%;
}

.about-company .col-image img {
	border-radius: .9375rem;
}

/**
 * Горизонтальный параллакс логотипов брендов при скролле страницы
 **/

.brands-parallax {
	overflow: hidden;
}

.brands-parallax .images {
	display: -ms-grid;
	display:     grid;

	grid-gap: 2rem;
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
}

.brands-parallax .images li {
	position: relative;

	padding-top: 25%;
}

/**
 * Контактная информация в футере и мобильном меню
 */

.contacts-info p {
	margin: .75em 0 0 0;
}

.contacts-info p:first-child {
	margin-top: 0;
}

.contacts-info .phone {
	font-size: 1.25em;
	font-weight: 700;
}

.contacts-info .phone + .phone {
	margin-top: 0;
}

/**
 * Галерея фото товара
 */

.product-photogallery {
	position: relative;

	padding-left: 70px;
}

.product-photogallery .thumbs {
	position: absolute;
	top: 0;
	left: 0;

	overflow: hidden;

	width: 60px;
	height: 100%;

	background: #eee;
}

.product-photogallery .thumbs a {
	position: relative;

	display: block;
	overflow: hidden;

	border-radius: .3125rem;
}

.product-photogallery .thumbs a.active:after {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';

	border: 3px solid #e24a3a;
	border-radius: .3125rem;
}

.product-photogallery .thumbs a + a {
	margin-top: 10px;
}

.product-photogallery .fullsize {
	overflow: hidden;
}

/**
 * Выпадающий фильтр (товары, производители)
 **/

.dropdown-filter {
	position: relative;
}

.dropdown-filter .filter-button {
	display: -ms-inline-flexbox;
	display: inline-flex;

	padding: .35em 1em;

	cursor: pointer;

	opacity: .7;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: .3125rem;

	line-height: 1.35;

	-ms-flex-align: center;
	align-items: center;
}

.dropdown-filter .filter-button .svg-icon {
	width: 10px;
	height: 10px;

	transition: transform 250ms ease-in-out;
}

.dropdown-filter .filter-button .custom-button {
	margin-left: .45em;
}

.dropdown-filter .filter-button .clear-button {
	visibility: hidden;

	color: inherit;
}

.dropdown-filter .filter-items {
	position: absolute;
	top: 100%;
	left: 0;

	visibility: hidden;

	padding-top: .85rem;

	transition: visibiliry 100ms ease-in-out, opacity 100ms ease-in-out;

	opacity: 0;
}

.dropdown-filter .filter-items .inner {
	border: 1px solid rgba(0, 0, 0, .15);
	background: #fff;
}

.dropdown-filter .filter-items .variants {
	overflow-y: auto;

	max-height: 295px;
	padding: 1.25rem 1rem 1.25rem 1rem;
}

.dropdown-filter .filter-items .summary {
	padding: 1rem 1rem 1.25rem 1rem;
}

.dropdown-filter .filter-items .summary .result {
	margin-bottom: .75em;

	opacity: .7;
}

.dropdown-filter:hover .filter-button,
.dropdown-filter.active .filter-button,
.dropdown-filter.checked .filter-button {
	opacity: 1;
	color: #fff;
	background-color: #000;
}

.dropdown-filter.active {
	z-index: 99;
}

.dropdown-filter.active .filter-button .dropdown-button .svg-icon {
	transform: rotate(180deg);
}

.dropdown-filter.active .filter-items {
	visibility: visible;

	opacity: 1;
}

.dropdown-filter.checked .clear-button {
	visibility: visible;
}

/**
 * Список чек-боксов или радио-кнопок
 */

.checks-list > li + li {
	margin-top: .9rem;
}

.checks-list label {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-align: center;
	align-items: center;
}

.checks-list label input {
	margin-right: .75em;
}

.checks-list label span {
	white-space: nowrap;

	font-size: 13px;
	line-height: 1;
}

/**
 * Панель инструментов каталога
 */

.catalog-toolbar {
	position: relative;
	z-index: 999;

	margin-bottom: 1rem;
}

.catalog-toolbar .toolbar-controls {
	padding: .75em 1.25em;

	border-radius: .3125rem;
	background: #eee;

	line-height: 1;
}

.catalog-toolbar .toolbar-controls .panel-group {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.catalog-toolbar .toolbar-controls .panel-group li {
	padding: .35em;

	transition: opacity 250ms ease-in-out;

	opacity: .7;
}

.catalog-toolbar .toolbar-controls .panel-group li:hover {
	opacity: 1;
}

.catalog-toolbar .toolbar-controls .panel-group li:not(:last-child) {
	margin-right: 1rem;
}

.catalog-toolbar .toolbar-panel {
	position: relative;
	z-index: 1000;

	display: none;

	padding-top: 1rem;
}

.catalog-toolbar .toolbar-panel .panel-inner {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.catalog-toolbar .toolbar-panel .panel-entry {
	width: auto;
	margin-bottom: 1rem;
}

.catalog-toolbar .toolbar-panel .panel-entry:not(:last-child) {
	margin-right: 1rem;
}

.catalog-toolbar .toolbar-panel.active {
	display: block;
}

.catalog-toolbar .toolbar-panel.singular {
	padding-top: 0;
}

/**
 * Инфо-поля новости (статьи)
 */

.article-info-fields {
	display: -ms-flexbox;
	display: flex;

	margin-bottom: _rem(15px);

	opacity: .5;
}

.article-info-fields li:not(:last-child) {
	margin-right: 1em;
}

.article-info-fields li.cat:before {
	margin-right: .45em;

	content: '#';
}

/**
 * Логотип производителя (на его странице)
 */

.manufacturer-logo {
	position: relative;

	padding: 1rem;

	background: #eee;
}

.manufacturer-logo img {
	display: block;

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

/**
 * Изображение с параллаксом при скролле
 */

.image-parallax {
	position: relative;

	overflow: hidden;

	padding-bottom: 66.66667%;
}

.image-parallax img {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	   object-fit: cover;
}

/**
 * Характеристики товара
 */

.product-attributes dl + dl {
	margin-top: .75em;
}

.product-attributes a {
	color: inherit;
}

/**
 * Кнопки заказа товара
 */

.product-order-buttons {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.product-order-buttons li:not(:last-child) {
	margin-right: 1.25rem;
}

/**
 * Цена товара
 */

.product-price .price-money {
	font-size: 1.875rem;
}

.product-price .price-money {
	font-weight: bold;
}

/**
 * Сообщение о наличии товара
 */

.product-stock-status {
	display: -ms-flexbox;
	display: flex;

	font-weight: 700;

	-ms-flex-align: center;
	align-items: center;
}

.product-stock-status .svg-icon {
	margin-right: .65em;

	color: #1f9d00;
}

/**
 * Карта
 */

.geo-map {
	position: relative;

	padding-bottom: 50%;
}

.geo-map > * {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

/**
 * Краткая информация о товаре в всплывающем окне заказа
 */

.product-infobox {
	display: -ms-flexbox;
	display: flex;

	-ms-flex-align: center;
	align-items: center;
}

.product-infobox .thumb {
	position: relative;

	overflow: hidden;
	    flex: 0 0 auto;

	width: 5rem;
	height: 5rem;
	margin-right: 1.5rem;

	border-radius: .3125rem;
	background: #eee;

	-ms-flex: 0 0 auto;
}

.product-infobox .title {
	font-weight: 700;
}

/**
 * Ссылка на мессенджеры с боку сайта
 */

.consultant-widget {
	position: fixed;
	z-index: 1001;
	bottom: 60px;
	left: 15px;

	width: 32px;
	height: 32px;
}

.consultant-widget .entry {
	display: block;

	width: 40px;
	height: 40px;
	margin: 0 auto;

	transition: transform 250ms ease-in-out;

	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

.consultant-widget .entry:hover {
	transform: scale(1.25);
}

.consultant-widget .entry-whatsapp {
	background-image: url('../images/consultant-whatsapp.svg');
}

.consultant-widget .entry + .entry {
	margin-top: 15px;
}

/**
 * Прогресс прокрутки страницы
 */

.progress-page {
	position: fixed;
	z-index: 1001;
	right: 15px;
	bottom: 60px;

	width: 46px;
	height: 46px;

	transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;
	transform: scale(.8);
	pointer-events: none;

	opacity: 0;
	border-radius: 50%;
}

.progress-page .scrolltotop {
	position: absolute;
	z-index: 4;
	right: 0;
	bottom: 40px;

	width: 46px;
	height: 46px;

	cursor: pointer;
	transition: opacity 250ms ease-in-out, bottom 250ms ease-in-out;

	opacity: 0;
}

.progress-page .scrolltotop.is-active.is-visible {
	bottom: 0;

	opacity: 1;
}

.progress-page .arrow-top {
	position: absolute;
	top: 16px;
	left: 19px;

	width: 8px;
	height: 8px;

	transform: rotate(135deg);

	border-bottom: 2px solid #b5291b;
	border-left: 2px solid #b5291b;
}

.progress-page .arrow-top-line {
	position: absolute;
	top: 16px;
	left: 50%;

	width: 2px;
	height: 16px;
	margin-left: -1px;

	background-color: #b5291b;
}

.progress-page .progress-circle {
	width: 100% !important;
	height: 100% !important;
}

.progress-page .progress-circle path {
	stroke-width: 3;
	fill: none;
	stroke: #b5291b;
}

/**
 * Всплывающий диалог
 */

.popup-dialog {
	padding: 20px;
}

.popup-dialog .dialog-head {
	margin-bottom: 1.25rem;
}

.popup-dialog .dialog-head .title {
	text-align: center;
	letter-spacing: .05em;

	font-size: 1.5rem;
	font-weight: 700;
}

.popup-dialog .dialog-head .close-btn {
	text-align: right;
}

.popup-dialog .dialog-head-line {
	display: -ms-flexbox;
	display: flex;

	margin-bottom: 2.5rem;
}

.popup-dialog .dialog-head-line .title {
	    flex: 1 1 auto;

	text-align: left;
	letter-spacing: 0;

	font-size: 1.875rem;

	-ms-flex: 1 1 auto;
}

.popup-dialog .dialog-head-line .title i {
	opacity: .45;

	font-style: normal;
}

.popup-dialog .dialog-head-line .close-btn {
	    flex: 0 0 auto;

	-ms-flex: 0 0 auto;
}

.popup-dialog .product-infobox {
	margin-bottom: 1.875rem;
}

.popup-dialog.is-success,
.popup-dialog.is-error {
	position: relative;

	overflow: hidden;
}

.popup-dialog.is-success:after,
.popup-dialog.is-error:after {
	position: absolute;
	right: 0;
	bottom: 0;

	width: 10rem;
	height: 10rem;

	content: '';
	transform: translate(35%, 35%);

	opacity: .35;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.popup-dialog.is-success:after {
	background-image: url('../images/popup-dialog-success.svg');
}

.popup-dialog.is-error:after {
	background-image: url('../images/popup-dialog-error.svg');
}

/**
 * Бейдж товара
 */

.product-badge {
	display: inline-block;

	padding: 0 1.5em;

	text-transform: uppercase;

	color: #fff;
	border-radius: .85em 0 .85em 0;
	background: #000;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.5rem;
}

/**
 * Список бейджей товара
 */

.product-badges-list > li + li {
	margin-top: .45rem;
}

/**
 * Текстовый блок
 */

.wysiwyg-area {
	position: relative;

	font-size: 1.125rem;
	line-height: 1.15;
}

.wysiwyg-area p:not(:last-child),
.wysiwyg-area ul:not(:last-child),
.wysiwyg-area ol:not(:last-child) {
	margin-bottom: .85em;
}

.wysiwyg-area ul,
.wysiwyg-area ol {
	margin: 0;
	padding: 0;
}

.wysiwyg-area ul li,
.wysiwyg-area ol li {
	overflow: hidden;

	padding-left: 1.5em;
}

.wysiwyg-area ul li:before,
.wysiwyg-area ol li:before {
	float: left;

	color: #e24a3a;
}

.wysiwyg-area ul li:not(:first-child),
.wysiwyg-area ol li:not(:first-child) {
	margin-top: .15em;
}

.wysiwyg-area ul li:before {
	width: 6px;
	height: 6px;
	margin-top: .35em;
	margin-left: -1.35em;

	content: '';

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

.wysiwyg-area ol {
	counter-reset: textblock-ol-li;
}

.wysiwyg-area ol li:before {
	margin-left: -1.5em;

	content: counter(textblock-ol-li) '.';
	counter-increment: textblock-ol-li;

	font-weight: 700;
}

.wysiwyg-area img {
	display: block;

	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.wysiwyg-area img.alignnone {
	max-width: 100%;
	height: auto;
}

.wysiwyg-area img.aligncenter {
	display: block;

	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.wysiwyg-area table {
	width: 100%;
}

.wysiwyg-area table th,
.wysiwyg-area table td {
	padding: .25em 1em;

	vertical-align: middle;

	border: 1px solid #454545;
}

.wysiwyg-area table th {
	padding-top: .5em;
	padding-bottom: .5em;

	text-align: center;

	font-weight: 700;
}

.wysiwyg-area .table-wrap {
	overflow: auto;
}

@media (min-width: 576px) {
	.pos-abs-sm-all {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		width: 100% !important;
		height: 100% !important;
	}

	.pos-abs-sm-center {
		position: absolute;
		top: 50%;
		left: 50%;

		width: 100%;

		transform: translate(-50%, -50%);
	}

	.media-object-sm-responsive {
		display: block;

		width: 100%;
		height: auto;
	}

	.media-object-sm-cover {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
	}

	.media-object-sm-cover-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-sm-contain {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
	}

	.media-object-sm-contain-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-sm-fit {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

	.media-object-sm-center-fit {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.m-sm-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.m-sm-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mt-sm-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
	}

	.mb-sm-gap {
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
	}

	.ml-sm-gap {
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.mr-sm-gap {
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
	}

	.mt-sm-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
	}

	.mb-sm-gap-half {
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
	}

	.ml-sm-gap-half {
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mr-sm-gap-half {
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
	}

	.mt-sm-gap-x2 {
		margin-top: 40px !important;
		margin-top: var(--g-gap-x2) !important;
	}

	.mb-sm-gap-x2 {
		margin-bottom: 40px !important;
		margin-bottom: var(--g-gap-x2) !important;
	}

	.ml-sm-gap-x2 {
		margin-left: 40px !important;
		margin-left: var(--g-gap-x2) !important;
	}

	.mr-sm-gap-x2 {
		margin-right: 40px !important;
		margin-right: var(--g-gap-x2) !important;
	}

	.mt-sm-gap-x3 {
		margin-top: 60px !important;
		margin-top: var(--g-gap-x3) !important;
	}

	.mb-sm-gap-x3 {
		margin-bottom: 60px !important;
		margin-bottom: var(--g-gap-x3) !important;
	}

	.ml-sm-gap-x3 {
		margin-left: 60px !important;
		margin-left: var(--g-gap-x3) !important;
	}

	.mr-sm-gap-x3 {
		margin-right: 60px !important;
		margin-right: var(--g-gap-x3) !important;
	}

	.mt-sm-0 {
		margin-top: 0 !important;
	}

	.mb-sm-0 {
		margin-bottom: 0 !important;
	}

	.ml-sm-0 {
		margin-left: 0 !important;
	}

	.mr-sm-0 {
		margin-right: 0 !important;
	}

	.p-sm-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.p-sm-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pt-sm-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
	}

	.pb-sm-gap {
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
	}

	.pl-sm-gap {
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.pr-sm-gap {
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
	}

	.pt-sm-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
	}

	.pb-sm-gap-half {
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
	}

	.pl-sm-gap-half {
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pr-sm-gap-half {
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
	}

	.pt-sm-gap-x2 {
		padding-top: 40px !important;
		padding-top: var(--g-gap-x2) !important;
	}

	.pb-sm-gap-x2 {
		padding-bottom: 40px !important;
		padding-bottom: var(--g-gap-x2) !important;
	}

	.pl-sm-gap-x2 {
		padding-left: 40px !important;
		padding-left: var(--g-gap-x2) !important;
	}

	.pr-sm-gap-x2 {
		padding-right: 40px !important;
		padding-right: var(--g-gap-x2) !important;
	}

	.pt-sm-gap-x3 {
		padding-top: 60px !important;
		padding-top: var(--g-gap-x3) !important;
	}

	.pb-sm-gap-x3 {
		padding-bottom: 60px !important;
		padding-bottom: var(--g-gap-x3) !important;
	}

	.pl-sm-gap-x3 {
		padding-left: 60px !important;
		padding-left: var(--g-gap-x3) !important;
	}

	.pr-sm-gap-x3 {
		padding-right: 60px !important;
		padding-right: var(--g-gap-x3) !important;
	}

	.pt-sm-0 {
		padding-top: 0 !important;
	}

	.pb-sm-0 {
		padding-bottom: 0 !important;
	}

	.pl-sm-0 {
		padding-left: 0 !important;
	}

	.pr-sm-0 {
		padding-right: 0 !important;
	}
}

@media all and (min-width: 576px) {
	.site-toolbar .ui-btn-toolbar {
		margin: 0 1rem;
	}

	.products-grid {
		grid-gap: 30px 20px;
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
	}

	.manufacturers-grid {
		grid-gap: 1.5rem 1.5rem;
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
	}

	.latest-events-grid {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}

	.articles-grid {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}

	.projects-carousel .swiper-slide {
		width: 50%;
	}

	.keratek-logo {
		width: 200px;
	}

	.brands-parallax .images {
		grid-gap: 3rem;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.catalog-toolbar .toolbar-controls {
		display: -ms-flexbox;
		display: flex;

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

@media all and (min-width: 768px) {
	:root {
		--g-gap: 20px;
		--g-gap-half: 10px;
		--g-gap-x2: 40px;
		--g-gap-x3: 60px;
		--g-gap-neg: -20px;
		--g-gap-half-neg: -10px;
	}

	html,
	body {
		font-size: 14px;
		line-height: 1.2;
	}

	.gi-1,
	.git-1 {
		padding-top: 1.25rem;
	}

	.gi-1,
	.gib-1 {
		padding-bottom: 1.25rem;
	}

	.go-1,
	.got-1 {
		margin-top: 1.25rem;
	}

	.go-1,
	.gob-1 {
		margin-bottom: 1.25rem;
	}

	.gi-2,
	.git-2 {
		padding-top: 2.5rem;
	}

	.gi-2,
	.gib-2 {
		padding-bottom: 2.5rem;
	}

	.go-2,
	.got-2 {
		margin-top: 2.5rem;
	}

	.go-2,
	.gob-2 {
		margin-bottom: 2.5rem;
	}

	.gi-3,
	.git-3 {
		padding-top: 3.75rem;
	}

	.gi-3,
	.gib-3 {
		padding-bottom: 3.75rem;
	}

	.go-3,
	.got-3 {
		margin-top: 3.75rem;
	}

	.go-3,
	.gob-3 {
		margin-bottom: 3.75rem;
	}

	.gi-4,
	.git-4 {
		padding-top: 5rem;
	}

	.gi-4,
	.gib-4 {
		padding-bottom: 5rem;
	}

	.go-4,
	.got-4 {
		margin-top: 5rem;
	}

	.go-4,
	.gob-4 {
		margin-bottom: 5rem;
	}

	.gi-5,
	.git-5 {
		padding-top: 6.25rem;
	}

	.gi-5,
	.gib-5 {
		padding-bottom: 6.25rem;
	}

	.go-5,
	.got-5 {
		margin-top: 6.25rem;
	}

	.go-5,
	.gob-5 {
		margin-bottom: 6.25rem;
	}

	.gi-6,
	.git-6 {
		padding-top: 7.5rem;
	}

	.gi-6,
	.gib-6 {
		padding-bottom: 7.5rem;
	}

	.go-6,
	.got-6 {
		margin-top: 7.5rem;
	}

	.go-6,
	.gob-6 {
		margin-bottom: 7.5rem;
	}

	.gi-7,
	.git-7 {
		padding-top: 8.75rem;
	}

	.gi-7,
	.gib-7 {
		padding-bottom: 8.75rem;
	}

	.go-7,
	.got-7 {
		margin-top: 8.75rem;
	}

	.go-7,
	.gob-7 {
		margin-bottom: 8.75rem;
	}

	.gi-8,
	.git-8 {
		padding-top: 10rem;
	}

	.gi-8,
	.gib-8 {
		padding-bottom: 10rem;
	}

	.go-8,
	.got-8 {
		margin-top: 10rem;
	}

	.go-8,
	.gob-8 {
		margin-bottom: 10rem;
	}

	.gi-9,
	.git-9 {
		padding-top: 11.25rem;
	}

	.gi-9,
	.gib-9 {
		padding-bottom: 11.25rem;
	}

	.go-9,
	.got-9 {
		margin-top: 11.25rem;
	}

	.go-9,
	.gob-9 {
		margin-bottom: 11.25rem;
	}

	.gi-10,
	.git-10 {
		padding-top: 12.5rem;
	}

	.gi-10,
	.gib-10 {
		padding-bottom: 12.5rem;
	}

	.go-10,
	.got-10 {
		margin-top: 12.5rem;
	}

	.go-10,
	.gob-10 {
		margin-bottom: 12.5rem;
	}

	.line-height-text {
		line-height: 1.3;
	}

	.line-height-lg {
		line-height: 1.4;
	}

	.line-height-xl {
		line-height: 1.5;
	}

	h1,
	.h1 {
		font-size: 2.75rem;
	}

	h2,
	.h2 {
		font-size: 2.50rem;
	}

	h3,
	.h3 {
		font-size: 2.25rem;
	}

	h4,
	.h4 {
		font-size: 2.00rem;
	}

	h5,
	.h5 {
		font-size: 1.75rem;
	}

	h6,
	.h6 {
		font-size: 1.50rem;
	}

	textarea {
		height: 6em;
	}

	.ui-btn-rect .caption {
		padding: 1em 2.25em;
	}

	.ui-btn-rect-sm .caption {
		padding: .45em 1.5em;
	}

	.ui-btn-direction-round {
		display: block;

		width: 3.125rem;
		height: 3.125rem;
	}

	.site-header {
		--gap: 1rem;
	}

	.buttons-nav a {
		padding-right: 2.5em;
		padding-left: 2.5em;
	}

	.categories-nav .menu {
		display: block;
	}

	.categories-nav .menu li {
		margin-right: 0;
	}

	.categories-nav .menu li + li {
		margin-top: .75em;
	}

	.stage-headline {
		margin-bottom: 2.5rem;
	}

	.stage-headline-bordered {
		padding-bottom: 1.75rem;
	}

	.collection-card .card-body .manufacturer {
		font-size: 1.125rem;
	}

	.collection-card .card-body .price {
		font-size: 1.125rem;
	}

	.product-card .price {
		font-size: 1.125rem;
	}

	.custom-teaser-card .card-thumb {
		margin-bottom: 1rem;
	}

	.event-card .title {
		font-size: 1.75rem;
	}

	.article-card .title {
		font-size: 1.75rem;
	}

	.categories-grid {
		grid-gap: 20px;
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
	}

	.collections-grid {
		grid-gap: 40px 20px;
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
	}

	.products-grid {
		grid-gap: 30px 20px;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.manufacturers-grid {
		grid-gap: 1.5rem 2rem;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.dl-docs-grid {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}

	.advantages-grid {
		grid-gap: 2.25rem 1.875rem;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;
	}

	.projects-grid {
		grid-gap: 20px;
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}

	.events-grid > * + * {
		margin-top: 3rem;
	}

	.gallery-grid {
		--grid-gap: 20px;
	}

	.gallery-grid-4 {
		--grid-template-columns: repeat(4, 1fr);
	}

	.gallery-grid-5 {
		--grid-template-columns: repeat(5, 1fr);
	}

	.front-slider .slider-slide {
		height: 240px;
	}

	.front-slider .slider-slide .info {
		left: 5.5rem;

		width: 30rem;
	}

	.front-slider .slider-slide .info .title {
		font-size: 1.45rem;
	}

	.abstract-carousel .swiper-pagination {
		display: block;
	}

	.projects-carousel {
		margin-right: -10px;
		margin-left: -10px;
	}

	.projects-carousel .carousel-container {
		padding: 0;
	}

	.projects-carousel .swiper-slide {
		padding-right: 10px;
		padding-left: 10px;
	}

	.projects-carousel .project-card-area {
		height: 370px;
	}

	.brands-parallax .images {
		grid-gap: 4rem;
		-ms-grid-columns: (1fr)[6];
		grid-template-columns: repeat(6, 1fr);
	}

	.product-photogallery {
		padding-left: 100px;
	}

	.product-photogallery .thumbs {
		width: 80px;
	}

	.catalog-toolbar {
		margin-bottom: 1.5rem;
	}

	.manufacturer-logo {
		padding: 0 0 100% 0;
	}

	.manufacturer-logo .wrap {
		position: absolute;
		top: 1rem;
		right: 2rem;
		bottom: 1rem;
		left: 2rem;
	}

	.manufacturer-logo img {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.consultant-widget {
		right: 15px;
		bottom: 120px;
		left: auto;

		width: 46px;
	}

	.progress-page.is-active.is-visible {
		transform: scale(1);
		pointer-events: visible;

		opacity: 1;
	}

	.popup-dialog {
		padding: 2.75rem;
	}

	.wysiwyg-area {
		line-height: 1.35;
	}

	.wysiwyg-area img.alignleft {
		float: left;

		margin: 0 15px 10px 0;
	}

	.wysiwyg-area img.alignright {
		float: right;

		margin: 0 0 10px 15px;
	}
}

@media (min-width: 768px) {
	.pos-abs-md-all {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		width: 100% !important;
		height: 100% !important;
	}

	.pos-abs-md-center {
		position: absolute;
		top: 50%;
		left: 50%;

		width: 100%;

		transform: translate(-50%, -50%);
	}

	.media-object-md-responsive {
		display: block;

		width: 100%;
		height: auto;
	}

	.media-object-md-cover {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
	}

	.media-object-md-cover-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-md-contain {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
	}

	.media-object-md-contain-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-md-fit {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

	.media-object-md-center-fit {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.m-md-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.m-md-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mt-md-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
	}

	.mb-md-gap {
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
	}

	.ml-md-gap {
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.mr-md-gap {
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
	}

	.mt-md-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
	}

	.mb-md-gap-half {
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
	}

	.ml-md-gap-half {
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mr-md-gap-half {
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
	}

	.mt-md-gap-x2 {
		margin-top: 40px !important;
		margin-top: var(--g-gap-x2) !important;
	}

	.mb-md-gap-x2 {
		margin-bottom: 40px !important;
		margin-bottom: var(--g-gap-x2) !important;
	}

	.ml-md-gap-x2 {
		margin-left: 40px !important;
		margin-left: var(--g-gap-x2) !important;
	}

	.mr-md-gap-x2 {
		margin-right: 40px !important;
		margin-right: var(--g-gap-x2) !important;
	}

	.mt-md-gap-x3 {
		margin-top: 60px !important;
		margin-top: var(--g-gap-x3) !important;
	}

	.mb-md-gap-x3 {
		margin-bottom: 60px !important;
		margin-bottom: var(--g-gap-x3) !important;
	}

	.ml-md-gap-x3 {
		margin-left: 60px !important;
		margin-left: var(--g-gap-x3) !important;
	}

	.mr-md-gap-x3 {
		margin-right: 60px !important;
		margin-right: var(--g-gap-x3) !important;
	}

	.mt-md-0 {
		margin-top: 0 !important;
	}

	.mb-md-0 {
		margin-bottom: 0 !important;
	}

	.ml-md-0 {
		margin-left: 0 !important;
	}

	.mr-md-0 {
		margin-right: 0 !important;
	}

	.p-md-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.p-md-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pt-md-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
	}

	.pb-md-gap {
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
	}

	.pl-md-gap {
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.pr-md-gap {
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
	}

	.pt-md-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
	}

	.pb-md-gap-half {
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
	}

	.pl-md-gap-half {
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pr-md-gap-half {
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
	}

	.pt-md-gap-x2 {
		padding-top: 40px !important;
		padding-top: var(--g-gap-x2) !important;
	}

	.pb-md-gap-x2 {
		padding-bottom: 40px !important;
		padding-bottom: var(--g-gap-x2) !important;
	}

	.pl-md-gap-x2 {
		padding-left: 40px !important;
		padding-left: var(--g-gap-x2) !important;
	}

	.pr-md-gap-x2 {
		padding-right: 40px !important;
		padding-right: var(--g-gap-x2) !important;
	}

	.pt-md-gap-x3 {
		padding-top: 60px !important;
		padding-top: var(--g-gap-x3) !important;
	}

	.pb-md-gap-x3 {
		padding-bottom: 60px !important;
		padding-bottom: var(--g-gap-x3) !important;
	}

	.pl-md-gap-x3 {
		padding-left: 60px !important;
		padding-left: var(--g-gap-x3) !important;
	}

	.pr-md-gap-x3 {
		padding-right: 60px !important;
		padding-right: var(--g-gap-x3) !important;
	}

	.pt-md-0 {
		padding-top: 0 !important;
	}

	.pb-md-0 {
		padding-bottom: 0 !important;
	}

	.pl-md-0 {
		padding-left: 0 !important;
	}

	.pr-md-0 {
		padding-right: 0 !important;
	}
}

@media all and (min-width: 992px) {
	:root {
		--g-gap: 30px;
		--g-gap-half: 15px;
		--g-gap-x2: 60px;
		--g-gap-x3: 90px;
		--g-gap-neg: -30px;
		--g-gap-half-neg: -15px;
	}

	html,
	body {
		font-size: 16px;
		line-height: 1.35;
	}

	.line-height-text {
		line-height: 1.4;
	}

	.line-height-lg {
		line-height: 1.5;
	}

	.line-height-xl {
		line-height: 1.6;
	}

	.container {
		padding-right: 5%;
		padding-left: 5%;
	}

	.site-header {
		box-shadow: none;
	}

	.site-header .header-col {
		    flex: 0 0 auto;

		margin-left: 20px;
		margin-left: var(--gap);

		-ms-flex: 0 0 auto;
	}

	.site-header .header-col:first-child {
		margin-left: 0;
	}

	.site-header .header-col-search {
		    flex: 1 1 auto;

		width: auto;

		-ms-flex: 1 1 auto;
	}

	.collection-card .card-thumb {
		margin-bottom: 20px;
	}

	.products-grid {
		grid-gap: 40px 100px;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.manufacturers-grid {
		grid-gap: 2rem 2.5rem;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.latest-events-grid {
		grid-gap: 20px;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.advantages-grid {
		-ms-grid-columns: 1fr 1fr 1fr;
		grid-template-columns: 1fr 1fr 1fr;
	}

	.articles-grid {
		grid-gap: 30px;
	}

	.front-slider .slider-slide {
		height: 320px;
	}

	.abstract-carousel .swiper-button-prev,
	.abstract-carousel .swiper-button-next {
		display: block;
	}

	.abstract-carousel .swiper-pagination {
		display: none;
	}

	.projects-carousel .swiper-slide {
		width: 33.333%;
	}

	.projects-carousel .swiper-slide-1 {
		width: 66.667%;
	}

	.projects-carousel .project-card-area {
		height: 420px;
	}

	.brands-parallax .images {
		grid-gap: 5rem;
		-ms-grid-columns: (1fr)[6];
		grid-template-columns: repeat(6, 1fr);
	}

	.product-attributes dl {
		display: -ms-flexbox;
		display: flex;
	}

	.product-attributes dt {
		    flex: 0 0 auto;

		width: 45%;

		-ms-flex: 0 0 auto;
	}

	.product-attributes dd {
		    flex: 1 1 auto;

		-ms-flex: 1 1 auto;
	}

	.consultant-widget {
		right: 30px;
		bottom: 100px;
	}

	.progress-page {
		right: 30px;
		bottom: 30px;
	}

	.wysiwyg-area {
		line-height: 1.45;
	}
}

@media (min-width: 992px) {
	.pos-abs-lg-all {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		width: 100% !important;
		height: 100% !important;
	}

	.pos-abs-lg-center {
		position: absolute;
		top: 50%;
		left: 50%;

		width: 100%;

		transform: translate(-50%, -50%);
	}

	.media-object-lg-responsive {
		display: block;

		width: 100%;
		height: auto;
	}

	.media-object-lg-cover {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
	}

	.media-object-lg-cover-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-lg-contain {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
	}

	.media-object-lg-contain-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-lg-fit {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

	.media-object-lg-center-fit {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.m-lg-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.m-lg-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mt-lg-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
	}

	.mb-lg-gap {
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
	}

	.ml-lg-gap {
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.mr-lg-gap {
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
	}

	.mt-lg-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
	}

	.mb-lg-gap-half {
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
	}

	.ml-lg-gap-half {
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mr-lg-gap-half {
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
	}

	.mt-lg-gap-x2 {
		margin-top: 40px !important;
		margin-top: var(--g-gap-x2) !important;
	}

	.mb-lg-gap-x2 {
		margin-bottom: 40px !important;
		margin-bottom: var(--g-gap-x2) !important;
	}

	.ml-lg-gap-x2 {
		margin-left: 40px !important;
		margin-left: var(--g-gap-x2) !important;
	}

	.mr-lg-gap-x2 {
		margin-right: 40px !important;
		margin-right: var(--g-gap-x2) !important;
	}

	.mt-lg-gap-x3 {
		margin-top: 60px !important;
		margin-top: var(--g-gap-x3) !important;
	}

	.mb-lg-gap-x3 {
		margin-bottom: 60px !important;
		margin-bottom: var(--g-gap-x3) !important;
	}

	.ml-lg-gap-x3 {
		margin-left: 60px !important;
		margin-left: var(--g-gap-x3) !important;
	}

	.mr-lg-gap-x3 {
		margin-right: 60px !important;
		margin-right: var(--g-gap-x3) !important;
	}

	.mt-lg-0 {
		margin-top: 0 !important;
	}

	.mb-lg-0 {
		margin-bottom: 0 !important;
	}

	.ml-lg-0 {
		margin-left: 0 !important;
	}

	.mr-lg-0 {
		margin-right: 0 !important;
	}

	.p-lg-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.p-lg-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pt-lg-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
	}

	.pb-lg-gap {
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
	}

	.pl-lg-gap {
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.pr-lg-gap {
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
	}

	.pt-lg-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
	}

	.pb-lg-gap-half {
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
	}

	.pl-lg-gap-half {
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pr-lg-gap-half {
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
	}

	.pt-lg-gap-x2 {
		padding-top: 40px !important;
		padding-top: var(--g-gap-x2) !important;
	}

	.pb-lg-gap-x2 {
		padding-bottom: 40px !important;
		padding-bottom: var(--g-gap-x2) !important;
	}

	.pl-lg-gap-x2 {
		padding-left: 40px !important;
		padding-left: var(--g-gap-x2) !important;
	}

	.pr-lg-gap-x2 {
		padding-right: 40px !important;
		padding-right: var(--g-gap-x2) !important;
	}

	.pt-lg-gap-x3 {
		padding-top: 60px !important;
		padding-top: var(--g-gap-x3) !important;
	}

	.pb-lg-gap-x3 {
		padding-bottom: 60px !important;
		padding-bottom: var(--g-gap-x3) !important;
	}

	.pl-lg-gap-x3 {
		padding-left: 60px !important;
		padding-left: var(--g-gap-x3) !important;
	}

	.pr-lg-gap-x3 {
		padding-right: 60px !important;
		padding-right: var(--g-gap-x3) !important;
	}

	.pt-lg-0 {
		padding-top: 0 !important;
	}

	.pb-lg-0 {
		padding-bottom: 0 !important;
	}

	.pl-lg-0 {
		padding-left: 0 !important;
	}

	.pr-lg-0 {
		padding-right: 0 !important;
	}
}

@media all and (min-width: 1200px) {
	:root {
		--g-gap: 30px;
		--g-gap-half: 15px;
		--g-gap-x2: 60px;
		--g-gap-x3: 90px;
		--g-gap-neg: -30px;
		--g-gap-half-neg: -15px;
	}

	.gi-1,
	.git-1 {
		padding-top: 1.5rem;
	}

	.gi-1,
	.gib-1 {
		padding-bottom: 1.5rem;
	}

	.go-1,
	.got-1 {
		margin-top: 1.5rem;
	}

	.go-1,
	.gob-1 {
		margin-bottom: 1.5rem;
	}

	.gi-2,
	.git-2 {
		padding-top: 3rem;
	}

	.gi-2,
	.gib-2 {
		padding-bottom: 3rem;
	}

	.go-2,
	.got-2 {
		margin-top: 3rem;
	}

	.go-2,
	.gob-2 {
		margin-bottom: 3rem;
	}

	.gi-3,
	.git-3 {
		padding-top: 4.5rem;
	}

	.gi-3,
	.gib-3 {
		padding-bottom: 4.5rem;
	}

	.go-3,
	.got-3 {
		margin-top: 4.5rem;
	}

	.go-3,
	.gob-3 {
		margin-bottom: 4.5rem;
	}

	.gi-4,
	.git-4 {
		padding-top: 6rem;
	}

	.gi-4,
	.gib-4 {
		padding-bottom: 6rem;
	}

	.go-4,
	.got-4 {
		margin-top: 6rem;
	}

	.go-4,
	.gob-4 {
		margin-bottom: 6rem;
	}

	.gi-5,
	.git-5 {
		padding-top: 7.5rem;
	}

	.gi-5,
	.gib-5 {
		padding-bottom: 7.5rem;
	}

	.go-5,
	.got-5 {
		margin-top: 7.5rem;
	}

	.go-5,
	.gob-5 {
		margin-bottom: 7.5rem;
	}

	.gi-6,
	.git-6 {
		padding-top: 9rem;
	}

	.gi-6,
	.gib-6 {
		padding-bottom: 9rem;
	}

	.go-6,
	.got-6 {
		margin-top: 9rem;
	}

	.go-6,
	.gob-6 {
		margin-bottom: 9rem;
	}

	.gi-7,
	.git-7 {
		padding-top: 10.5rem;
	}

	.gi-7,
	.gib-7 {
		padding-bottom: 10.5rem;
	}

	.go-7,
	.got-7 {
		margin-top: 10.5rem;
	}

	.go-7,
	.gob-7 {
		margin-bottom: 10.5rem;
	}

	.gi-8,
	.git-8 {
		padding-top: 12rem;
	}

	.gi-8,
	.gib-8 {
		padding-bottom: 12rem;
	}

	.go-8,
	.got-8 {
		margin-top: 12rem;
	}

	.go-8,
	.gob-8 {
		margin-bottom: 12rem;
	}

	.gi-9,
	.git-9 {
		padding-top: 13.5rem;
	}

	.gi-9,
	.gib-9 {
		padding-bottom: 13.5rem;
	}

	.go-9,
	.got-9 {
		margin-top: 13.5rem;
	}

	.go-9,
	.gob-9 {
		margin-bottom: 13.5rem;
	}

	.gi-10,
	.git-10 {
		padding-top: 15rem;
	}

	.gi-10,
	.gib-10 {
		padding-bottom: 15rem;
	}

	.go-10,
	.got-10 {
		margin-top: 15rem;
	}

	.go-10,
	.gob-10 {
		margin-bottom: 15rem;
	}

	.line-height-text {
		line-height: 1.5;
	}

	.line-height-lg {
		line-height: 1.6;
	}

	.line-height-xl {
		line-height: 1.75;
	}

	.font-size-md {
		font-size: 14px;
	}

	.modal-xl {
		max-width: 1200p;
	}

	textarea {
		height: 8em;
	}

	.ui-btn-rect .caption {
		padding: 1.35em 4.25em;
	}

	.ui-btn-rect-sm .caption {
		padding: .45em 1.5em;
	}

	.site-header {
		--gap: 3rem;
	}

	.pages-nav .menu > li + li {
		margin-left: 2.5rem;
	}

	.brands-nav .alphabet-item > a {
		padding-right: .75em;
		padding-left: .75em;
	}

	.buttons-nav a {
		padding-right: 4em;
		padding-left: 4em;
	}

	.stage-headline {
		margin-bottom: 3.75rem;
	}

	.stage-headline-bordered {
		padding-bottom: 2rem;
	}

	.collection-card .card-thumb {
		margin-bottom: 30px;
	}

	.latest-event-card .card-body .date {
		margin-bottom: 2em;
	}

	.article-card .title {
		font-size: 2rem;
	}

	.categories-grid {
		grid-gap: 30px;
	}

	.collections-grid {
		grid-gap: 60px 30px;
	}

	.products-grid {
		grid-gap: 50px 150px;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

	.manufacturers-grid {
		grid-gap: 2.5rem 3rem;
		-ms-grid-columns: (1fr)[5];
		grid-template-columns: repeat(5, 1fr);
	}

	.latest-events-grid {
		grid-gap: 30px;
	}

	.dl-docs-grid {
		-ms-grid-columns: (1fr)[3];
		grid-template-columns: repeat(3, 1fr);
	}

	.projects-grid {
		grid-gap: 30px;
	}

	.articles-grid {
		grid-gap: 50px 30px;
	}

	.gallery-grid {
		--grid-gap: 30px;
	}

	.front-slider .slider-slide {
		height: 360px;
	}

	.front-slider .slider-slide .info {
		left: 7.5rem;
	}

	.front-slider .slider-slide .info .title {
		font-size: 1.875rem;
	}

	.projects-carousel .project-card-area {
		height: 470px;
	}

	.brands-parallax .images {
		grid-gap: 6rem;
		-ms-grid-columns: (1fr)[8];
		grid-template-columns: repeat(8, 1fr);
	}

	.catalog-toolbar {
		margin-bottom: 2rem;
	}

	.wysiwyg-area {
		line-height: 1.65;
	}

	.wysiwyg-area ul li:before {
		margin-top: .55em;
	}
}

@media (min-width: 1200px) {
	.pos-abs-xl-all {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		width: 100% !important;
		height: 100% !important;
	}

	.pos-abs-xl-center {
		position: absolute;
		top: 50%;
		left: 50%;

		width: 100%;

		transform: translate(-50%, -50%);
	}

	.media-object-xl-responsive {
		display: block;

		width: 100%;
		height: auto;
	}

	.media-object-xl-cover {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
	}

	.media-object-xl-cover-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-xl-contain {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
	}

	.media-object-xl-contain-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-xl-fit {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

	.media-object-xl-center-fit {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.m-xl-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.m-xl-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mt-xl-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
	}

	.mb-xl-gap {
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
	}

	.ml-xl-gap {
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.mr-xl-gap {
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
	}

	.mt-xl-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
	}

	.mb-xl-gap-half {
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
	}

	.ml-xl-gap-half {
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mr-xl-gap-half {
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
	}

	.mt-xl-gap-x2 {
		margin-top: 40px !important;
		margin-top: var(--g-gap-x2) !important;
	}

	.mb-xl-gap-x2 {
		margin-bottom: 40px !important;
		margin-bottom: var(--g-gap-x2) !important;
	}

	.ml-xl-gap-x2 {
		margin-left: 40px !important;
		margin-left: var(--g-gap-x2) !important;
	}

	.mr-xl-gap-x2 {
		margin-right: 40px !important;
		margin-right: var(--g-gap-x2) !important;
	}

	.mt-xl-gap-x3 {
		margin-top: 60px !important;
		margin-top: var(--g-gap-x3) !important;
	}

	.mb-xl-gap-x3 {
		margin-bottom: 60px !important;
		margin-bottom: var(--g-gap-x3) !important;
	}

	.ml-xl-gap-x3 {
		margin-left: 60px !important;
		margin-left: var(--g-gap-x3) !important;
	}

	.mr-xl-gap-x3 {
		margin-right: 60px !important;
		margin-right: var(--g-gap-x3) !important;
	}

	.mt-xl-0 {
		margin-top: 0 !important;
	}

	.mb-xl-0 {
		margin-bottom: 0 !important;
	}

	.ml-xl-0 {
		margin-left: 0 !important;
	}

	.mr-xl-0 {
		margin-right: 0 !important;
	}

	.p-xl-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.p-xl-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pt-xl-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
	}

	.pb-xl-gap {
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
	}

	.pl-xl-gap {
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.pr-xl-gap {
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
	}

	.pt-xl-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
	}

	.pb-xl-gap-half {
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
	}

	.pl-xl-gap-half {
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pr-xl-gap-half {
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
	}

	.pt-xl-gap-x2 {
		padding-top: 40px !important;
		padding-top: var(--g-gap-x2) !important;
	}

	.pb-xl-gap-x2 {
		padding-bottom: 40px !important;
		padding-bottom: var(--g-gap-x2) !important;
	}

	.pl-xl-gap-x2 {
		padding-left: 40px !important;
		padding-left: var(--g-gap-x2) !important;
	}

	.pr-xl-gap-x2 {
		padding-right: 40px !important;
		padding-right: var(--g-gap-x2) !important;
	}

	.pt-xl-gap-x3 {
		padding-top: 60px !important;
		padding-top: var(--g-gap-x3) !important;
	}

	.pb-xl-gap-x3 {
		padding-bottom: 60px !important;
		padding-bottom: var(--g-gap-x3) !important;
	}

	.pl-xl-gap-x3 {
		padding-left: 60px !important;
		padding-left: var(--g-gap-x3) !important;
	}

	.pr-xl-gap-x3 {
		padding-right: 60px !important;
		padding-right: var(--g-gap-x3) !important;
	}

	.pt-xl-0 {
		padding-top: 0 !important;
	}

	.pb-xl-0 {
		padding-bottom: 0 !important;
	}

	.pl-xl-0 {
		padding-left: 0 !important;
	}

	.pr-xl-0 {
		padding-right: 0 !important;
	}
}

@media (min-width: 1600px) {
	.pos-abs-xxl-all {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;

		width: 100% !important;
		height: 100% !important;
	}

	.pos-abs-xxl-center {
		position: absolute;
		top: 50%;
		left: 50%;

		width: 100%;

		transform: translate(-50%, -50%);
	}

	.media-object-xxl-responsive {
		display: block;

		width: 100%;
		height: auto;
	}

	.media-object-xxl-cover {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
	}

	.media-object-xxl-cover-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-xxl-contain {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
	}

	.media-object-xxl-contain-top {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		height: 100%;

		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center top;
		   object-position: center top;
	}

	.media-object-xxl-fit {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
	}

	.media-object-xxl-center-fit {
		position: absolute;
		top: 50%;
		left: 50%;

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

		transform: translate(-50%, -50%);
	}

	.m-xxl-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.m-xxl-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mt-xxl-gap {
		margin-top: 20px !important;
		margin-top: var(--g-gap) !important;
	}

	.mb-xxl-gap {
		margin-bottom: 20px !important;
		margin-bottom: var(--g-gap) !important;
	}

	.ml-xxl-gap {
		margin-left: 20px !important;
		margin-left: var(--g-gap) !important;
	}

	.mr-xxl-gap {
		margin-right: 20px !important;
		margin-right: var(--g-gap) !important;
	}

	.mt-xxl-gap-half {
		margin-top: 10px !important;
		margin-top: var(--g-gap-half) !important;
	}

	.mb-xxl-gap-half {
		margin-bottom: 10px !important;
		margin-bottom: var(--g-gap-half) !important;
	}

	.ml-xxl-gap-half {
		margin-left: 10px !important;
		margin-left: var(--g-gap-half) !important;
	}

	.mr-xxl-gap-half {
		margin-right: 10px !important;
		margin-right: var(--g-gap-half) !important;
	}

	.mt-xxl-gap-x2 {
		margin-top: 40px !important;
		margin-top: var(--g-gap-x2) !important;
	}

	.mb-xxl-gap-x2 {
		margin-bottom: 40px !important;
		margin-bottom: var(--g-gap-x2) !important;
	}

	.ml-xxl-gap-x2 {
		margin-left: 40px !important;
		margin-left: var(--g-gap-x2) !important;
	}

	.mr-xxl-gap-x2 {
		margin-right: 40px !important;
		margin-right: var(--g-gap-x2) !important;
	}

	.mt-xxl-gap-x3 {
		margin-top: 60px !important;
		margin-top: var(--g-gap-x3) !important;
	}

	.mb-xxl-gap-x3 {
		margin-bottom: 60px !important;
		margin-bottom: var(--g-gap-x3) !important;
	}

	.ml-xxl-gap-x3 {
		margin-left: 60px !important;
		margin-left: var(--g-gap-x3) !important;
	}

	.mr-xxl-gap-x3 {
		margin-right: 60px !important;
		margin-right: var(--g-gap-x3) !important;
	}

	.mt-xxl-0 {
		margin-top: 0 !important;
	}

	.mb-xxl-0 {
		margin-bottom: 0 !important;
	}

	.ml-xxl-0 {
		margin-left: 0 !important;
	}

	.mr-xxl-0 {
		margin-right: 0 !important;
	}

	.p-xxl-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.p-xxl-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pt-xxl-gap {
		padding-top: 20px !important;
		padding-top: var(--g-gap) !important;
	}

	.pb-xxl-gap {
		padding-bottom: 20px !important;
		padding-bottom: var(--g-gap) !important;
	}

	.pl-xxl-gap {
		padding-left: 20px !important;
		padding-left: var(--g-gap) !important;
	}

	.pr-xxl-gap {
		padding-right: 20px !important;
		padding-right: var(--g-gap) !important;
	}

	.pt-xxl-gap-half {
		padding-top: 10px !important;
		padding-top: var(--g-gap-half) !important;
	}

	.pb-xxl-gap-half {
		padding-bottom: 10px !important;
		padding-bottom: var(--g-gap-half) !important;
	}

	.pl-xxl-gap-half {
		padding-left: 10px !important;
		padding-left: var(--g-gap-half) !important;
	}

	.pr-xxl-gap-half {
		padding-right: 10px !important;
		padding-right: var(--g-gap-half) !important;
	}

	.pt-xxl-gap-x2 {
		padding-top: 40px !important;
		padding-top: var(--g-gap-x2) !important;
	}

	.pb-xxl-gap-x2 {
		padding-bottom: 40px !important;
		padding-bottom: var(--g-gap-x2) !important;
	}

	.pl-xxl-gap-x2 {
		padding-left: 40px !important;
		padding-left: var(--g-gap-x2) !important;
	}

	.pr-xxl-gap-x2 {
		padding-right: 40px !important;
		padding-right: var(--g-gap-x2) !important;
	}

	.pt-xxl-gap-x3 {
		padding-top: 60px !important;
		padding-top: var(--g-gap-x3) !important;
	}

	.pb-xxl-gap-x3 {
		padding-bottom: 60px !important;
		padding-bottom: var(--g-gap-x3) !important;
	}

	.pl-xxl-gap-x3 {
		padding-left: 60px !important;
		padding-left: var(--g-gap-x3) !important;
	}

	.pr-xxl-gap-x3 {
		padding-right: 60px !important;
		padding-right: var(--g-gap-x3) !important;
	}

	.pt-xxl-0 {
		padding-top: 0 !important;
	}

	.pb-xxl-0 {
		padding-bottom: 0 !important;
	}

	.pl-xxl-0 {
		padding-left: 0 !important;
	}

	.pr-xxl-0 {
		padding-right: 0 !important;
	}
}

@media all and (max-width: 767px) {
	.about-company .col-image {
		padding-right: 0;
	}

	.about-company .col-image img {
		border-radius: .9375rem 0 0 .9375rem;
	}

	.brands-parallax .images li + li + li + li + li + li + li + li + li + li {
		display: none;
	}

	.wysiwyg-area img.alignleft {
		display: block;

		margin: 10px auto;
	}

	.wysiwyg-area img.alignright {
		display: block;

		margin: 10px auto;
	}
}
