@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Moul&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

html {
	overflow-y: scroll;
	overflow-x: hidden;
	background: #2C2C2C;
}
body {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #fff;
	background: #2C2C2C;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1440px;
}
@media (max-width:950px){
	body {
		padding-top: 100px;
	}
}
* {
	outline: none;
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a {
	text-decoration: none;
	color: #fff;
}
a:hover {
	color: var(--yellow-color);;
}
h1, .h1 {
	font-weight: 500;
	font-size: 28px;
	margin: 0 auto 30px;
	text-align: center;
}
h2, .h2 {
	font-weight: 500;
	font-size: 30px;
	line-height: 64px;
	text-align: center;
	margin: 20px 0;
	text-transform: uppercase;
}
h3, .h3 {
	font-weight: 700;
	font-size: 20px;
	text-align: center;
}
h2 a, h3 a {
	color:#000;
}
@media (max-width:1350px){
	h2 {
		font-size: 20px;
		line-height: 44px;
	}
}
@media (max-width:950px){
	h1, .h1 {
		font-size:24px;
		padding:0 20px;
		margin:0 auto 20px;
	}
	h2, .h2 {
		font-size:24px;
	}
}

textarea,
select, 
input[type="tel"],
input[type="email"],
input[type="text"],
input[type="submit"] {
	width: 100%;
	margin: 10px 0;
	padding: 13px 20px;
	color: #000;
	border-radius: 10px;
}
input[type="submit"] {
	text-align: center;
}
textarea {
	resize: none;
}
@media (max-width:950px){
	textarea,
	select, 
	input[type="email"],
	input[type="text"] {
		padding: 12px 10px 9px;
	}
}
input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus:-moz-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus:-ms-input-placeholder {
	color: transparent;
}
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none; margin: 0;
}  

p, li {
	line-height:150%;
}
video,
img {
	max-width: 100%;
	height: auto;
}
iframe {
	border: 0;
	max-width: 100%;
}
b, strong, .strong {
	font-weight: 700;
}
.clearfix {
	clear: both;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.hidden {
	display: none !important;
}
.overflow {
	max-width: 100%;
	overflow-x: auto;
}
.inline {
	display: inline-block;
	vertical-align: middle;
}
.large-text {
	font-size: 16px;
}
.relative {
	position: relative;
}

@media (min-width:950px){
	.nowrap {
		white-space: nowrap;
	}
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.flex-nowrap {
	flex-wrap: nowrap;
}
.flex-left {
	justify-content: flex-start;
}
.flex-top {
	align-items: flex-start;
}
.flex-bottom {
	align-items: flex-end;
}
.flex-center {
	justify-content: center;
}
.flex-stretch {
	align-items: stretch;
}
.flex-2 > * {
	width: 49%;
}
.flex-3 > * {
	width: 32%;
}
.flex-4 > * {
	width: 24%;
}
@media (min-width:950px){
	.mobile-only {
		display: none !important;
	}
}
@media (max-width:950px){
	.desktop-only {
		display: none !important;
	}
	.flex, 
	.flex- > div {
		margin: 0;
	}
	.flex-2 > * {
		width: 100%;
	}
	.flex-3 > *,
	.flex-4 > * {
		width: 49%;
	}
}
@media (max-width:600px){
	.flex-2 > *,
	.flex-3 > *,
	.flex-4 > * {
		width: 100%;
	}
}

.grid-3 {
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-column-gap: 2%;
}
.grid-4 {
	display:grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-column-gap: 2%;
}
@media (max-width:950px){
	.grid-3 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-column-gap: 2%;
	}
	.grid-3 {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-column-gap: 2%;
	}
}
@media (max-width:600px){
	.grid-3,
	.grid-4 {
		display: block;
		width: 100%;
	}
}

table {
	border: solid 1px #aaa;
	border-collapse: collapse;
}
table th {
	text-align: left;
}
table th,
table td {
	padding: 10px;
	border: solid 1px #aaa;
}

.table {
	display: table;
	width: 100%;
}
.table > div {
	display: table-row;
}
.table > div > div {
	display: table-cell;
}
@media (max-width: 550px){
	.table,
	.table > div {
		display: block;
	}
	.table > div > div {
		display: inline-block;
	}
}


.no-scroll {
	overflow-y: hidden;
}

.alignleft {
	float: left;
	max-width: 45%;
	margin: 0 20px 20px 0;
}
.alignright {
	float: right;
	max-width: 45%;
	margin: 0 0 20px 20px;
}
.aligncenter {
	display: block;
	margin: auto;
}
@media (max-width: 950px){
	.alignleft,
	.alignright {
		float: none;
		max-width: 100%;
		margin: 0 0 20px 0;
	}
}

.container {
	margin: auto;
	width: 100%;
	max-width: 1170px;
}
@media (max-width:950px){
	.container {
		padding: 15px;
	}
}

.content-block {
	margin: 50px auto;
}

main {
	min-height: 70vh;
}

header {
	/*background-image: url(/images/home-banner.png);*/
	background-size: cover;
	background-position: center;
	height: 678px;
	position: relative;
}
header a {
	color: #fff;
}
header p,
footer p {
	margin: 0;
}
header .logo img,
footer .logo img {
	object-fit: contain;
	width: 182px;
	height: 84px;
	margin-right: 20px;
}
header .main-panel {
	width: calc(100% - 220px);
}
header .menu,
footer .menu {
	font-size: 22px;
	line-height: 26px;
	font-weight: 400;
	width: 70%;
}
footer .menu {
	width: 60%;
}
header .menu ul,
footer .menu ul {
	margin: 0;
	padding: 0;
}
header .menu ul li,
footer .menu ul li {
	margin: 0;
	padding: 0 15px;
	list-style-type: none;
}
header .home-banner {
	text-align: center;
	margin-bottom: 80px;
}
header .home-banner h1 {
	width: 100%;
	max-width: 735px;
	font-size: 48px;
	line-height: 64px;
	font-weight: 600;
	text-transform: uppercase;
	margin: 100px auto 60px;
}
header .home-banner p {
	text-align: center;
}
.color-button,
a[href="#callback"],
.callback {
	background: linear-gradient(90deg, #1700C5 0%, #E31E24 100%);
	border-radius: 90px;
	padding: 20px 30px;
	max-width: 435px;
	font-size: 22px;
	line-height: 26px;
	font-weight: 500;
	display: inline-block;
	cursor: pointer;
}
header .home-banner .callback {
	margin-bottom: 50px;
}
header .home-banner .owl-item img {
	display: block;
	margin: auto;
}
header .home-banner .owl-dots {
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	text-align: center;
}
@media (max-width:950px){
	header .top-panel {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 5;
		width: 100%;
		background: #2C2C2C;
		padding: 5px 15px;
	}
	header .menu-btn {
		font-size: 35px;
	}
	header .main-panel {
		position: fixed;
		top: 70px;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 90%;
		max-width: 400px;
		background: #2C2C2C;
		padding: 20px;
		align-content: flex-start;
		display: none;
	}
	header .menu ul {
		margin: 30px 0;
	}
	header .menu ul li,
	footer .menu ul li {
		padding: 10px 20px;
		list-style-type: none;
		display: block;
	}
	header .home-banner h1 {
		font-size: 31px;
		line-height: 38px;
		margin: 50px auto 40px;
	}
}
.home header {
	height: auto;
}
.page header {
	height: auto;
}
.page p {
	text-align: justify;
	width: 100%;
}

.advantages {
	margin: 40px auto 60px;
}
.advantages .item {
	text-align: center;
	border-radius: 20px;
	background: #fff;
	padding: 15px 5px;
}
.advantages .item h3 {
	text-transform: uppercase;
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	color: #222;
	height: 35px;
}
.advantages .item p {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	line-height: 19px;
	font-weight: 300;
	color: #6E6E6E;
	text-align: center;
}
@media (max-width:950px){
	.advantages .item {
		width: 49%;
		margin-bottom: 10px;
		font-size: 13px;
		line-height: 15px;
	}
	.advantages .item h3 {
		height: 50px;
		font-size: 18px;
		line-height: 22px;
	}
}

.owl-nav {
	position: absolute;
	z-index: 20;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 42px;
}
.owl-nav button {
	position: absolute;
	z-index: 21;
	background: #fff;
	border: solid 1px #1D00BD;
	border-radius: 100%;
	padding: 0px;
	width: 42px;
	text-align: center;
	font-size: 24px;
	line-height: 42px;
	color: #1D00BD;
	opacity: 0.7;
}
.owl-nav button:hover {
	opacity: 1;
}
.owl-nav button.owl-prev {
	left: 5px;
}
.owl-nav button.owl-next {
	right: 5px;
}

.our-works {
	margin: 0 auto;
	max-width: 1170px;
}
.our-works a {
	display: none;
}
.our-works img {
	height: 330px;
	object-fit: cover;
	object-position: center;
}
.our-works .owl-dots {
	margin: 20px 0;
	text-align: center;
}
.our-works .owl-dots button {
	margin: 10px;
	background: transparent;
	border: solid 2px #fff;
	border-radius: 100%;
	width: 10px;
	height: 15px;
}
.our-works .owl-dots button.active {
	background: #1D00BD;
}

.about {
	background: #fff;
	border-radius: 33px;
	padding: 30px 80px;
	color: #222;
	margin: 60px auto;
}
.about h2 {
	font-size: 30px;
	line-height: 64px;
	font-weight: 500;
}
.about p {
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	line-height: 34px;
	font-weight: 400;
}
.about img {
	object-fit: contain;
	width: 90px;
	height: 90px;
	margin: 20px;
}
@media (min-width:950px){
	.about .owl-nav.disabled {
		display: block !important;
	}
	.about .owl-nav .owl-prev {
		left: -40px;
		top: -10px;
	}
	.about .owl-nav .owl-next {
		right: -40px;
		top: -10px;
	}
}
@media (max-width:950px){
	.about {
		font-size: 20px;
		line-height: 30px;
		padding: 30px;
	}
	.about .owl-nav {
		display: none !important;
	}
}

.work-steps {
	position: relative;
}
.work-steps ol {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	counter-reset: subsection;
}
.work-steps ol li {
	margin: 0;
	padding: 120px 0 0;
	display: inline-block;
	width: 17%;
	text-align: center;
	font-size: 18px;
	line-height: 28px;
	font-weight: 500;
	position: relative;
}
.work-steps ol li:before {
	counter-increment: subsection;
	content: counter(subsection);
	display: inline-block;
	background: #E31E24;
	border-radius: 100%;
	font-family: 'Moul', sans-serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 100px;
	width: 100px;
	height: 100px;
	text-align: center;
	margin-bottom: 20px;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
	margin: auto;
}
.work-steps ol li:nth-child(5):before {
	background-color: #1D00BD;
	background-image: url(/images/icon-step.png);
	background-size: 55%;
	background-position: center;
	background-repeat: no-repeat;
	color: transparent;
}
@media (min-width:950px){
	.work-steps:before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 130px;
		width: 85%;
		margin: auto;
		border-bottom: dashed 1px #eee;
		height: 1px;
		z-index: 1;
	}
}
@media (max-width:950px){
	.work-steps ol {
		justify-content: center;
	}
	.work-steps ol li {
		width: 49%;
		padding-bottom: 50px;
	}
}

.products .item {
	width: 17%;
	background: #fff;
	border-radius: 15px;
	border: solid 3px #1D00BD;
	text-align: center;
	color: #222;
	margin-bottom: 10px;
}
.products .item .custom > * {
	padding: 15px;
}
.products .item a {
	color: #222;
	display: block;
}
.products .item p {
	font-size: 18px;
	line-height: 28px;
	font-weight: 500;
	margin: 0;
	text-align: center;
}
.products .item img {
	object-fit: contain;
	width: 80px;
	height: 80px;
	margin-bottom: 10px;
}
.products .item:hover {
	background: #1D00BD;
	border: solid 3px #fff;
	color: #fff;
}
.products .item:hover a {
	color: #fff;
}
.products .item:hover img {
	filter: invert(1);
}
@media (max-width:950px){
	.products .item {
		width: 49%;
	}
}

.home-info .clearfix {
	padding: 20px 0;
}
.home-info h3 {
	text-align: left;
	font-size: 28px;
	line-height: 28px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 25px;
}
.home-info ul {
	margin: 0;
	padding: 0;
	position: relative;
}
.home-info ul li {
	margin: 2px 0;
	padding: 0px;
	list-style-type: none;
	position: relative;
	font-family: 'Montserrat', sans-serif;
	text-align: left;
	font-size: 16px;
	line-height: 32px;
	font-weight: 400;
	color: #A3A3A3;
}
.home-info ul li:before {
	content: '';
	background: #E31E24;
	border: solid 1px #fff;
	border-radius: 100%;
	width: 9px;
	height: 9px;
	margin: 0 15px;
	display: inline-block;
}
.home-info .clearfix .images {
	width: 100%;
}
.home-info .clearfix .images p {
	margin: 0;
}
@media (min-width:950px){
	.home-info ul:after {
		content: '';
		width: 1px;
		height: 250px;
		border-left: solid 1px #565656;
		position: absolute;
		left: 0;
		top: 0;
	}
	.home-info .clearfix:nth-child(odd) .images {
		width: 475px;
		order: 1;
	}
	.home-info .clearfix:nth-child(odd) .text {
		width: calc(100% - 500px);
		order: 2;
	}
	.home-info .clearfix:nth-child(even) .images {
		width: 475px;
		order: 2;
	}
	.home-info .clearfix:nth-child(even) .text {
		width: calc(100% - 500px);
		order: 1;
	}
}
@media (max-width:950px){
	.home-info .clearfix img {
		margin: 0 0 15px 0;
	}
}

.variants {
	margin: 40px auto;
}
.variants h2 {
	margin: 0;
}
.variants h3 {
	color: #A3A3A3;
	font-size: 16px;
	line-height: 32px;
	font-weight: 400;
	margin: 0;
}
.variants .item {
	text-align: center;
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	text-transform: uppercase;
}
.variants .item img {
	max-width: 100%;
	height: 217px;
	object-fit: cover;
	border-radius: 15px;
}
@media (max-width:950px){
	.variants .item {
		width: 49%;
		font-size: 17px;
		line-height: 22px;
	}
}

.faq {
	margin: 40px auto 80px;
}
.faq .item {
	background: #565656;
	border-radius: 10px;
	text-align: left;
	margin-bottom: 20px;
	padding: 20px 30px;
	cursor: pointer;
}
.faq .item h3 {
	border-radius: 10px;
	font-size: 20px;
	line-height: 20px;
	font-weight: 400;
	text-align: left;
	margin: 0;
	position: relative;
}
.faq .item h3:after {
	content: '→';
	position: absolute;
	right: 0;
	top: 0;
	font-size: 35px;
}
/*
.faq .item.opened h3 {
	padding-bottom: 20px;
	border-bottom: solid 1px #8E8E8E;
}
*/
.faq .item.opened h3:after {
	content: '←';
}

.faq .item p {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	line-height: 26px;
	font-weight: 400;
}
.faq .item p:last-child {
	margin-bottom: 0;
}
@media (max-width:950px){
	.faq {
		margin: 40px auto 40px;
	}
}

.home-map {
	margin: 60px auto 40px;
}
.home-map .scheme {
	width: 100%;
	max-width: 560px;
}
.home-map .scheme img {
	max-height: 390px;
	width: auto;
}
.home-map .map {
	width: 100%;
	max-width: calc(100% - 570px);
}
.home-map p {
	margin: 0;
}
@media (max-width:950px){
	.home-map {
		margin: 30px auto 0;
	}
	.home-map .scheme {
		width: 100%;
		max-width: 100%;
	}
	.home-map .map {
		width: 100%;
		max-width: 100%;
	}
}

.footer-text {
	margin: 60px auto;
	font-family: 'Montserrat', sans-serif;
	text-align: left;
	font-size: 16px;
	line-height: 32px;
	font-weight: 400;
	color: #A3A3A3;
}

.sidebar-contacts {
	width: 260px;
}
.sidebar-contacts p {
	font-size: 18px;
	line-height: 21px;
	font-weight: 400;
	margin: 10px 0;
}
.sidebar-contacts .phone {
	font-size: 20px;
	line-height: 26px;
	font-weight: 700;
	margin: 10px 0;
}
.sidebar-contacts img {
	margin-right: 15px;
}

footer {
	background: #2C2C2C;
	padding-bottom: 30px;
}
footer .copyright {
	text-align: center;
	padding: 10px 30px 10px;
}
footer .copyright a {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	line-height: 18px;
	font-weight: 400;
	color: #858585;
	text-decoration: underline;
}
@media (max-width:950px){
	footer {
		text-align: center;
	}
	footer .sidebar-contacts,
	footer .menu {
		width: 100%;
		margin: 15px auto;
	}
	footer .logo {
		display: none;
	}
}

.modal {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 20;
	background: rgba(0,0,0,.5);
	display: none;
}
.modal > div {
	background: #fff;
	width: 100%;
	max-width: 810px;
	border-radius: 33px;
	padding: 30px;
	margin: 100px auto auto;
	text-align: center;
	position: relative;
}
.modal > div .close-btn {
	position: absolute;
	top: 20px;
	right: 30px;
	font-size: 30px;
	color: #CACACA;
	cursor: pointer;
}
.modal > div h2 {
	font-size: 30px;
	line-height: 64px;
	font-weight: 400;
	color: #1B1B1B;
	margin: 0;
}
.modal > div p {
	font-size: 20px;
	line-height: 24px;
	font-weight: 300;
	color: #6E6E6E;
	margin: 10px 0;
}
.modal > div form {
	margin: 10px 0 0;
}
.modal > div form textarea,
.modal > div form input[type="text"] {
	margin: 10px 0;
	border: none;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,.3);
}
.modal > div form input[type="text"].error-input {
	box-shadow: 0px 0px 15px 0px red;
}
.modal > div form input[type="submit"] {
	background: linear-gradient(90deg, #1700C5 0%, #E31E24 100%);
	border-radius: 90px;
	border: none;
	color: #fff;
	padding: 20px 30px;
	width: 100%;
	max-width: 435px;
	font-size: 22px;
	line-height: 26px;
	font-weight: 500;
}
.modal > div form input[type="text"]::-webkit-input-placeholder {
	color: #CACACA;
}
.modal > div form input[type="text"]:-moz-placeholder {
	color: #CACACA;
}
.modal > div form input[type="text"]::-moz-placeholder {
	color: #CACACA;
}
.modal > div form input[type="text"]:-ms-input-placeholder {
	color: #CACACA;
}
.modal > div form .accept {
	font-size: 14px;
	line-height: 17px;
	font-weight: 400;
	color: #ABABAB;
}
.modal > div form .accept a {
	text-decoration: underline;
	color: #ABABAB;
}

.notice-cookie {
	position: fixed;
	bottom: 2px;
	left: 0;
	right: 0;
	z-index: 200;
	padding: 20px 120px;
	background: #565656;
	display: none;
}
.notice-cookie p {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	line-height: 19px;
	font-weight: 400;
	color: #E3E3E3;
}
.notice-cookie .button {
	background: linear-gradient(90deg, #1700C5 0%, #E31E24 100%);
	border-radius: 90px;
	padding: 10px 30px;
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	text-transform: uppercase;
	color: #fff;
	display: inline-block;
}
@media (max-width:950px){
	.notice-cookie {
		bottom: 20px;
	}
	.notice-cookie {
		padding: 20px 20px;
	}
	.notice-cookie p {
		margin: 0 0 20px;
	}
}

.mod-breadcrumbs {
	padding: 0;
	margin-bottom: 30px;
	color: #9A9A9A;
	font-size: 16px;
	font-weight: 300;
	
}
.mod-breadcrumbs a {
	color: #9A9A9A;
}
.mod-breadcrumbs li {
	padding: 0;
	display: inline-block;
	list-style-type: none;
}
.mod-breadcrumbs li:first-child {
	display: none;
}
.mod-breadcrumbs li:not(:last-child):after {
	content: '→';
	padding: 0 10px;
	display: inline-block;
}

.vm-pagination ul {
	padding: 0;
	margin-bottom: 40px;
}
.vm-pagination ul li {
	padding: 0;
	margin: 10px;
	display: inline-block;
	list-style-type: none;
	color: #aaa;
}
.vm-pagination ul li a {
	color: #fff;
}

.category-view .row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-column-gap: 2%;
}

.category-view .category,
.row .product {
	background: #fff;
	border-radius: 5px;
	color: #000;
	vertical-align: top;
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
	padding: 20px;
	position: relative;
}
.row .product {
	padding: 20px 20px 60px;
}
.category-view .category a,
.row .product a {
	color: #000;
}
.category-view .category h2,
.row .product h2 {
	font-size: 20px;
	line-height: 24px;
	min-height: 6lh;
	overflow: hidden;
	text-transform: none;
	margin: 0;
}
.row .product h2 {
	margin: 0 0 20px;
}
.category-view .category img,
.row .product .vm-product-media-container img {
	object-fit: contain;
	width: 200px;
	height: 200px;	
}
@media (max-width: 1200px){
	.category-view .row {
		display:grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-column-gap: 2%;
	}
}
@media (max-width: 950px){
	.category-view .row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-column-gap: 2%;
	}
}
@media (max-width: 550px){
	.category-view .row {
		display: block;
	}
}

.category-view {
	margin-bottom: 40px;
}

.row .product .wm-price {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	font-size: 24px;
}
.row .product input,
.row .product .product-field {
	display: none;
}
.row .product .product-field.product-field-type-M {
	display: block;
}
.row .product .product-fields .product-field-display {
	width: 100%;
}
.row .product .product-fields {
	padding: 0;
	margin: 0;
}

.product-container h1 {
	text-align: left;
	margin-bottom: 30px;
	text-decoration: uppercase;
}

.vm-product-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.vm-product-container .vm-product-media-container {
	width: 476px;
}
.vm-product-container .vm-product-media-container .main-image {
	position: relative;
}
.vm-product-container .vm-product-media-container .main-image img {
	border-radius: 20px;
}
.vm-product-container .vm-product-media-container .main-image .nav-images {
	position: absolute;
	z-index: 20;
	top: 45%;
	width: 100%;
}
.vm-product-container .vm-product-media-container .main-image button {
	position: absolute;
	z-index: 21;
	background: #fff;
	border: solid 1px #1D00BD;
	border-radius: 100%;
	padding: 0px;
	width: 42px;
	text-align: center;
	font-size: 24px;
	line-height: 42px;
	color: #1D00BD;
	opacity: 0.7;
	cursor: pointer;
}
.vm-product-container .vm-product-media-container .main-image button:hover {
	opacity: 1;
}
.vm-product-container .vm-product-media-container .main-image button.nav-prev {
	left: 15px;
}
.vm-product-container .vm-product-media-container .main-image button.nav-next {
	right: 15px;
}
.vm-product-container .vm-product-media-container .additional-images img {
	border-radius: 8px;
	object-fit: cover;
	width: 76px;
	height: 71px;
	display: inline-block;
	margin: 5px;
}
.vm-product-container .vm-product-details-container {
	width: calc(100% - 550px);
}
@media (max-width: 950px){
	.vm-product-container .vm-product-details-container,
	.vm-product-container .vm-product-media-container {
		width: 100%;
	}
}

.additional-images {
	margin: 20px 0;
}

.product-alt {
	font-size: 16px;
	font-weight: 300;
	line-height: 20px;
	margin-top: 30px;
}

.product-buttons {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.product-buttons .price span {
	font-size: 38px;
	font-weight: 500;
	text-transform: uppercase;
}
.product-buttons .buy-button {
	background: linear-gradient(90deg, #1700C5 0%, #E31E24 100%);
	color: #fff;
	border-radius: 90px;
	font-size: 22px;
	text-transform: uppercase;
	padding: 14px 50px;
	cursor: pointer;
}
.product-buttons .buy-button.disabled {
	background: #666;
	cursor: not-allowed;
	pointer-events: none;
}

.product-modifications .product-table {
	margin: 0 0 20px 0;
	color: #fff;
	border-radius: 10px;
	border: solid 1px #fff;
	font-size: 16px;
	background: #8E8E8E;
}
.product-modifications .product-table .table {
	position: relative;
}
.product-modifications .product-table .table .header {
	position: sticky;
	left: 0;
	top: 0;
	width: 100%;
	background: #8E8E8E;
}
.product-modifications .product-table .table .header div,
.product-modifications .product-table .table .row div {
	border-radius: 10px;
	padding: 10px;
}
.product-modifications .product-table .w20 {
	width: 20%;
}
.product-modifications .product-table .w30 {
	width: 30%;
}
.product-modifications .product-table .w40 {
	width: 40%;
}
.product-modifications .product-table .w50 {
	width: 50%;
}
.product-modifications .product-table input[type="number"] {
	border: none;
	border-bottom: solid 1px #fff;
	background: transparent;
	color: #fff;
}
::placeholder {
	color: #C7C7C7;
}
@media (max-width: 550px){
	.product-modifications .product-table .w20,
	.product-modifications .product-table .w30,
	.product-modifications .product-table .w40,
	.product-modifications .product-table .w50 {
		width: 48%;
	}
	.product-modifications .product-table .header {
		display: none;
	}
}
@media (min-width: 550px){
	.product-modifications .product-table {
		max-height: 500px;
		overflow-y: auto;
	}
}

.product-colors h3 {
	text-align: left;
	font-size: 20px;
	font-weight: 400;
	margin: 0 0 10px;
}
.product-colors img {
	object-fit: cover;
	width: 53px;
	height: 53px;
	border-radius: 100%;
	margin: 0 15px 10px 0;
}

.product-fields {
	margin: 30px 0;
	background: #fff;
	color: #000;
	border-radius: 33px;
	padding: 20px 15px;
	font-size: 16px;
	width: 100%;
}
.product-fields .product-fields-tabs {
	font-size: 26px;
	font-weight: 500;
	text-transform: uppercase;
	color: #B6B6B6;
	margin-bottom: 10px;
	padding: 10px 20px;
}
.product-fields .product-fields-tabs div {
	display: inline-block;
	padding: 10px 40px 10px 0;
	margin-right: 15%;
	border-bottom: solid 1px transparent;
	cursor: pointer;
}
.product-fields .product-fields-tabs div.active {
	border-bottom: solid 1px #B60000;
	color: #000;
}
@media (max-width: 550px){
	.product-fields .product-fields-tabs {
		font-size: 22px;
		margin-bottom: 20px;
		padding: 10px;
	}
	.product-fields .product-fields-tabs div {
		display: inline-block;
		padding: 10px 20px 10px 20px;
		margin-right: 0;
	}
}

.product-fields .product-field {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.product-fields .product-field > * {
	padding: 12px 15px;
}
.product-fields .product-fields-title-wrapper {
	width: 30%;
	font-family: Montserrat;
	font-weight: 700;
	font-size: 20px;
}
.product-fields .product-field-display {
	width: 68%;
	font-family: Montserrat;
	font-weight: 500;
	font-size: 16px;
}
.product-fields .product-field-display p {
	margin: 0;
}
@media (max-width: 550px){
	.product-fields .product-field > * {
		padding: 8px 15px;
	}
	.product-fields .product-fields-title-wrapper {
		width: 100%;
	}
	.product-fields .product-field-display {
		width: 100%;
		margin-bottom: 20px;
	}
}

.product-price {
	display: none;
}

.vm-search-custom-search-input {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.vm-search-custom-search-input input[type="text"] {
	width: 75%;
}
.vm-search-custom-search-input input[type="submit"] {
	width: 24%;
}

.orderby-displaynumber,
.vm-details-button,
.display-number,
.vm-search-descr {
	display: none;
}

.pagenavigation,
.article-info {
	display: none;
}

#cart .table {
	width: 100%;
}
#cart .table > div > div {
	border: none;
	padding: 10px;
	display: inline-block;
	vertical-align: middle;
	font-weight: 400;
}
#cart .table .header {
	font-size: 18px;
	font-weight: 500px;
}
#cart .table .image {
	width: 80px;
}
#cart .table .image img {
	object-fit: cover;
	width: 50px;
	height: 50px;
}
#cart .table .name {
	width: calc(100% - 550px);
}
#cart .table .amount {
	width: 100px;
}
#cart .delete-btn {
	cursor: pointer;
}
@media (max-width: 550px){
	#cart .table .name {
		width: calc(100% - 100px);
	}
	#cart .table .amount {
		width: 30%;
	}
}

.page_souvenirs h1 {
	color: red;
	font-size: 30px;
	text-transform: uppercase;
}
.page_souvenirs main h2 {
	font-size: 30px;
	line-height: 46px;
	margin: 50px auto;
}
.page_souvenirs main a[href="#callback"] {
	margin: 20px auto 40px;
}
.page_souvenirs main section {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	background-image: url(/images/landing-back.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.page_souvenirs main section ul {
	width: 55%;
	padding: 0;
	margin: 0;
	border-radius: 20px;
}
.page_souvenirs main section > div {
	width: 55%;
}
.page_souvenirs main section > div a {
	background: linear-gradient(90deg, #1700C5 0%, #E31E24 100%);
	border-radius: 90px;
	padding: 15px 40px;
	margin: 0 0 30px 0;
	max-width: 435px;
	font-size: 22px;
	line-height: 26px;
	font-weight: 500;
	display: inline-block;
	cursor: pointer;
}
.page_souvenirs main section > div ul {
	width: 100%;
}
.page_souvenirs main section ul li {
	position: relative;
	text-align: left;
	list-style-type: none;
	padding: 25px 35px 25px 120px;
	margin: 0 0 30px 0;
	font-size: 20px;
	line-height: 27px;
	border-radius: 20px;
	background: #2A7B9B;
	background: linear-gradient(360deg, rgba(139, 99, 190, 1) 0%,  rgba(164, 145, 200, 1) 100%);
	position: relative;
}
.page_souvenirs main section ul li:after {
	content: "";
	background-image: url(/images/landing-point.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 35px;
	width: 50px;
	height: 50px;
}
.page_souvenirs main section.section3 ul li {
	margin-top: 60px;
}
.page_souvenirs main section.section3 ul li:nth-child(2):before {
	content: "БЕСПЛАТНО";
	color: red;
	position: absolute;
	top: -35px;
}
.page_souvenirs main section ul li strong {
	color: #000;
	display: block;
	font-weight: 500;
}
.page_souvenirs main section aside {
	width: 40%;
}
.page_souvenirs main section aside img {
	max-width: 100%;
	height: auto;
	border-radius: 20px;
}
@media (min-width: 950px){
	.page_souvenirs main section.section2 ul,
	.page_souvenirs main section.section4 ul {
		order: 2;
	}
	.page_souvenirs main section.section2 aside,
	.page_souvenirs main section.section4 aside {
		order: 1;
	}
	.page_souvenirs main section.section1 ul,
	.page_souvenirs main section.section3 ul {
		order: 1;
	}
	.page_souvenirs main section.section1 aside,
	.page_souvenirs main section.section3 aside {
		order: 2;
	}
}
@media (max-width: 950px){
	.page_souvenirs h1 {
		font-size: 24px;
	}
	.page_souvenirs main h2 {
		font-size: 24px;
		line-height: 26px;
	}
	.page_souvenirs main section ul li {
		font-size: 16px;
		line-height: 22px;
		margin: 0 0 15px 0;
		padding: 25px 35px 25px 100px;
	}
	.page_souvenirs main section ul li:after {
		left: 35px;
		width: 40px;
		height: 40px;
	}
	.page_souvenirs main section ul {
		width: 100%;
	}
	.page_souvenirs main section > div {
		width: 100%;
	}
	.page_souvenirs main section aside {
		width: 100%;
		margin-bottom: 20px;
	}
}

.search-field {
	position: relative;
	width: 100%;
}
.search-field div.layer {
	position: absolute;
	z-index: 110;
	padding: 20px 20px;
	width: 100%;
	max-height: 300px;
	overflow-y: auto;
	background-color: #fff;
	border-radius: 10px;
	border: solid 3px #aaa;
	display: none;
	color: #000;
}
.search-field div.layer a {
	text-decoration: none;
	color: #000;
}
.search-field div.layer .row {
	display: flex;
	justify-content: flex-start;
	align-content: flex-start;
}
.search-field div.layer .info {
	width: calc(100% - 70px);
}
.search-field div.layer img {
	object-fit: contain;
	height: 50px;
	width: 50px;
	margin-right: 10px;
}
.search-field div.layer h3 {
	margin: 5px 0;
}
.search-field input {
	padding: 13px 16px;
	margin: 5px 0;
	width: 100%;
	background-image: url(/images/icon_search2.png);
	background-position: 96.5% center;
	background-repeat: no-repeat;
	border: solid 1.5px #214894;
	border-radius: 5px;
	font-family: 'Montserrat Light';
	font-size: 14px;
	font-style: italic;
	font-weight: 300;
}
.search-field input::placeholder {
	color: #aaa;
}

.home-slider {
	font-size: 22px;
	font-weight: 600;
}
.home-slider .owl-dots {
	display: none;
}
.home-slider .owl-carousel .owl-stage {
	display: flex;
	align-items: stretch;
}
.home-slider .owl-carousel .owl-item {
	float: none;
}
.home-slider .owl-carousel .owl-item p,
.home-slider .owl-carousel .owl-item div,
.home-slider .owl-carousel .owl-item a {
	display: block;
	margin: 0;
	height: 100%;
}
.home-slider .owl-carousel .owl-item a img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}