@font-face { 
    font-family: "Roboto";
    src: url(../fonts/Roboto-light.ttf);
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face { 
    font-family: "Roboto";
	src: url(../fonts/Roboto-Regular.ttf);
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face { 
	font-family: "Roboto";
	src: url(../fonts/Roboto-medium.ttf);
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face { 
	font-family: "Roboto";
	src: url(../fonts/Roboto-bold.ttf);
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
*{
	margin: 0;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*::-webkit-scrollbar{
	width: 12px;
	background: #ebebeb;
}
*::-webkit-scrollbar-thumb{
	background: #404040;
}
*::-webkit-scrollbar-thumb:hover{
	background: #dd042b;
	cursor: pointer;
}
body{
	font-family: "Roboto";
	margin: 0;
	padding: 0;
	background: #fff;
	-webkit-background-size: cover;
	background-size: cover;
	font-size: 15px;
	color: #242424;
}
img{
	max-width: 100%;
	height: auto;
}

a{
	text-decoration: none;
}
p{
	font-weight: 300;
}
textarea{
	resize: none;
	font-family: "Rubik";
}
input[type='number'] {
    -moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.container{
	width: 100%;
	max-width: 1260px;
	padding: 0 15px;
	margin: 0 auto;
	box-sizing: border-box;
}
.btn{
	background: #dd042b;
	color: #fff;
	border: 1px solid #dd042b;
	text-transform: uppercase;
	display: inline-block;
	text-align: center;
	outline: none;
	font-size: 14px;
	font-family: "roboto";
}
.btn:hover{
	cursor: pointer;
	transition: background .3s;
	background: #000;
	border-color: #000;
}
button{
	border: none;
	font-family: 'roboto';
}
.title-block{
	margin-bottom: 25px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.title{
	font-size: 30px;
	font-family: "roboto";
	line-height: 1;
	position: relative;
}
.title::after{
	content: '';
	display: block;
	width: 40px;
	height: 4px;
	background: #dd042b;
	margin-top: 20px;
}
.title span{
	font-size: 22px;
	font-weight: 500;
	color: #dd042b;
}
.title-text{
	font-size: 15px;
	line-height: 24px;
	/*margin-bottom: 70px;*/
	margin-bottom: 20px;
}
.title-block .btn{
	width: 190px;
	height: 50px;
	line-height: 48px;
}
input{
	font-family: 'roboto';
	color: #000;
}
header > img{
	width: 100%;
	position: relative;
	z-index: 99;
}
.light-img{
	display: none;
}
header.active .light-img{
	display: block;
}
header.active .dark-img{
	display: none;
}
.products{
	padding: 75px 0 0;
}
.info-items{
	justify-content: space-between;
	-webkit-background-size: cover;
	background-size: cover;
	position: relative;
}
.info-item{
	width: 33.3333%;
	padding: 25px 0 60px;
	max-width: 333px;
}
.info-item:hover{
	color: #fff;	
}
.info-item:hover .info-item-bg{
	display: block;	
}
.info-item:hover p{
	color: #fff;
}
.info-item-bg{
	position: absolute;
	left: -3%;
	top: 0;
	z-index: -1;
	width: 35.333%;
	display: none;
	min-height: 270px;
	-webkit-background-size: cover;
	background-size: cover;
}
.info-item:nth-child(2) .info-item-bg{
	left: 32.3333%;
	width: 35.3333%;
}
.info-item:nth-child(3) .info-item-bg{
	left: 66.66666%;
	width: 35.3333%;
	right: -3%;
}
.info-item-img{
	margin-bottom: 12px;
}
.info-item h4{
	font-size: 18px;
	line-height: 26px;
	margin-bottom: 10px;
	font-weight: 500;
}
.info-item p{
	color: #666666;
	font-size: 14px;
	line-height: 22px;
}
.product-slider{
	background: #f3f3f3;
	padding: 30px 0;
	position: relative;
}

.product-item{
	background: #fff;
	padding: 15px;
	position: relative;
	padding-bottom: 80px;
	border: 1px solid #e7e8ea;
}
.product-item-img{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 300px;
}
.product-item-img:hover{
	cursor: pointer;
	opacity: .8;
}
.product-caption{
	position: absolute;
	padding: 25px 15px 0;
	width: 100%;
	left: 0;
	text-align: center;
	bottom: 25px;
	max-height: 80px;
	overflow: hidden;
	background: #fff;
	height: 100%;
	transition: max-height .3s;
}
.product-item:hover .product-caption{
	max-height: 115px;
	transition: max-height .3s;
}
.product-caption h4 a{
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	line-height: 26px;
	text-transform: uppercase;
	margin-bottom: 3px;
}
.product-caption h4 a:hover{
	color: #dd042b;
}
.product-caption p{
	font-size: 15px;
	line-height: 22px;
	color: #666;
}
.product-caption a.more{
	font-size: 15px;
	line-height: 22px;
	color: #dd042b;
	font-weight: 700;
	display: inline-block;
	border-bottom: 1px solid #dd042b;
	margin-top: 15px;
}
.product-caption a.more:hover{
	border-bottom: none;
}

footer{
	padding: 50px 0;
	background: #222222;
	color: #fff;
	font-weight: 300;
}
footer > .flex{
	justify-content: space-between;
}
footer span{
	opacity: .5;
}
.footer-logo{
	width: 315px;
	margin-top: -7px;
}
.footer-logo > img{
	margin-bottom: 50px;
}
.footer-social{
	max-width: 175px;
	justify-content: space-between;
}
.footer-social a{
	display: inline-block;
	width: 20px;
	height: 20px;
}
.footer-social a:hover{
	opacity: .8;
}
.footer-social-vk{
	background: transparent url(../img/vk.png) center no-repeat;
}
.footer-social-in{
	background: transparent url(../img/in.png) center no-repeat;
}
.footer-social-fb{
	background: transparent url(../img/fb.png) center no-repeat;
}
.footer-contacts{
	width: 315px;
}
.footer-mail{
	padding-left: 25px;
	background: transparent url(../img/mail.png) 0 center no-repeat;
	align-items: center;
	margin-bottom: 17px;
}
.footer-mail span{
	opacity: 1;
	margin-right: 8px;
}
.footer-mail a{
	color: #dd042b;
	border-bottom: 1px solid #dd042b;
}
.footer-mail a:hover{
	border-bottom-color: transparent;
}
.footer-phone span{
	display: block;
}
.footer-phone a{
	font-size: 18px;
	color: #fff;
	margin-top: 5px;
	margin-bottom: 15px;
	display: inline-block;	
	border-bottom: 1px solid transparent;
}
.footer-phone a:hover{
	border-bottom: 1px solid #fff;
}
.footer-contacts a.btn{
	width: 170px;
	height: 44px;
	line-height: 42px;
}
.footer-work{
	width: 315px;
}
.footer-work span{
	display: block;
	margin-bottom: 10px;
}
.footer-work p{
	line-height: 26px;
}
.footer-last {
	width: 285px;
}
.footer-last span{
	margin-bottom: 10px;
	display: block;
}
.footer-last p{
	line-height: 26px;
}
.top{
	position: absolute;
	top: 35px;
	width: 100%;
}
.top .container{
	position: relative;
	height: 60px;
	align-items: center;
}
.switch {
	position: absolute;
	align-items: flex-start;
	z-index: 100;
}
.switch label{
	margin-top: 3px;
	height: 35px;
	align-items: center;
	position: relative;
}
.switch p.on{
	text-align: center;
	display: none;
	color: #000;
}
.switch p.off{
	text-align: center;
	color: #fff;
}
.switch input { 
	display: none;
}
.switch span {
	height: 20px;
	display: block;
	position: relative;
	cursor: pointer;
	width: 100%;
	background: #fff;
	-webkit-transition: .4s;
	transition: .4s;
	border-radius: 7px;
	width: 65px;
	height: 23px;
	margin-right: 15px;
}
.switch span:before {
	position: absolute;
	content: "";
	height: 21px;
	width: 31px;
	left: 1px;
	top: 1px;
	background: #e5e5e5 url(../img/switch.png) center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	-webkit-transition: .4s;
	transition: .4s;
	border-radius: 5px;
	z-index: 2;
}
.switch span:after {
	position: absolute;
	content: "";
	height: 21px;
	width: 31px;
	right: 1px;
	top: 1px;
	background: transparent url(../img/off.png) center no-repeat;
	-webkit-transition: .3s;
	transition: .3s;
	border-radius: 5px;
	z-index: 1;
}
.switch input:checked + span:before {
	-webkit-transform: translateX(32px);
	-ms-transform: translateX(32px);
	transform: translateX(32px);
}
.switch input:checked + span:after {
	background: transparent url(../img/on.png) center no-repeat;
	-webkit-transform: translateX(-31px);
	-ms-transform: translateX(-31px);
	transform: translateX(-31px);
}
.switch input:checked ~ p.off{
	display: none;
}
.switch input:checked ~ p.on{
	display: block;
}
.logo{
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 100;
}
header{
	position: relative;
}
.header-bottom {
	position: absolute;
	bottom: 30px;
	width: 100%;
	text-align: center;
	z-index: 99;
}
.header-bottom img{
	display: block;
	margin: 0 auto 20px;
}
.header-bottom img.sc{
	-webkit-animation: toBottom 1.5s infinite;
	-o-animation: toBottom 1.5s infinite;
	animation: toBottom 1.5s infinite;
	position: relative;
}
.modal{
	max-width: 420px;
	margin: 0 auto;
	padding: 35px;
	background: #fff;
	position: relative;
}
.modal .mfp-close{
	background: transparent url(../img/close.png) center no-repeat;
	font-size: 0;
	width: 14px;
	height: 14px;
	right: 12px;
	top: 12px;
}
.modal-title{
	font-size: 30px;
	line-height: 1;
	margin-bottom: 20px;
}
.pod-title{
	font-size: 14px;
	font-weight: 300;
	line-height: 22px;
	margin-bottom: 20px;
}
.modal label {
	margin-bottom: 25px;
	display: block;
}
.modal label input{
	width: 100%;
	border: none;
	height: 42px;
	line-height: 18px;
	padding-left: 24px;
	border-bottom: 1px solid #e5e5e5;
	font-size: 14px;
	font-weight: 300;
	color: #000;
}
.modal label input:focus{
	border-bottom-color: #dd042b;
}
.modal label input::placeholder{
	color: #666666;
}
.modal label input.input-phone{
	background: transparent url(../img/phone.png) 0 center no-repeat;
}
.modal label input.input-name{
	background: transparent url(../img/user.png) 0 center no-repeat;
}
.modal label.confirm{
	font-size: 14px;
	font-weight: 300;
	margin-bottom: 30px;
}
.modal label.confirm input{
	display: none;
}
.modal label.confirm span{
	width: 15px;
	display: inline-block;
	height: 15px;
	border: 1px solid #000;
	margin-right: 10px;
	position: relative;
	top: 2px;
}
.modal label.confirm a{
	color: #000;
	font-weight: 500;
}
.modal label.confirm a:hover{
	border-bottom: 1px solid #000;
}
.modal label.confirm input:checked + span{
	background: #d72e35 url(../img/check.png) center no-repeat;
	border-color: #d72e35;
	-webkit-background-size: 9px 7px;
	background-size: 9px 7px
}
.modal .btn{
	height: 48px;
	line-height: 46px;
	width: 190px;
}
.modal.modal-pol{
	max-width: 725px;
	padding-bottom: 15px;
}
.modal.modal-pol .title{
	font-size: 24px;
}
.modal.modal-success{
	text-align: center;
}
.modal.modal-success .title{
	font-size: 24px;
}
.banner{
	position: absolute;
	top: 180px;
	width: 100%;
	max-width: 450px;
	left: 0;
	padding: 60px;
	padding-right: 15px;
	background-repeat: no-repeat;
	background-color: #fff;
	background-position: right 95%;
}
.banner h2{
	font-size: 30px;
	line-height: 1;
	margin-bottom: 20px;
}
.banner h3{
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	margin-bottom: 12px;
}
.banner p{
	font-size: 14px;
	font-weight: 300;
	max-width: 285px;
	line-height: 22px;
	margin-bottom: 35px;
}
.banner p a{
	color: #dd042b;
}
.banner .btn{
	width: 190px;
	height: 50px;
	line-height: 48px;
}
.dark-bg{
	background: rgba(0, 0, 0, 0.9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 99;
}
@-webkit-keyframes toBottom {
	0% {
		top: 0px;
	}
	50% {
		top: 10px;
	}
	100% {
		top: 0px;
	}
}

@keyframes toBottom {
	0% {
		top: 0px;
	}
	50% {
		top: 10px;
	}
	100% {
		top: 0px;
	}
}
@media (max-width: 1260px){
	.info-item-bg{
		left: 0;
		width: 33.333%;
	}
	.info-item:nth-child(2) .info-item-bg{
		left: 33.3333%;
		width: 33.3333%;
	}
	.info-item:nth-child(3) .info-item-bg{
		left: 66.66666%;
		width: 33.3333%;
		right: unset;
	}
	.info-item{
		margin: 0 auto;
	}
}
@media (max-width: 1200px){
	.info-item{
		width: 31.333%;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.product-caption{
		max-height: 115px;
	}
	.banner{
		display: none;
	}
}
@media (max-width: 992px){
	.header-bottom{
		bottom: 15px;
	}
	.info-item-bg{
		min-height: 310px;
		-webkit-background-size: cover;
		background-size: cover;
		background-position: center;
	}

}
@media (max-width: 768px){
	.info-items, footer > .flex{
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.info-item{
		width: 46%;
		margin-top: 15px;
	}
	.info-item-bg{
		left: 0;
		width: 50%;
		min-height: 280px;
	}
	.info-item:nth-child(2) .info-item-bg{
		left: 50%;
		width: 50%;
	}
	.info-item:nth-child(3) .info-item-bg{
		left: 25%;
		width: 50%;
		top: 310px;
	}
	footer > .flex > *{
		width: 48%;
		margin-bottom: 20px;
	}
}
@media (max-width: 600px){
	.info-item{
		width: 100%;
		margin-top: 0;
		margin-bottom: 0px;
		padding-top: 0;
		margin-left: 0;
	}
	.info-item-bg{
		display: none;
	}
	.title-block{
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.title{
		font-size: 24px;
		margin-bottom: 15px;
	}
	.title-text{
		font-size: 14px;
	}
	.switch p.on,
	.switch p.off{
		display: none;
		opacity: 0;
	}
	.switch{
		top: 0;
	}
	.logo{
		margin-right: 0;
		margin-left: auto;
		max-width: 90px;
	}
	.header-bottom{
		display: none;
	}
	.modal{
		padding: 25px;
	}
	.modal-title{
		font-size: 24px;
	}
}
@media (max-width: 480px){
	.title{
		font-size: 24px;
	}
	footer > .flex > *{
		width: 100%;
	}
}
